* Enhanced kaoget.sh to accept and process directory links.
authorUrban Wallasch <urban.wallasch@freenet.de>
Sat, 24 Apr 2021 10:59:04 +0000 (12:59 +0200)
committerUrban Wallasch <urban.wallasch@freenet.de>
Sat, 24 Apr 2021 10:59:04 +0000 (12:59 +0200)
kaoget.sh

index 981c355490b0ac9ae12e8fd86aa69ab0187ae5d4..554e19683507e0fa3b5f1012cdfe7aa619e4948f 100755 (executable)
--- a/kaoget.sh
+++ b/kaoget.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 if [ -z "$1" ] ; then
   echo "ERROR: missing mandatory argument"
@@ -55,7 +55,7 @@ case $(basename $GETTER) in
     GENOPT="-c --retry-connrefused --auth-no-challenge --progress=bar"
     OUTOPT="-O"
     [ -n "$USER" ] && [ -n "$PASS" ] && HTTP_AUTH="--user=$USER --password=$PASS"
-    # NOTE: GNU Wget2 1.99.1 gives "Unknown option 'limit-rate'
+    # NOTE: GNU Wget2 1.99.1 --limit-rate is broken, option not implemented!
     #[ -n "$BWLDOWN" ] && BWLIM="--limit-rate=$BWLDOWN"
     ;;
 esac
@@ -66,13 +66,18 @@ case "$URL_FILE" in
     # Got an URL for the file parameter.
     TMP_FILE=$(mktemp kaoget_XXXX)
     case "$URL_FILE" in
+      *"&s=1&q="* )
+        # URL appears to point to a directory, fetch the listing!
+        URL_FILE="${URL_FILE%%&*}"
+        URL_FILE="${URL_FILE/leech.php/leechx.php/}&q=1&m=0"
+        $GETTER $GENOPT $HTTP_AUTH $OUTOPT "$TMP_FILE" "$URL_FILE$GET_AUTH"
+        ;;
       *"&q=1&m=0" )
         # URL appears to point to a generated listing, fetch it!
         $GETTER $GENOPT $HTTP_AUTH $OUTOPT "$TMP_FILE" "$URL_FILE$GET_AUTH"
         ;;
       * )
         # Otherwise, just store the URL verbatim.
-        echo "echo $URL_FILE > $TMP_FILE"
         echo "$URL_FILE" > $TMP_FILE
         ;;
     esac