Creare nuove estensioni
Come aggiungere estensioni personalizzate e sperimentali.
ZDL incorpora il codice che trova in tutti gli script bash con estensione .sh
nella
directory $HOME/.zdl/extensions/
Script bash di esempio:
if [[ "$url_in" =~ PATTERN ]] then url_in_file=$(sed -r 's|http://(.+)|http://USER:PASSWORD@\1|g' \ <<< "$url_in") file_in="NOME_DEL_FILE" max_dl=1 axel_parts=3 aria2_connections=3 end_extension fi
L'esempio può essere usato come modello per un link
riconosciuto attraverso una regex nel PATTERN.
Lo script modifica il link del download in $url_in
per ottenere l'URL del file in $url_in_file
,
aggiungendo USER e PASSWORD per accedere al server.
Inoltre, indica come ricavare il nome del file da scaricare
(variabile $file_in
) e aggiunge o modifica opzioni:
disattiva l'opzione --max-downloads= se applicata al comando
e stabilisce il numero di parti da scaricare con Axel (il
grado di accelerazione, che per default è 32 ma che per diversi server
può essere eccessivo o insufficiente, peggiorando le prestazioni)
e quello di Aria2 (massimo 16 connessioni). La funzione end_extension
verifica se esiste un file_in
e se url_in_file
è valido.
In questo modo, è possibile estendere ZDL ad altri servizi di file
hosting (anche a scopo sperimentale), aggiungere opzioni mirate e
personalizzate o implementare il funzionamento del programma,
utilizzando le variabili e le funzioni disponibili in ZDL senza
modificare il sorgente