diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..486a232
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+*.zip filter=lfs diff=lfs merge=lfs -text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1534ba5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.rpm
+*.log
+*spec-20*
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..48b187d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,21 @@
+# Makefile for source rpm: dl
+# $Id: Makefile,v 1.1 2021/04/18 16:00:51 jpp Exp $
+NAME := dl
+SPECFILE = $(firstword $(wildcard *.spec))
+
+define find-makefile-common
+for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
+endef
+
+MAKEFILE_COMMON := $(shell $(find-makefile-common))
+
+ifeq ($(MAKEFILE_COMMON),)
+# attept a checkout
+define checkout-makefile-common
+test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
+endef
+
+MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
+endif
+
+include $(MAKEFILE_COMMON)
diff --git a/README.md b/README.md
index 875000e..5059dff 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
# dl
-3rd Party (Maintained by Koozali) git repo for dl smecontribs
\ No newline at end of file
+3rd Party (Maintained by Koozali) git repo for dl smecontribs
+
+## Description
+
+
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
+*Once it has been checked, then this comment will be deleted*
+
diff --git a/contriborbase b/contriborbase
new file mode 100644
index 0000000..9b7fd51
--- /dev/null
+++ b/contriborbase
@@ -0,0 +1 @@
+contribs10
diff --git a/dl-0.18.1-add-in-help-html.patch b/dl-0.18.1-add-in-help-html.patch
new file mode 100644
index 0000000..2c8bac3
--- /dev/null
+++ b/dl-0.18.1-add-in-help-html.patch
@@ -0,0 +1,3252 @@
+diff -urN dl-0.18.1.old/htdocs/static/guide/de_DE/index.html dl-0.18.1/htdocs/static/guide/de_DE/index.html
+--- dl-0.18.1.old/htdocs/static/guide/de_DE/index.html 1970-01-01 01:00:00.000000000 +0100
++++ dl-0.18.1/htdocs/static/guide/de_DE/index.html 2017-09-06 17:09:36.000000000 +0100
+@@ -0,0 +1,467 @@
++
++
++
++
Inhalt
++ ++Rufen Sie die Webseite https://dl.example.com/ auf und melden Sie sich mit ++Ihrem Benutzernamen und Passwort an. Nach der Anmeldung erscheint die folgende ++Seite:
++Bei Verwendung der Standardeinstellungen hat der Empfänger eine Woche Zeit, um ++die Datei herunterzuladen, bevor diese automatisch gelöscht wird. Diese Frist ++kann jedoch geändert werden indem Sie die entsprechenden Parameter vor dem ++hochladen anpassen.
++Durch einen Klick auf "Aktive Tickets" am unteren Ende der Seite, kann die ++Liste der hochgeladenen Dateien eingesehen und einzelne Tickets verwaltet ++werden.
++Rufen Sie die Webseite https://dl.example.com/ auf und melden Sie sich mit ++Ihrem Benutzernamen und Passwort an. Nach der Anmeldung erscheint die folgende ++Seite:
++Der Empfänger braucht nach Erhalt der Upload-Erlaubnis den darin enthaltenen ++Link lediglich in einem Browser aufzurufen und die Anweisungen am Bildschirm zu ++befolgen. Sobald der Empfänger die Datei hochgeladen hat, wird Ihnen eine ++Bestätigungs-E-Mail mit einem Link zur hochgeladenen Datei zugeschickt.
++Vor dem Versand einer Datei ist es möglich die Verfallsfristen unter dem Abschnitt "Weitere Optionen" anzupassen.
++Wenn Sie möchten, dass die Datei nicht automatisch gelöscht wird, aktivieren ++Sie die Option "Ticket ohne Verfallsfrist ", die Sie unter "Weitere Optionen" ++finden. Die Datei wird dann solange zur Verfügung stehen, bis sie manuell ++gelöscht wird.
++Wenn Sie für jeden einzelnen Download einer Datei eine Meldung erhalten ++möchten, geben Sie Ihre E-Mail-Adresse im Feld "Bei Download folgende ++E-Mailadresse benachrichtigen" ein. Sie finden das Feld unter "Weitere ++Optionen".
++Frist in # Tagen:
++++Hier können Sie die maximale Anzahl von Tagen angeben, welche die gesendete ++Datei auf dem Server erhalten bleibt. Nach Ablauf dieser Frist wird die Datei ++automatisch gelöscht, unabhängig davon ob sie heruntergeladen wurde oder ++nicht.++
Frist in # Stunden, nach dem letzten Download:
++++++Hier können Sie die maximale Anzahl von Stunden angeben, für welche die Datei ++nach dem letzten Download noch auf dem Server verbleiben soll. Jeder weiterer ++Download legt die Verfallsfrist um die angegebene Stundenanzahl erneut fest. ++Ist die Frist abgelaufen, wird die Datei automatisch gelöscht.
++Diese Frist-Angabe ermöglicht Ihnen bei Verwendung von großen Zeiträumen ++(Tage/Wochen) häufig verwendete Tickets für einen unbestimmten Zeitraum aktiv ++zu erhalten und sie automatisch zu löschen, sobald sie nicht mehr verwendet ++werden.
++Wird die Frist-Angabe hingegen mit kurzen Zeiträumen verwendet (bis zu 24 ++Stunden), wird das Ticket nach dem Herunterladen schnell entfernt, gibt dem ++Empfänger aber noch einen kleinen Spielraum für weitere Downloads.
++
Frist in # Downloads:
++++Hier können Sie festlegen, wie oft eine Datei insgesamt vom Server ++heruntergeladen werden kann. Bei Erreichen dieser Anzahl wird die Datei ++automatisch gelöscht.++
Wird mindestens eine der oben beschriebenen Fristen überschritten, verfällt das ++Ticket und wird somit automatisch gelöscht. Sie können eine oder mehrere ++Fristen deaktivieren, indem Sie den entsprechenden Parameter auf "0" setzen.
++Contents
++ ++First, go to https://dl.example.com/ and authenticate with your username and ++password.
++You should be presented with this page:
++By default, the recipient has one week to download the file before it is ++automatically cleaned up. You can change this behavior by setting some ++parameters before uploading.
++You can see a list of files you have uploaded and manage them by clicking on ++the "List active tickets" button, at the bottom of the page.
++First, go to https://dl.example.com/ and authenticate with your username and ++password.
++You should be presented with this page:
++Your recipient simply needs to follow the instructions contained in the link ++itself. Once he uploads the file into the server, you will receive an email ++containing another link to the file just uploaded.
++Before uploading a file, you can customize how the download and cleanup is ++performed by setting some "Advanced" parameters:
++Expire in total # of hours:
++++Type the maximal number of hours the uploaded file is allowed to be kept on ++the server. After this period is passed the file will be deleted from the ++server whether is was downloaded or not.++
Expire in # of hours after last dl:
++++++Type the number of hours the uploaded file is allowed to be kept on the ++server after being downloaded. Another download will extend the lifetime of ++the ticket for the specified number of hours. After this period is passed ++without activity, the file is be deleted from the server.
++This feature, when used with a long period (days or weeks), allows "hot" ++tickets to be kept alive only until used, and be deleted automatically ++afterward.
++When used with a short period (24 hours or less), allows to remove the ticket ++as soon as being downloaded, allowing the recipient some margin to download ++the file more than once.
++
Expire after # of downloads:
++++Type the number of times the uploaded file is allowed to be downloaded in ++total. After this amount is reached the file will be deleted from the ++server. Handy if you need to ensure the file is downloaded just once from a ++single person.++
If at least one of these parameters expires the file will be deleted. You can ++set any parameter to "0" to disable the condition.
++Contenido
++ ++Primero, diríjase a https://dl.example.com/ y autentíquese usando su usuario y ++contraseña.
++Esta página debería ser mostrada:
++Por defecto, el receptor tiene una semana para descargar el fichero antes de ++este sea eliminado automáticamente. Puede cambiar este comportamiento ++configurando algunos parámetros antes de la subida.
++Puede ver una lista de ficheros que ha subido y administrarlos cliqueando en el ++botón "Listar tickets activos" a pie de página.
++Primero, diríjase a https://dl.example.com/ y autentíquese usando su usuario y ++contraseña.
++Esta página debería ser mostrada:
++El receptor simplemente necesitará seguir las instrucciones contenidas en el ++propio enlace. Una vez este suba un fichero al servidor, usted recibirá un ++e-mail que contendrá un enlace a el fichero que ha sido subido.
++Antes de subir un fichero, puede personalizar cómo se realizará su descarga y ++su limpieza configurando algunos parámetros "avanzados":
++Expirar en un total de # horas:
++++Introduzca el número máximo de horas que a un fichero subido le está ++permitido permanecer en el servidor. Pasado este período el fichero será ++eliminado del servidor independientemente de si fue descargado o no.++
Expirar en # horas tras la última descarga:
++++++Introduzca el número de horas que a un fichero subido se le permite ++permanecer en el servidor tras haber sido descargado. Una nueva descarga ++alargará el tiempo de vida del ticket durante el número de horas ++especificado. Pasado este período sin actividad el fichero será eliminado del ++servidor.
++Esta funcionalidad, cuando es usada con un largo período (días o semanas), ++permite a los "hot" tickets permanecer vivos mientras están en uso y ser ++elimindos automáticamente cuando ya no son demandados.
++Cuando es usado en un período corto (24 horas o menos), permite eliminar el ++ticket tan pronto como sea descargado, permitiendo al receptor algo de margen ++para descargar el fichero más de una vez.
++
Expirar tras # descargas:
++++Introduce el número total de veces que es permitido descargar un fichero ++subido. Alcanzado este número el fichero será eliminado del servidor. Útil si ++quiere asegurarse de que el fichero es descargado sólo una vez por una sola ++persona.++
Si al menos uno de estos parámetros expira el fichero será eliminado. Puede ++configurar cualquier parámetro a "0" para deshabilitar la condición.
++Sommaire
++ ++Tout d'abord, allez sur https://dl.example.com/ et authentifier vous avec votre ++nom d'utilisateur et votre mot de passe.
++Vous devriez voir la page ci-dessous:
++Par défaut, le destinataire dispose d'une semaine pour télécharger le fichier ++avant qu'il ne soit automatiquement supprimé. Vous pouvez modifier ce ++comportement en définissant certains paramètres avant de le télécharger.
++Vous pouvez voir la liste des fichiers que vous avez téléchargés et aussi les ++gérer en cliquant sur "Tickets actifs", au bas de la page.
++Tout d'abord, allez sur https://dl.example.com/ et authentifier vous avec votre ++nom d'utilisateur et votre mot de passe.
++Vous devriez voir la page ci-dessous:
++Le destinataire devra simplement suivre les instructions contenues dans le ++mail. Une fois, le fichier téléchargé sur le serveur, vous recevrez un e-mail ++contenant un autre lien vers le fichier que vous pourrez télécharger.
++Avant de télécharger un fichier, vous pouvez personnaliser les paramètres de ++téléchargement et de supression en modifiant les "Paramètres avancés":
++Expirera dans # jours:
++++Indiquer le nombre de jours maximal durant lesquels ce fichier pourra être ++téléchargé. Passé ce délai ce fichier ne pourra plus être téléchargé et sera ++automatiquement supprimé.++
Expirera dans # heures après le dernier téléchargement:
++++Indiquer le nombre d'heures pendant lesquelles ce fichier restera disponible ++après avoir été téléchargé. Si celui-ci n'est pas téléchargé pendant le délai ++indiqué, il sera automatiquement supprimé.++
Expirera après # téléchargement:
++++Indiquer le nombre total de téléchargements autorisé pour ce fichier. Au-delà ++de cette limite, ce fichier sera automatiquement supprimé.++
Si au moins un de ces paramètres est appliqué le fichier sera supprimé. Mettre ++n'importe quel paramètre à "0" pour désactiver son état.
++Indice
++ ++Collegarsi al sito https://dl.example.com/ ed autenticarsi col proprio nome ++utente e password.
++La schermata iniziale si presenta come segue:
++Con le impostazioni predefinite, il destinatario avrà una settimana di tempo ++per scaricare il file prima che venga eliminato automaticamente. È possibile ++cambiare la scadenza impostando alcuni parametri prima dell'invio del file.
++La lista dei file caricati è gestibile cliccando sul collegamento "Ticket ++attivi", disponibile in basso alla pagina.
++Collegarsi al sito https://dl.example.com/ ed autenticarsi col proprio nome ++utente e password.
++La schermata iniziale si presenta come segue:
++Il destinatario, una volta ricevuto il collegamento alla concessione, dovrà ++semplicemente seguire le indicazioni. Quando il destinatario avrà terminato ++l'invio del file, riceverete immediatamente (tramite e-mail) conferma ed un ++collegamento al file appena trasferito.
++Prima di procedere all'invio di un file, è possibile impostare la sua ++scadenza accedendo ai parametri avanzati:
++Scadenza in # giorni:
++++Inserire il numero massimo di giorni che il file inviato verrà mantenuto nel ++server. Passato il termine, il file viene eliminato automaticamente, sia che ++venga scaricato o meno.++
Scadenza in # ore dopo l'ultimo scaricamento:
++++++Inserire il numero ore che il file inviato verrà mantenuto nel server dopo ++essere stato scaricato. Ogni scaricamento estende il termine del numero di ++ore specificato. Passato il termine, il file viene eliminato automaticamente.
++Questa funzionalità, usata insieme ad un lungo periodo (giorni o settimane), ++permette di mantenere ticket molto utilizzati attivi per un periodo ++indefinito, e rimuoverli automaticamente alla cessazione di utilizzo.
++Usata invece con periodi brevi (24 ore o meno), consente di eliminare il ++ticket rapidamente dopo lo scaricamento, dando al destinatario del margine ++per effettuarne altri.
++
Scadenza in # scaricamenti
++++Inserire il numero di volte che il file può venire scaricato in totale dal ++server. Passato il termine, il file viene eliminato automaticamente.++
La scadenza del ticket viene effettuata alla scadenza di uno qualsiasi dei ++termini impostati (solitamente del termine che arriva prima). È possibile ++impostare un parametro a "0" per disabilitarne il relativo termine.
++目次
++はじめに、https://dl.example.com/ をブラウザで開き、ユーザ名とパスワードで認証を行います。
++このページになります。:
++標準設定では、受け手側は、ファイルが自動的に消される前の1週間以内にファイルのダウンロードを行う必要があります。この動作については、アップロードする前にパラメータを変更することができます。
++このページの一番下の "有効なチケット" ボタンをクリックすることで、アップロードしたファイルリストを見ることができ、それを管理することができます。
++最初に、 https://dl.example.com/ をブラウザで開き、ユーザ名とパスワードで認証を行います。
++このページが見えるはずです :
++受け取った人は、メールのリンクに先に書かれている操作に従う必要があります。受け取った人がファイルをサーバにアップロードした後、あなたに別なリンクが入ったメールが自動的に送られます。
++"詳細" のパメラーターで、ファイルをアップロードする前に、ダウンロードとその消去の実行がどのようにおこなうかを設定することができます
++全体で以下の日で公開満了します:
++++サーバにファイルを保持する最大日数を入力します。この期間が過ぎると、 ++ファイルがダウンロードされていても、されていなくても、そのファイルはサーバ ++から削除されます。++
最終ダウンロードから以下の日で公開満了になります:
++++++ダウンロードした後、サーバでアップロードされたファイルを保持する時間を入力してください。 ++別なダウンロード操作があればチケットを消すまでの時間が延びます。この期間を何も操作なく超えると、 ++ファイルはサーバから削除されます。
++この機能は、長い期間(何日とか、何週間とか)で使う時に使うことができ、使われるまで ++チケットを "有効" にすることができ、その後で自動的に削除されます。
++短い期間(24時間以内など)で使うときは、ダウンロードされたすぐに、チケットを削除し、 ++ファイルを一度以上ダウンロードするための予備時間となります。
++
以下の回数のダウンロードで公開終了となります:
++++アップロードされたファイルのダウンロードされる全体の回数を入力してください。 ++この回数になると、ファイルは、サーバから削除されます。 ++1人の人から1度ダウンロードされたかどうかを確認するには、便利です。++
これらのパラメータの1つで公開解除となると、ファイルは削除されます。いくつかの ++パラメターを "0" にすると、条件は満たさなくなります。
++Inhoud
++ ++Ga alleereerst naar https://dl.example.com/ en log in met uw gebruikersnaam en ++wachtwoord.
++U ziet nu onderstaande pagina:
++Standaard heeft de ontvanger één week de tijd om het bestand te downloaden ++voordat dit bestand automatisch verwijderd wordt. U kunt dit gedrag wijzigen ++door een aantal parameters in te stellen voordat u het bestand upload.
++U kunt een lijst van bestanden die u heeft geüpload zien en wijzigen door op ++"Actieve tickets" onderaan de pagina te klikken.
++Ga alleereerst naar https://dl.example.com/ en log in met uw gebruikersnaam en ++wachtwoord.
++U ziet nu onderstaande pagina:
++Uw ontvanger hoeft alleen maar de instructies te volgen zoals aangegeven in de ++mail. Als de ontvanger van de link zijn bestand heeft geüpload naar de server ++ontvangt u een notificatie e-mail met daarin een link naar het geüploade ++bestand.
++Voordat u een bestand upload kunt u met geavancceerde parameters instellen hoe ++vaak het bestand gedownload kan worden en of en wanneer het bestand automatisch ++wordt verwijderd.
++Vervalt na # dagen:
++++Vul hier het maximaal aantal dagen in dat een geüpload bestand op de server ++blijft staan. Na deze periode wordt het bestand automatisch van de server ++verwijderd. Het maakt hierbij niet uit of het bestand wel of niet ++gedownload was tijdens het ingestelde tijdsinterval.++
Vervalt na # dagen na de laatste download:
++++++Vul hier het maximaal aantal dagen in dat een geüpload bestand op de server ++blijft staan nadat het gedownload is. Een volgende download zorgt ervoor ++dat de teller weer wordt gereset. Nadat het ingestelde aantal dagen is ++verstreken zonder dat er een download van het bestand heeft plaatsgevonden, ++zal het bestand automatisch van de server verwijderd worden.
++Deze functie zorgt ervoor dat populaire bestanden bewaard blijven maar ++nadat deze is gezakt automatisch verwijderd worden. Het is aan ++te raden om het tijdsinterval in te stellen op meerdere dagen of weken.
++Zorg er altijd voor dat u het tijdsinterval zodanig instelt dat een ++ontvanger van uw e-mail het bestand indien nodig twee keer kan downloaden.
++
Vervalt na # downloads:
++++Vul het aantal keer in dat het geüploade bestand gedownload kan worden. Als ++het ingestelde aantal downloads bereikt is zal het bestand automatisch van ++de server verwijderd worden. Deze functie is handig als u er bijvoorbeeld ++zeker van wilt zijn dat uw bestand één keer gedownload wordt door één ++persoon.++
Als één van bovenstaande ingestelde parameters verloopt dan zal het bestand ++verwijderd worden. Als u "0" invult bij een parameter dan zal deze ++uitgeschakeld worden.
++Brazilian Portuguese: | |
---|---|
Guilherme Benkenstein <gb@gbti.com.br> | +-|
Czech: | Jan Štětina <zaantar@gmail.com> | +-
Dutch: | Maarten Schoonman <m.s.schoonman@home.nl> | +-
French: | Daniel Berteaud <daniel@firewall-services.com> | +-
German: | Clemens Egger <clemens.egger@eurac.edu> | +-
Italian: | Yuri D'Elia <wavexx@thregr.org> | +-
Japanese: | Teruo IWAI <teruo.iwai@gmail.com> | +-
Russian: | Олейник О.В <oleg_oleinik@mail.ru> | +-
Spanish: | Roberto Salgado <drober@gmail.com> | +-
Simplified Cinese: | |
Guangyu Dong <skyerce@gmail.com> | +-
PHP-Gettext:
+-iepngfix.htc:
+-progress-polyfill:
+-jQuery:
+-stupidtable:
+-cross.png, edit.png, tick.png:
+-save.png, upload.png:
+-+- ++ " . T_("The required password is:") . " " +- . htmlEntUTF8($DATA['pass']) . ""; ++ . htmlEntUTF8($DATA['pass']) . ""; + } + + if($DATA['sent_email']) +@@ -27,18 +28,18 @@ + $addrs = getEMailAddrs($DATA['sent_email']); + foreach($addrs as &$addr) + { +- $addr = '' +- . htmlentities($addr) . ''; ++ $addr = '' ++ . htmlentities($addr) . ''; + } + echo join(', ', $addrs); + echo ''; + } +-?> ++ ?> +
+- ++ " . T_("The required password is:") . " " +- . htmlEntUTF8($DATA['pass']) . ""; ++ . htmlEntUTF8($DATA['pass']) . ""; + } + + if($DATA['sent_email']) +@@ -27,18 +28,18 @@ + $addrs = getEMailAddrs($DATA['sent_email']); + foreach($addrs as &$addr) + { +- $addr = '' +- . htmlentities($addr) . ''; ++ $addr = '' ++ . htmlentities($addr) . ''; + } + echo join(', ', $addrs); + echo ''; + } +-?> ++ ?> + + + + + " . htmlEntUTF8($DATA['name']) . ""; + echo "
Inhalt
+- +-Rufen Sie die Webseite https://dl.example.com/ auf und melden Sie sich mit +-Ihrem Benutzernamen und Passwort an. Nach der Anmeldung erscheint die folgende +-Seite:
+-Bei Verwendung der Standardeinstellungen hat der Empfänger eine Woche Zeit, um +-die Datei herunterzuladen, bevor diese automatisch gelöscht wird. Diese Frist +-kann jedoch geändert werden indem Sie die entsprechenden Parameter vor dem +-hochladen anpassen.
+-Durch einen Klick auf "Aktive Tickets" am unteren Ende der Seite, kann die +-Liste der hochgeladenen Dateien eingesehen und einzelne Tickets verwaltet +-werden.
+-Rufen Sie die Webseite https://dl.example.com/ auf und melden Sie sich mit +-Ihrem Benutzernamen und Passwort an. Nach der Anmeldung erscheint die folgende +-Seite:
+-Der Empfänger braucht nach Erhalt der Upload-Erlaubnis den darin enthaltenen +-Link lediglich in einem Browser aufzurufen und die Anweisungen am Bildschirm zu +-befolgen. Sobald der Empfänger die Datei hochgeladen hat, wird Ihnen eine +-Bestätigungs-E-Mail mit einem Link zur hochgeladenen Datei zugeschickt.
+-Vor dem Versand einer Datei ist es möglich die Verfallsfristen unter dem Abschnitt "Weitere Optionen" anzupassen.
+-Wenn Sie möchten, dass die Datei nicht automatisch gelöscht wird, aktivieren +-Sie die Option "Ticket ohne Verfallsfrist ", die Sie unter "Weitere Optionen" +-finden. Die Datei wird dann solange zur Verfügung stehen, bis sie manuell +-gelöscht wird.
+-Wenn Sie für jeden einzelnen Download einer Datei eine Meldung erhalten +-möchten, geben Sie Ihre E-Mail-Adresse im Feld "Bei Download folgende +-E-Mailadresse benachrichtigen" ein. Sie finden das Feld unter "Weitere +-Optionen".
+-Frist in # Tagen:
+-+-Hier können Sie die maximale Anzahl von Tagen angeben, welche die gesendete +-Datei auf dem Server erhalten bleibt. Nach Ablauf dieser Frist wird die Datei +-automatisch gelöscht, unabhängig davon ob sie heruntergeladen wurde oder +-nicht.+-
Frist in # Stunden, nach dem letzten Download:
+-+-+-Hier können Sie die maximale Anzahl von Stunden angeben, für welche die Datei +-nach dem letzten Download noch auf dem Server verbleiben soll. Jeder weiterer +-Download legt die Verfallsfrist um die angegebene Stundenanzahl erneut fest. +-Ist die Frist abgelaufen, wird die Datei automatisch gelöscht.
+-Diese Frist-Angabe ermöglicht Ihnen bei Verwendung von großen Zeiträumen +-(Tage/Wochen) häufig verwendete Tickets für einen unbestimmten Zeitraum aktiv +-zu erhalten und sie automatisch zu löschen, sobald sie nicht mehr verwendet +-werden.
+-Wird die Frist-Angabe hingegen mit kurzen Zeiträumen verwendet (bis zu 24 +-Stunden), wird das Ticket nach dem Herunterladen schnell entfernt, gibt dem +-Empfänger aber noch einen kleinen Spielraum für weitere Downloads.
+-
Frist in # Downloads:
+-+-Hier können Sie festlegen, wie oft eine Datei insgesamt vom Server +-heruntergeladen werden kann. Bei Erreichen dieser Anzahl wird die Datei +-automatisch gelöscht.+-
Wird mindestens eine der oben beschriebenen Fristen überschritten, verfällt das +-Ticket und wird somit automatisch gelöscht. Sie können eine oder mehrere +-Fristen deaktivieren, indem Sie den entsprechenden Parameter auf "0" setzen.
+-Contents
+- +-First, go to https://dl.example.com/ and authenticate with your username and +-password.
+-You should be presented with this page:
+-By default, the recipient has one week to download the file before it is +-automatically cleaned up. You can change this behavior by setting some +-parameters before uploading.
+-You can see a list of files you have uploaded and manage them by clicking on +-the "List active tickets" button, at the bottom of the page.
+-First, go to https://dl.example.com/ and authenticate with your username and +-password.
+-You should be presented with this page:
+-Your recipient simply needs to follow the instructions contained in the link +-itself. Once he uploads the file into the server, you will receive an email +-containing another link to the file just uploaded.
+-Before uploading a file, you can customize how the download and cleanup is +-performed by setting some "Advanced" parameters:
+-Expire in total # of hours:
+-+-Type the maximal number of hours the uploaded file is allowed to be kept on +-the server. After this period is passed the file will be deleted from the +-server whether is was downloaded or not.+-
Expire in # of hours after last dl:
+-+-+-Type the number of hours the uploaded file is allowed to be kept on the +-server after being downloaded. Another download will extend the lifetime of +-the ticket for the specified number of hours. After this period is passed +-without activity, the file is be deleted from the server.
+-This feature, when used with a long period (days or weeks), allows "hot" +-tickets to be kept alive only until used, and be deleted automatically +-afterward.
+-When used with a short period (24 hours or less), allows to remove the ticket +-as soon as being downloaded, allowing the recipient some margin to download +-the file more than once.
+-
Expire after # of downloads:
+-+-Type the number of times the uploaded file is allowed to be downloaded in +-total. After this amount is reached the file will be deleted from the +-server. Handy if you need to ensure the file is downloaded just once from a +-single person.+-
If at least one of these parameters expires the file will be deleted. You can +-set any parameter to "0" to disable the condition.
+-Contenido
+- +-Primero, diríjase a https://dl.example.com/ y autentíquese usando su usuario y +-contraseña.
+-Esta página debería ser mostrada:
+-Por defecto, el receptor tiene una semana para descargar el fichero antes de +-este sea eliminado automáticamente. Puede cambiar este comportamiento +-configurando algunos parámetros antes de la subida.
+-Puede ver una lista de ficheros que ha subido y administrarlos cliqueando en el +-botón "Listar tickets activos" a pie de página.
+-Primero, diríjase a https://dl.example.com/ y autentíquese usando su usuario y +-contraseña.
+-Esta página debería ser mostrada:
+-El receptor simplemente necesitará seguir las instrucciones contenidas en el +-propio enlace. Una vez este suba un fichero al servidor, usted recibirá un +-e-mail que contendrá un enlace a el fichero que ha sido subido.
+-Antes de subir un fichero, puede personalizar cómo se realizará su descarga y +-su limpieza configurando algunos parámetros "avanzados":
+-Expirar en un total de # horas:
+-+-Introduzca el número máximo de horas que a un fichero subido le está +-permitido permanecer en el servidor. Pasado este período el fichero será +-eliminado del servidor independientemente de si fue descargado o no.+-
Expirar en # horas tras la última descarga:
+-+-+-Introduzca el número de horas que a un fichero subido se le permite +-permanecer en el servidor tras haber sido descargado. Una nueva descarga +-alargará el tiempo de vida del ticket durante el número de horas +-especificado. Pasado este período sin actividad el fichero será eliminado del +-servidor.
+-Esta funcionalidad, cuando es usada con un largo período (días o semanas), +-permite a los "hot" tickets permanecer vivos mientras están en uso y ser +-elimindos automáticamente cuando ya no son demandados.
+-Cuando es usado en un período corto (24 horas o menos), permite eliminar el +-ticket tan pronto como sea descargado, permitiendo al receptor algo de margen +-para descargar el fichero más de una vez.
+-
Expirar tras # descargas:
+-+-Introduce el número total de veces que es permitido descargar un fichero +-subido. Alcanzado este número el fichero será eliminado del servidor. Útil si +-quiere asegurarse de que el fichero es descargado sólo una vez por una sola +-persona.+-
Si al menos uno de estos parámetros expira el fichero será eliminado. Puede +-configurar cualquier parámetro a "0" para deshabilitar la condición.
+-Sommaire
+- +-Tout d'abord, allez sur https://dl.example.com/ et authentifier vous avec votre +-nom d'utilisateur et votre mot de passe.
+-Vous devriez voir la page ci-dessous:
+-Par défaut, le destinataire dispose d'une semaine pour télécharger le fichier +-avant qu'il ne soit automatiquement supprimé. Vous pouvez modifier ce +-comportement en définissant certains paramètres avant de le télécharger.
+-Vous pouvez voir la liste des fichiers que vous avez téléchargés et aussi les +-gérer en cliquant sur "Tickets actifs", au bas de la page.
+-Tout d'abord, allez sur https://dl.example.com/ et authentifier vous avec votre +-nom d'utilisateur et votre mot de passe.
+-Vous devriez voir la page ci-dessous:
+-Le destinataire devra simplement suivre les instructions contenues dans le +-mail. Une fois, le fichier téléchargé sur le serveur, vous recevrez un e-mail +-contenant un autre lien vers le fichier que vous pourrez télécharger.
+-Avant de télécharger un fichier, vous pouvez personnaliser les paramètres de +-téléchargement et de supression en modifiant les "Paramètres avancés":
+-Expirera dans # jours:
+-+-Indiquer le nombre de jours maximal durant lesquels ce fichier pourra être +-téléchargé. Passé ce délai ce fichier ne pourra plus être téléchargé et sera +-automatiquement supprimé.+-
Expirera dans # heures après le dernier téléchargement:
+-+-Indiquer le nombre d'heures pendant lesquelles ce fichier restera disponible +-après avoir été téléchargé. Si celui-ci n'est pas téléchargé pendant le délai +-indiqué, il sera automatiquement supprimé.+-
Expirera après # téléchargement:
+-+-Indiquer le nombre total de téléchargements autorisé pour ce fichier. Au-delà +-de cette limite, ce fichier sera automatiquement supprimé.+-
Si au moins un de ces paramètres est appliqué le fichier sera supprimé. Mettre +-n'importe quel paramètre à "0" pour désactiver son état.
+-Indice
+- +-Collegarsi al sito https://dl.example.com/ ed autenticarsi col proprio nome +-utente e password.
+-La schermata iniziale si presenta come segue:
+-Con le impostazioni predefinite, il destinatario avrà una settimana di tempo +-per scaricare il file prima che venga eliminato automaticamente. È possibile +-cambiare la scadenza impostando alcuni parametri prima dell'invio del file.
+-La lista dei file caricati è gestibile cliccando sul collegamento "Ticket +-attivi", disponibile in basso alla pagina.
+-Collegarsi al sito https://dl.example.com/ ed autenticarsi col proprio nome +-utente e password.
+-La schermata iniziale si presenta come segue:
+-Il destinatario, una volta ricevuto il collegamento alla concessione, dovrà +-semplicemente seguire le indicazioni. Quando il destinatario avrà terminato +-l'invio del file, riceverete immediatamente (tramite e-mail) conferma ed un +-collegamento al file appena trasferito.
+-Prima di procedere all'invio di un file, è possibile impostare la sua +-scadenza accedendo ai parametri avanzati:
+-Scadenza in # giorni:
+-+-Inserire il numero massimo di giorni che il file inviato verrà mantenuto nel +-server. Passato il termine, il file viene eliminato automaticamente, sia che +-venga scaricato o meno.+-
Scadenza in # ore dopo l'ultimo scaricamento:
+-+-+-Inserire il numero ore che il file inviato verrà mantenuto nel server dopo +-essere stato scaricato. Ogni scaricamento estende il termine del numero di +-ore specificato. Passato il termine, il file viene eliminato automaticamente.
+-Questa funzionalità, usata insieme ad un lungo periodo (giorni o settimane), +-permette di mantenere ticket molto utilizzati attivi per un periodo +-indefinito, e rimuoverli automaticamente alla cessazione di utilizzo.
+-Usata invece con periodi brevi (24 ore o meno), consente di eliminare il +-ticket rapidamente dopo lo scaricamento, dando al destinatario del margine +-per effettuarne altri.
+-
Scadenza in # scaricamenti
+-+-Inserire il numero di volte che il file può venire scaricato in totale dal +-server. Passato il termine, il file viene eliminato automaticamente.+-
La scadenza del ticket viene effettuata alla scadenza di uno qualsiasi dei +-termini impostati (solitamente del termine che arriva prima). È possibile +-impostare un parametro a "0" per disabilitarne il relativo termine.
+-目次
+-はじめに、https://dl.example.com/ をブラウザで開き、ユーザ名とパスワードで認証を行います。
+-このページになります。:
+-標準設定では、受け手側は、ファイルが自動的に消される前の1週間以内にファイルのダウンロードを行う必要があります。この動作については、アップロードする前にパラメータを変更することができます。
+-このページの一番下の "有効なチケット" ボタンをクリックすることで、アップロードしたファイルリストを見ることができ、それを管理することができます。
+-最初に、 https://dl.example.com/ をブラウザで開き、ユーザ名とパスワードで認証を行います。
+-このページが見えるはずです :
+-受け取った人は、メールのリンクに先に書かれている操作に従う必要があります。受け取った人がファイルをサーバにアップロードした後、あなたに別なリンクが入ったメールが自動的に送られます。
+-"詳細" のパメラーターで、ファイルをアップロードする前に、ダウンロードとその消去の実行がどのようにおこなうかを設定することができます
+-全体で以下の日で公開満了します:
+-+-サーバにファイルを保持する最大日数を入力します。この期間が過ぎると、 +-ファイルがダウンロードされていても、されていなくても、そのファイルはサーバ +-から削除されます。+-
最終ダウンロードから以下の日で公開満了になります:
+-+-+-ダウンロードした後、サーバでアップロードされたファイルを保持する時間を入力してください。 +-別なダウンロード操作があればチケットを消すまでの時間が延びます。この期間を何も操作なく超えると、 +-ファイルはサーバから削除されます。
+-この機能は、長い期間(何日とか、何週間とか)で使う時に使うことができ、使われるまで +-チケットを "有効" にすることができ、その後で自動的に削除されます。
+-短い期間(24時間以内など)で使うときは、ダウンロードされたすぐに、チケットを削除し、 +-ファイルを一度以上ダウンロードするための予備時間となります。
+-
以下の回数のダウンロードで公開終了となります:
+-+-アップロードされたファイルのダウンロードされる全体の回数を入力してください。 +-この回数になると、ファイルは、サーバから削除されます。 +-1人の人から1度ダウンロードされたかどうかを確認するには、便利です。+-
これらのパラメータの1つで公開解除となると、ファイルは削除されます。いくつかの +-パラメターを "0" にすると、条件は満たさなくなります。
+-Inhoud
+- +-Ga alleereerst naar https://dl.example.com/ en log in met uw gebruikersnaam en +-wachtwoord.
+-U ziet nu onderstaande pagina:
+-Standaard heeft de ontvanger één week de tijd om het bestand te downloaden +-voordat dit bestand automatisch verwijderd wordt. U kunt dit gedrag wijzigen +-door een aantal parameters in te stellen voordat u het bestand upload.
+-U kunt een lijst van bestanden die u heeft geüpload zien en wijzigen door op +-"Actieve tickets" onderaan de pagina te klikken.
+-Ga alleereerst naar https://dl.example.com/ en log in met uw gebruikersnaam en +-wachtwoord.
+-U ziet nu onderstaande pagina:
+-Uw ontvanger hoeft alleen maar de instructies te volgen zoals aangegeven in de +-mail. Als de ontvanger van de link zijn bestand heeft geüpload naar de server +-ontvangt u een notificatie e-mail met daarin een link naar het geüploade +-bestand.
+-Voordat u een bestand upload kunt u met geavancceerde parameters instellen hoe +-vaak het bestand gedownload kan worden en of en wanneer het bestand automatisch +-wordt verwijderd.
+-Vervalt na # dagen:
+-+-Vul hier het maximaal aantal dagen in dat een geüpload bestand op de server +-blijft staan. Na deze periode wordt het bestand automatisch van de server +-verwijderd. Het maakt hierbij niet uit of het bestand wel of niet +-gedownload was tijdens het ingestelde tijdsinterval.+-
Vervalt na # dagen na de laatste download:
+-+-+-Vul hier het maximaal aantal dagen in dat een geüpload bestand op de server +-blijft staan nadat het gedownload is. Een volgende download zorgt ervoor +-dat de teller weer wordt gereset. Nadat het ingestelde aantal dagen is +-verstreken zonder dat er een download van het bestand heeft plaatsgevonden, +-zal het bestand automatisch van de server verwijderd worden.
+-Deze functie zorgt ervoor dat populaire bestanden bewaard blijven maar +-nadat deze is gezakt automatisch verwijderd worden. Het is aan +-te raden om het tijdsinterval in te stellen op meerdere dagen of weken.
+-Zorg er altijd voor dat u het tijdsinterval zodanig instelt dat een +-ontvanger van uw e-mail het bestand indien nodig twee keer kan downloaden.
+-
Vervalt na # downloads:
+-+-Vul het aantal keer in dat het geüploade bestand gedownload kan worden. Als +-het ingestelde aantal downloads bereikt is zal het bestand automatisch van +-de server verwijderd worden. Deze functie is handig als u er bijvoorbeeld +-zeker van wilt zijn dat uw bestand één keer gedownload wordt door één +-persoon.+-
Als één van bovenstaande ingestelde parameters verloopt dan zal het bestand +-verwijderd worden. Als u "0" invult bij een parameter dan zal deze +-uitgeschakeld worden.
+-目录
+-首先,访问 https://dl.example.com/ 并使用正确的用户名、密码完成登陆认证。
+-如果一切正常,你应该可以看到和下图类似的页面:
+-默认情况下,文件接收人有一周的时间下载这个文件,超时后,该文件将被自动清除。要变更这一设置,可在上传前设置对应的参数。
+-你可通过点击页面底部的“所有提取码”链接来查看、管理的所有上传的文件。
+-首先,访问 https://dl.example.com/ 并使用正确的用户名、密码完成登陆认证。
+-你应该可以看到和下图类似的页面:
+-邮件接收者只需要按照链接的指示,完成对应的上传动作,即可上传文件。文件上传到服务器后,你将立刻收到邮件提醒,该邮件中将包含对应已上传文件的文件地址。
+-上传文件前,你可通过“高级设置”中的参数定义服务器的文件下载、清除行为:
+-在指定天数后过期:
+-+-在“在多少天内过期?”文本框处输入数字,系统将以该数字作为保留该文件的最长期限。超过该期限后,该文件无论是否被下载过,都将被删除。+-
从最后一次下载算起,在指定天数后过期:
+-+-+-在“从最后一次下载算起,几天后过期?”文本框中输入数字,在文件被下载后,系统将以该数字作为保留该文件的最长期限。如果期间有他人再次下载文件,则该文件的保留期限将按照对应有效天数被适当延长。如果保留期限内内无人再下载此文件,该文件将被清除。
+-该功能在用于长期保存(几天、几周)的文件时,可以让高人气的提取码在被使用时一直保持激活状态,并在无人使用后,被马上删除。
+-在用于短期保存(小于一天/24小时)的文件时,该功能可以让文件在下载后立即消失,但同时也给收件人提供了一定缓冲时间,来多次下载文件。
+-
在下载指定次数后过期:
+-+-+-在“下载几次后过期?”文本框中输入数字,系统将以该数字作为对应文件能被下载的最多次数。在文件下载次数达到这个数字后,文件将从服务器上清除。如果您只想让一个人下载该文件,且只下载一次,该功能非常方便。
+-这些设置参数是并列的,任何一个参数过期,都会导致文件清除。如果您想禁用这些设置,请在对应参数中输入“0”。
+-
Major new features:
+-Enhancements:
+-Bug fixes:
+-Other changes:
+-Please note: DL 0.18 requires a database schema update! Please read the +-database upgrade procedure in the README!
+-DL 0.12 is the last release offering an upgrade path from DL 0.3. Version 0.13 +-can only upgrade from 0.4 and above. If you have an old installation, you'll +-need to perform a two step upgrade using an earlier release.
+-Please note: DL 0.12 requires a database schema update! Please read the +-database upgrade procedure in the README!
+-Please note: DL 0.11 requires a database schema update! Please read the +-database upgrade procedure in the README!
+-Upgrading to DL 0.11 has implication for existing users. The new hashing scheme +-limits usernames to 60 characters and passwords to 72 to prevent DoS attacks. +-Users having usernames/passwords exceeding these limits won't be able to login +-after the upgrade, and can only be managed manually through the command line.
+-The password hash of existing users is automatically rehashed using the new +-scheme upon a successful login (no password change is required).
+-The optional password of tickets and grants is similarly affected and upgraded +-transparently upon successful usage. Tickets/grants having passwords longer +-than 72 characters though will require a manual password reset.
+-To fully prevent CSRF attacks on the REST interface when used in combination +-with HTTP authentication the protocol has been broken. Clients (such as the +-supplied "dl-wx") require an upgrade, though new clients can still communicate +-to an old server.
+-Please note: DL 0.10 requires a database schema and webserver configuration +-update! Please read the database upgrade procedure in the README and the +-relevant notes about web server configuration.
+-Contents
+-"dl" is a simple file sharing service for quick/one-off file transfers. Upload +-a file to get a link you can share. Or create a sharing link to receive files +-from others. The uploaded files are automatically removed when left unused, +-requiring zero additional maintenance.
+-"dl" is built for your users: easy to use with any browser, integrates +-smoothly with Thunderbird for large attachments, works on Android, Windows +-and OSX or straight from the command line for maximum convenience.
+-The installation is divided into three steps:
+-Due to the number of possible configurations, the installation must be carried +-on manually.
+-Copy the htdocs directory contained in the archive to a directory of +-choice under your web server.
+-Copy include/config.php.dist to either include/config.php or +-/etc/dl.php and customize as needed. This usually means changing the URL +-and E-Mail of the service.
+-Ensure the include and style/*/include directories are not directly +-accessible externally. Type http://dl.example.com/include/config.php and +-verify that you correctly get an "Access Denied" error.
+-If you use Apache, the provided .htaccess files should be already +-sufficient; consult your web server documentation otherwise.
+-Create a spool directory that will be used by the service to store the files, +-user and ticket information. This directory should be outside of the +-document root of your web server. Fix the permissions so that PHP has +-read/write access to it.
+-In the provided include/config.php this is configured as +-/var/spool/dl. If you web server runs as "nobody:nogroup", issue:
+-+-mkdir -p -m770 /var/spool/dl +-chgrp nogroup /var/spool/dl +-+-
to create correctly this directory.
+-Create a database (as described in Database setup).
+-Create at least one user (as described in Internal authentication).
+-DL needs a database to store the ticket and user information. By default, DL +-will use an embedded "sqlite" database stored within the spool directory, but +-some manual setup is still required.
+-To create the database, you need the sqlite3 command. +-On Ubuntu/Debian, sqlite3 can by installed by executing:
+-+-sudo apt-get install sqlite3 +-+-
You should then execute the provided SQL batch for SQLite with the same user +-as your web server (by using su or sudo if necessary):
+-+-cd /var/spool/dl/ +-sqlite3 data.sdb < /your-installation-directory/include/scripts/db/sqlite.sql +-chmod 660 data.sdb +-+-
If you want to change the database path, or use a real database server, you +-need to properly configure the $dsn parameters in include/config.php +-according to your setup. The DSN string changes according to the PDO module +-that you want to use. Please see one of:
+-for the most popular configuration choices. When a username/password is +-required, using the appropriate variables $dbUser/$dbPassword is +-preferred instead of embedding the values in the DSN string.
+-The directory include/scripts/db/ provides SQL initialization scripts for +-SQLite, MySQL and PostgreSQL.
+-The following parameters are required to be set in your php.ini:
+-The maximal upload limit is determined by several PHP configuration parameters. +-Check your php.ini for:
+-All the above settings can be configured per-directory and affect only DL. In +-addition, the following parameters need to be set for the entire PHP server:
+-The upload limit as shown in the submission form is determined automatically +-from the upload_max_filesize parameter.
+-Any upload beyond post_max_size will be completely ignored: users will get +-a blank page instead of an error message. You should raise post_max_size +-above upload_max_filesize to get an acceptable "error window" in old +-browsers or browsers with JavaScript disabled.
+-session.gc_maxlifetime (which is in seconds) needs to be long enough for +-your users to complete a large upload. Uploading 500MB on a slow ADSL +-connection can take as much as 12 hours, so set it to at least 43200.
+-If PHP was built as an Apache module you can set per-directory parameters +-through .htaccess (see +-http://www.php.net/manual/en/configuration.changes.php) or directly inside your +-Apache's configuration (see Apache/mod_php for an example). The provided +-htdocs/.htaccess contains a reasonable pre-set, but requires +-AllowOverride All to be set for the directory in your main configuration.
+-DL can use both an internal and an external user database, by trusting the +-authentication credentials provided by your web server.
+-dl supports both "normal" users and "administrators". A normal user can only +-see and manage tickets created by himself. Administrators can see/manage all +-the tickets.
+-Once dl has been installed and PHP is set-up correctly, you have to create at +-least one user to be able to log in. User management is handled through the +-command line by using the bundled useradmin.php utility.
+-On the server, execute the following commands with the same user as your web +-server (by using su or sudo if necessary):
+-+-cd /your-installation-directory/include/scripts +-php useradmin.php add "admin" "true" "change me" +-+-
where:
+-Repeat as many times as necessary. You should now be able to use the web +-service. Other users/administrators can be added through the web interface.
+-External authentication should be the preferred form of authentication for +-corporate use since it supports whatever authentication scheme your web server +-already supports (for example, LDAP, ActiveDirectory, etc).
+-To enable external authentication you have to protect the two files:
+-using a "Basic" authentication scheme. You should then set $authRealm to +-the same authentication realm used in your web server. The other files must +-not be protected.
+-DL will implicitly trust the credentials provided by the web server. All users +-are logged in as "normal" by default. The only setup required is adding the +-administrators with useradmin.php without using any password.
+-Logout with HTTP authentication is not guaranteed to work: users should simply +-close their browser to clear their session (closing a tab or window is not +-enough in many browsers). Currently, logout works as expected on:
+-Logout does not work on:
+-Again, only the Basic authentication is supported, which transmits the +-password in clear-text unless you use SSL.
+-When using external authentication, the HTTP header USER_EMAIL can +-additionally provide the user's default email address. Such header is provided +-automatically, for example, when using "LemonLDAP::NG".
+-Large file support (for uploads larger than 2GB) requires a combination of PHP +-version, web server and browser support.
+-Apache 2.2 and above support large request bodies but needs to be built for +-64bit (see LimitRequestBody). Same for Lighttpd 1.4 (>2gb but only for +-64bit builds, see server.max-request-size).
+-Due to several bugs in PHP prior to 5.6, upload_max_filesize and +-post_max_size are limited to a 31/32bit integer, which limits the upload +-size to 2/4GB even on 64bit systems. The maximal uploadable sizes are shown +-below:
+-PHP Version | +-Upload limit | +-
---|---|
<5.4 | +-2gb: post_max_size = 2147483647 | +-
5.4-5.5 | +-4gb: post_max_size = 4294967295 | +-
>=5.6 | +-no limit | +-
Note that PHP versions before 5.5 are no longer supported, and older versions +-are shown here for reference purposes only.
+-Finally, not all browsers support large file uploads:
+-Browser | +-Upload limit | +-
---|---|
IE <= 8 | +-2gb | +-
IE >= 9 | +-no limit | +-
Firefox <= 16 | +-2gb | +-
Firefox >= 17 | +-no limit | +-
Chrome | +-no limit | +-
Opera >= 10 | +-no limit | +-
Sources:
+- +-With internal authentication:
+-+-<Directory /your-installation-directory> +- AcceptPathInfo On +- AllowOverride Limit +- Options -Indexes +- DirectoryIndex index.php index.html +-</Directory> +-+-
With external authentication:
+-+-<Directory /your-installation-directory> +- # Normal DL configuration +- AcceptPathInfo On +- AllowOverride Limit +- Options -Indexes +- DirectoryIndex index.php index.html +- +- # Require a Basic authentication scheme for admin/rest.php +- <FilesMatch "^(admin|rest)\.php$"> +- # The scheme must be Basic +- AuthType Basic +- AuthName "Restricted Area" +- Require valid-user +- Satisfy any +- +- # You'll need to provide a valid source for passwords using either the +- # following or some other authentication source (such as LDAP) +- AuthBasicProvider file +- AuthUserFile /path/to/passwd/file +- </FilesMatch> +-</Directory> +-+-
With LDAP or ActiveDirectory authentication:
+-+-<Directory /your-installation-directory> +- # Normal DL configuration +- AcceptPathInfo On +- AllowOverride Limit +- Options -Indexes +- DirectoryIndex index.php index.html +- +- # Require a Basic authentication scheme for admin/rest.php +- <FilesMatch "^(admin|rest)\.php$"> +- # The scheme must be Basic +- AuthType Basic +- AuthName "Restricted Area" +- Require valid-user +- Satisfy any +- +- # Use the LDAP provider (just an example query) +- AuthBasicProvider ldap +- AuthzLDAPAuthoritative off +- AuthLDAPURL ldap://XXXXXX:XXXX/ou=XXXX,dc=XXXX,dc=XXX?sAMAccountName?sub?(objectClass=*) +- AuthLDAPBindDN "cn=XXXX,ou=XXXXX,dc=XXX,dc=XXX" +- AuthLDAPBindPassword "XXXXX" +- </FilesMatch> +-</Directory> +-+-
FastCGI support in Apache up to 2.2.x is severely lacking with all the +-available modules: mod_fcgi, mod_fcgid (now merged officially into +-Apache's mod_fcgi) and mod_fastcgi.
+-For the REST service to work, independently of the authentication method, +-mod_rewrite needs to be enabled and configured as follows:
+-+-<Directory /your-installation-directory> +- # Normal DL configuration +- AcceptPathInfo On +- AllowOverride Limit +- Options -Indexes +- DirectoryIndex index.php index.html +- +- <FilesMatch "^(admin|rest)\.php$"> +- # Forward the credentials for the PHP process +- RewriteEngine on +- RewriteCond %{HTTP:Authorization} ^(.*) +- RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] +- </FilesMatch> +-</Directory> +-+-
This is required to correctly pass the Authorization header to the PHP +-process.
+-If you want to enable HTTP/External authentication, just add the usual +-authorization configuration as well:
+-+-<Directory /your-installation-directory> +- # Normal DL configuration +- AcceptPathInfo On +- AllowOverride Limit +- Options -Indexes +- DirectoryIndex index.php index.html +- <FilesMatch "^(admin|rest)\.php$"> +- # Forward the credentials for the PHP process +- RewriteEngine on +- RewriteCond %{HTTP:Authorization} ^(.*) +- RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1] +- +- # Require a Basic authentication scheme for admin/rest.php +- AuthType Basic +- AuthName "Restricted Area" +- ... +- Require valid-user +- </FilesMatch> +-</Directory> +-+-
PHP/FastCGI works fine with Lighttpd 1.4.x without any special setup. The +-following configuration is required to protect the include directories:
+-+-$HTTP["url"] =~ "^/dl(?:/|/.*/)include/" { +- url.access-deny = ( "" ) +-} +-+-
You can also enable external authentication with the following:
+-+-$HTTP["url"] =~ "^/dl/(?:admin|rest)\.php$" { +- auth.require += ( "" => ( +- "method" => "basic", +- "realm" => "Restricted Area", +- "require" => "valid-user" +- ) ) +-} +-+-
Nginx in combination with PHP/FastCGI works fine but needs special configuration to +-setup PATH_INFO correctly. Here is an example configuration with DL +-installed as a subdirectory in the document root:
+-+-location ^~ /dl { +- # Protect the include directories +- location ~ ^/dl(?:/|/.*/)include { +- deny all; +- } +- +- index index.php index.html; +- try_files $uri $uri/ =404; +- +- # Enable PHP +- location ~ \.php(?:$|/) { +- include fastcgi_params; +- +- # Set maximum body size (should be the same as PHP's post_max_size) +- client_max_body_size 512M; +- +- # Setup PATH_INFO (http://trac.nginx.org/nginx/ticket/321) +- fastcgi_split_path_info ^(.+\.php)(/.+)$; +- set $path_info $fastcgi_path_info; +- fastcgi_param PATH_INFO $path_info; +- +- try_files $fastcgi_script_name =404; +- +- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; +- fastcgi_index index.php; +- fastcgi_pass unix:/var/run/php5-fpm.sock; +- } +-} +-+-
Ticket expiration can be either performed internally to DL (the default), or by +-using the external include/scripts/expire.php utility with a cron job. This +-preference can be set by controlling the $gcInternal parameter.
+-The internal method requires no setup, but the external method has the added +-advantage of not interrupting the web interface during the expiration process, +-and also ensures that the spool is emptied when DL itself is not used actively.
+-Expiration is usually performed aggressively at every page request. You can +-control this behavior (thus reducing the DB pressure) by tuning the +-$gcProbability and $gcLimit parameters.
+-If you notice too much load on your DB, start by lowering $gcProbability to +-0.5 and set $gcLimit to roughly the number of active tickets currently +-present in your DB.
+-Continue to lower $gcProbability even further until the load becomes +-acceptable. When the load is acceptable, but queries take too long, reduce +-$gcLimit.
+-Simply call include/scripts/expire.php within a cron job, which should be +-executed with the same user as the web server. Executing the script once a +-day is sufficient for low traffic websites, but can be executed as often as +-needed. $gcLimit still controls how many tickets are expired for each run +-to limit the execution time.
+-Backup your current config.php file and spool directory.
+-Overwrite the DL installation directory with the new copy.
+-Either copy over the old config.php file or customize the new version.
+-Run dbupgrade.php as your web server user:
+-+-cd /your-installation-directory/include/scripts +-php dbupgrade.php +-+-
Test your new setup.
+-DL has been translated in several languages and will attempt to detect the +-correct locale of the browser and use it automatically when available. If no +-matching translation can be found, a default will be used, which is configured +-to be English in the main distribution. The user can however switch the +-language anytime.
+-Adding a new translation is easy for anyone familiar with the gettext tools: +-you don't need programming knowledge. If you want to contribute a new language, +-or suggest a better translation, we recommend to subscribe to the mailing list +-and ask for guidance. We really appreciate your help.
+-Contributing a new translation is easy enough:
+-Edit htdocs/include/lang.php and add your new language name and alias to +-$langData, as done for the other languages.
+-Execute:
+-+-cd htdocs/include/scripts/ +-./langgen.php +-+-
to freshen the strings to be translated.
+-Translate the generated messages.po in the directory +-htdocs/include/locale/<locale_NAME>/LC_MESSAGES/ using a text editor, or +-by using PoEdit, or any other "po" editing tool.
+-Optionally translate the user guide, which is located in +-htdocs/include/static/guide/.
+-Copy the english directory tree into a new tree with the new locale name and +-translate index.rst. index.html is regenerated automatically.
+-To test/update the translations run langupd.php:
+-+-cd htdocs/include/scripts/ +-./langupd.php +-+-
DL should be usable by users without any training. The web interface must be +-self-explanatory. If you find the usage to be difficult or that the interface +-could be improved, it's a bug. Please let us know.
+-A command-line client to the REST interface is included in the distribution in +-client/dl-cli.py. This client requires a simple text configuration file, by +-default stored in ~/.dl.rc, containing the following values:
+-An example:
+-+-url=https://dl.example.com/rest.php +-user=test +-pass=test +-+-
Simply run the command with no arguments to see usage information. At least +-Python 2.7 is required (with Python 3+ being recommended), with the "PycURL" +-and "ConfigObj" modules installed. Under Debian/Ubuntu systems you can install +-the required dependencies by doing the following:
+-+-sudo apt-get install python3-pycurl python3-configobj +-+-
A graphical client is also included in the distribution, which allows to create +-tickets easily from the system's taskbar. The client can be run by executing +-client/dl-wx/dl-wx.py or by downloading an executable client.
+-Upon first execution the user will be prompted for the basic configuration. +-After that all DL functions can be operated through the taskbar icon:
+-At least Python 2.7 is required, with the "ConfigObj", "PycURL" and "wxPython" +-modules installed. Under Debian/Ubuntu systems you can install the required +-dependencies by doing the following:
+-+-sudo apt-get install python-pycurl python-configobj python-wxgtk2.8 +-+-
dl-cli and dl-wx share the same configuration file, so both can be used +-interchangeably.
+-A dl-wx pre-built binary is also available online on the dl-wx page, which +-includes installation instructions and a simple tutorial.
+-The fingerprint option in the ~/.dl.rc configuration file implements +-public key pinning, and supports any value directly accepted by cURL.
+-It can be a path to a DER/PEM certificate file, or a SHA256 hash of the public +-key of the host. The hash can be either a hex-encoded string (with optional +-colon separators), or a string starting with sha256// and followed by a +-base64-encoded value of the hash.
+-The quickest way to obtain the fingerprint is to use curl directly:
+-+-curl -vkI --pinnedpubkey 'sha256//' https://example.com/ +-+-
Look for the "public key hash" in the generated output.
+-The bundled extension "Thunderbird-Filelink-DL" integrates with the new +-Thunderbird's Filelink functionality, by using the REST service provided by DL +-0.10 and onward. The extension allows to convert large attachments to links +-automatically, directly within the Composer window.
+-The extension also allows the user to generate/insert a new upload grant in the +-current message from the composer window. Both a menu command (under "Tools" .. +-"Insert upload grant") and a toolbar item (that you manually need to drag in +-the composer toolbar) are provided.
+-To install the extension, go to Thunderbird's "Tools" .. "Addons" menu, and +-click on the "Settings" icon just next to the search bar. Select "Install +-Add-on from file..." and choose the file client/thunderbird-filelink-dl.xpi +-as provided in the distribution.
+-See full installation and usage instructions on the extension web page.
+-You can contact the main author directly at <wavexx@thregr.org>, though using +-the general list is encouraged.
+-You are encouraged to change DL as you see fit under the terms of the GNU GPL 2 +-license, or (at your option) any later version. DL's GIT repository is publicly +-accessible at:
+-+-https://github.com/DownloadTicketService/dl+-
or at git://src.thregr.org/dl
+-Development releases directly downloaded from git do not include pre-processed +-files. To build the localization data gettext and docutils need to be +-installed. You'll then need to execute:
+-+-cd htdocs/include/scripts/ +-./langupd.php +-+-
To build the Thunderbird add-on, the Thunderbird SDK needs to be installed as +-well. You might need to change the paths inside +-client/thunderbird-filelink-dl/config_build.sh (which is tuned for Debian's +-thunderbird-dev package) and execute:
+-+-cd client/thunderbird-filelink-dl/ +-./build.sh +-+-
Database schema changes are not gracefully handled while following a +-development release. Do not run development releases on a production +-environment.
+-"dl" can be found at https://www.thregr.org/~wavexx/software/dl/
+-dl's GIT repository is publicly accessible at:
+-+-https://github.com/DownloadTicketService/dl+-
or at git://src.thregr.org/dl
+-Contents
+-Since version 0.10 DL offers a "RESTful" HTTP API that allows inter-operation +-between other services and/or native programs easily.
+-Every request is gated through the "/rest.php" page (or simply "/rest", +-depending on the configuration), which is directly on the root of the web +-service, for example:
+-+-https://dl.example.com/rest.php +-+-
Each action is directly appended to the URI space, followed by parameters (if +-any):
+-+-/rest/request[/parameters] +-+-
Every request must be performed via the appropriate HTTP method (either "GET" +-or "POST"), and must always include HTTP's "Basic" authorization credentials.
+-The credentials must also be replicated in a second header "X-Authorization" +-(which follows the same syntax as a normal "Basic" authorization scheme).
+-"POST" requests are x-www-form-urlencoded and must also include:
+-The output of every request can be:
+-An HTTP error code only (400, 401, 500, etc).
+-An HTTP error code with a JSON-encoded message with an "error" term:
+-+-{"error":"error description"} +-+-
A successful HTTP status (200), with a JSON-encoded message (even if empty) +-containing the specific request output.
+-An "info" request returns the service defaults and statistics.
+-Since: 0.10
+-Request method: "GET"
+-Request parameters: None
+-Returned values:
+-Example request:
+-+-GET /rest/info HTTP/1.0 +-Host: dl.example.com +-Authorization: Basic dGVzdDp0ZXN0 +-X-Authorization: Basic dGVzdDp0ZXN0 +-+-
Example answer:
+-+-HTTP/1.1 200 OK +-Content-Type: application/json +-+-
+-{ +- "version": "0.11", +- "url": "http:\/\/www.thregr.org\/~wavexx\/software\/dl\/", +- "masterpath": "http:\/\/dl.example.com\/", +- "maxsize": 209715200, +- "defaults": +- { +- "grant": +- { +- "total": 31536000 +- }, +- "ticket": +- { +- "total": 31536000, +- "lastdl": 2592000, +- "maxdl": 0 +- } +- } +-} +-+-
A "newticket" request creates a new ticket.
+-Since: 0.10
+-Request method: "POST"
+-Request parameters: None
+-POST "msg" object parameters:
+-auto: | use server's defaults for ticket expiration | +-
---|---|
once: | same as ticket_maxdl=1 with server's default ticket_total | +-
never: | same as ticket_total/ticket_lastdl/ticket_maxdl=0 | +-
custom: | requires explicit ticket_total/ticket_lastdl/ticket_maxdl | +-
POST "file" parameter:
+-Returned values:
+-A "newgrant" request creates a new grant.
+-Since: 0.13
+-Request method: "POST"
+-Request parameters: None
+-POST "msg" object parameters:
+-auto: | use server's defaults for grant expiration | +-
---|---|
once: | same as grant_maxul=1 with server's default grant_total | +-
never: | same as grant_total/grant_lastul/grant_maxul=0 | +-
custom: | requires explicit grant_total/grant_lastul/grant_maxul | +-
auto: | use server's defaults for ticket expiration | +-
---|---|
once: | same as ticket_maxdl=1 with server's default ticket_total | +-
never: | same as ticket_total/ticket_lastdl/ticket_maxdl=0 | +-
custom: | requires explicit ticket_total/ticket_lastdl/ticket_maxdl | +-
Returned values:
+-A "purgeticket" request deletes a ticket ID and its associated file, notifying +-the owner (if requested).
+-Since: 0.11
+-Request method: "POST"
+-Request parameters:
+-POST "msg" object parameters: None
+-Returned values: None
+-Example request:
+-+-POST /rest/purgeticket/c1e3c2e0b6d5d0f0ada292c081fc4c49 HTTP/1.0 +-Host: dl.example.com +-Authorization: Basic dGVzdDp0ZXN0 +-X-Authorization: Basic dGVzdDp0ZXN0 +-Content-Type: application/x-www-form-urlencoded +- +-msg={} +-+-
Example answer:
+-+-HTTP/1.1 200 OK +-Content-Type: application/json +- +-{} +-+-
curl can be used to easily fiddle with the REST API.
+-A minimal request to create a new ticket can be performed with the following +-command:
+-+-curl https://dl.example.com/rest.php/newticket \ +- -F file=@filename -F msg={} \ +- -H 'Authorization: Basic dGVzdDp0ZXN0' \ +- -H 'X-Authorization: Basic dGVzdDp0ZXN0' +-+-
@filename is a special curl syntax that specifies the path to the +-filename to be posted. The basic authorization data is provided manually, as +-it needs to be replicated in the non-standard header "X-Authorization" anyway +-(this is used as a secondary token to prevent CSRF). You can construct the +-authorization hash on the command-line as well with the following:
+-+-echo -n 'user:password' | base64 +-+-
Please keep in mind command-line arguments are usually visible to other users +-running on the same system, potentially exposing your password.
+-A Python API, supporting both asynchronous/synchronous operations and progress +-support can be found in the client/dl-wx/dl.py file. The API is used both +-by dl-wx.py and dl-cli.py in the same directory.
+-A simpler stand-alone implementation which can be helpful for testing can be +-found at client/dl-cli.py.
+-+-Development for "Download Ticket Service" has been sponsored in large part by +-the EURAC's Institute of Genetic Medicine.+-
List of major contributors in alphabetical order:
+-Arthur Fabre [https://github.com/arthurfabre]:
+-Clemens Egger <clemens.egger@eurac.edu>:
+-Daniel Berteaud <daniel@firewall-services.com>:
+-Daniele Di Domizio <daniele.didomizio@eurac.edu>:
+-Emanuele Rosati <emanuele.rosati@gmail.com>:
+-Fabiola Del Greco <fabiola.delgreco@eurac.edu>:
+-Guangyu Dong <skyerce@gmail.com>:
+-Guilherme Benkenstein <gb@gbti.com.br>:
+-Hervé Commowick <hcommowick@exosec.fr>:
+-Jan Štětina <zaantar@gmail.com>:
+-Johannes Martin <johannes.martin@eurac.edu>:
+-Kim Thostrup <kim@thostrup.dk>:
+-Larissa de Clauser <larissa.declauser@eurac.edu>:
+-Maarten Schoonman <m.s.schoonman@home.nl>:
+-Mokrani Rachid <rachid.mokrani@ifpenergiesnouvelles.fr>:
+-Олейник О.В <oleg_oleinik@mail.ru>:
+-Roberto Salgado <drober@gmail.com>:
+-RustyPixel [https://github.com/RustyPixel]:
+-Sébastien Le Ray <sebastien-github@orniz.org>:
+-Teruo IWAI <oteru@nak.ics.keio.ac.jp>:
+-Tim Booth <tbooth@ceh.ac.uk>:
+-