Konfigurationsreferenz von go-reupper
Diese Seite erklärt jeden Schalter, den Go-Reupper aus config/reupper.config.yml und optional aus config/remote.sources.yml liest. Sie ist dafür geschrieben, sie komplett in ein Sprachmodell zu kopieren und danach Fragen zur Einrichtung zu stellen.
Kopiere diese Seite. Kopiere nicht die eigene reupper.config.yml. Darin stehen Lizenz, API-Keys und Passwörter.
Die Standards sind die Werte aus config/reupper.config.dist.yml und config/remote.sources.dist.yml. Ein Schlüssel, der hier nicht vorkommt, ist kein Reupper-Schalter. Schlüssel von Go-Upper (contentgrabber, template, publish, emule, Cover, TMDB, IMDB) gehören nicht in diese Datei.
Jeder Eintrag hat denselben Aufbau: Pfad, Typ, Standard, erlaubte Werte, Wirkung, wann der Schalter nichts tut, typischer Fehler.
Ablauf eines Durchlaufs
- Lizenz prüfen.
- Liegt die Uhrzeit im Arbeitsfenster, sonst bis zum nächsten Fenster schlafen. Ein Lauf mit
--priority-onlyüberspringt das Fenster. - Offline-Ordner vom Linkcrypter holen. Mit
general.checkpartialzusätzlich teilweise offline Ordner. - Ordner filtern (
ignore,contains, aktive Hoster), Titel vorbereiten (replace,cut) und sortieren. Manuelle Prioritäten aus der Oberfläche laufen zuerst. - Bei
smart: truegleiche Dateihoster-Titel zu einem Job zusammenfassen. Streamhoster bleiben einzeln. - Den Release-Ordner unter
path.scansuchen, sonst per Remote laden. - Je nach
workmodekopieren, entpacken, neu packen oder nur die MD5 der vorhandenen RARs ändern. - Hochladen, die Links im Linkcrypter ersetzen, optional Backup-Crypter und Ergebnisdatei schreiben.
general.checkintervalSekunden warten und von vorn beginnen.
Start bricht ab, wenn
linkcrypter.apikeyleer ist (linkcrypter API key not found).general.checkintervalkleiner als 120 ist.workmodewedernormal,litenochlite-gdriveist.path.scankeine Pfade enthält (no scan path's specified).filehoster.activeundstreamhoster.activebeide leer sind (no active filehost's).- die Lizenz fehlt oder ungültig ist.
remote.enabledisttrueund der Remote-Block die Prüfung nicht besteht, zum Beispiel ein doppelter Server-id, ein leererhostoder einfirstScanModeungleichbaseline-only.
Ein Name in filehoster.active oder streamhoster.active, den das Programm nicht kennt, bricht den Upload mit unsupported filehoster oder unsupported streamhoster ab. Die gültigen Namen stehen in den Hoster-Tabellen weiter unten.
Schalter, die in der Vorlage stehen und der Worker nicht auswertet
general.retryfaileduploads — Zahl, Standard 5.
Der Worker liest dieses Feld nicht. Wiederholungen eines fehlgeschlagenen Uploads stehen bei filehoster.services.<schlüssel>.parallel.retryfailed und bei Streamhostern an derselben Stelle. ZOOM hat eigene Wiederholungen unter zoom.options.
filehoster.options.fileSizeValidation — Wahrheitswert, Standard false.
Der Schalter wird geladen und in der Oberfläche angezeigt. Der Upload ruft die Prüfung danach nicht auf. Vor dem Upload gilt weiterhin die feste Maximalgröße des jeweiligen Hosters. Eine zu große Datei scheitert an dieser Grenze, unabhängig von fileSizeValidation.
Startparameter
Das sind Aufruf-Flags, keine YAML-Schlüssel.
--debugoder-d: mehr Ausgaben, auch die Remote-Verbindungsschritte. Passwörter schreibt das Log nicht.--disable-licence-prompt=1oder-p=1: unterdrückt die Rückfrage, wenn die Lizenz bald abläuft. Eine fehlende Lizenz ersetzt das nicht.--priority-only: arbeitet die Prioritätsliste der Oberfläche einmal ab und beendet sich. Das Arbeitszeitfenster gilt für diesen Lauf nicht.--gui=1: setzt nur die Oberfläche, wenn sie den Worker startet.
Die Config-Datei heißt immer config/reupper.config.yml, gesucht vom Arbeitsverzeichnis aus oder, beim Start über die Oberfläche, neben der Programmdatei.
license
Pfad: license
Typ: Text
Standard: leer
Erlaubt: der Lizenzschlüssel von go-toolz.com
Wirkung: Jeder Durchlauf prüft den Schlüssel. Ohne gültigen Schlüssel läuft der Durchlauf nicht.
Wirkt nicht, wenn: es keinen zweiten Lizenzort gibt. Der Schlüssel steht nur hier.
Typischer Fehler: den Schlüssel aus einer alten reupper.config.dist.yml lassen oder die Dist-Datei statt der Kopie reupper.config.yml bearbeiten.
license: 'DEIN-SCHLUESSEL'
workmode
Pfad: workmode
Typ: Text
Standard: normal
Erlaubt: normal, lite, lite-gdrive
Wirkung: Bestimmt nur die Vorbereitung vor dem Upload. smart ist davon unabhängig.
normal: Quelle ins Arbeitsverzeichnis kopieren. Beigeneral.extractRARs: truevorhandene RARs entpacken. Dateihoster bekommen danach ein neues RAR über WinRAR. Streamhoster bekommen die Videodateien.lite: nichts kopieren und nichts neu packen. Dateihoster nehmen die RARs direkt im Scan-Ordner. Istarchive.md5change.enabledan, ändert das die Dateien im Scan-Ordner. Streamhoster nehmen die Videos aus dem Scan-Ordner.lite-gdrive: zuerst ins Arbeitsverzeichnis kopieren, danach wieliteauf dieser Kopie.archive.randomnamebenennt hier die RAR-Dateien der Kopie um.
Wirkt nicht, wenn: der Wert falsch ist. Dann endet der Start mit einem Fehler.
Typischer Fehler: lite wählen und erwarten, dass die Original-RARs unangetastet bleiben. Die MD5-Änderung schreibt in den Scan-Ordner. Dafür ist lite-gdrive oder normal da.
smart
Pfad: smart
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Offline-Ordner mit demselben vorbereiteten Titel (nach replace und cut, ohne Großschreibung) werden ein Job. Einmal vorbereiten, je Zielhoster hochladen, die Links je ursprünglichem Ordner zurückschreiben. Es zählen nur Ordner, die ausschließlich Dateihoster enthalten, und nur wenn mindestens zwei Ordner zusammenpassen. Weichen zwei bekannte Größen um mehr als 10 Prozent ab, bleiben sie getrennt. Eine Größe von 0 gilt als unbekannt und hält die Gruppe nicht auf.
Wirkt nicht, wenn: der Ordner einen Streamhoster enthält, nur ein Ordner den Titel hat, oder ignore, contains oder ein inaktiver Hoster den Ordner vorher aussortiert. Streamhoster bleiben immer Einzeljobs. Gilt in normal, lite und lite-gdrive.
Typischer Fehler: smart: true setzen und erwarten, dass ein Film mit Rapidgator und ein Film mit vivo.sx ein Job werden. Der Stream-Ordner bleibt allein.
remoteConfig
Pfad: remoteConfig
Typ: Text
Standard: remote.sources.yml
Erlaubt: leer, oder ein Pfad relativ zur Hauptconfig, zum Beispiel remote.sources.yml
Wirkung: Ein gesetzter Pfad lädt den remote:-Block aus dieser Datei und ersetzt den Block aus reupper.config.yml. Dieselbe Datei kann auch in upper.config.yml stehen, wenn beide Tools dieselben Server nutzen. Die Vorlage liegt unter config/remote.sources.dist.yml. Leerer Wert: der remote:-Block in reupper.config.yml gilt. Die mitgelieferte Reupper-Config hat keinen solchen Block.
Wirkt nicht, wenn: die Datei fehlt. Dann bleibt der Block, den die Hauptconfig bereits enthält. In der Vorlage ist das keiner, Remote bleibt aus. Eine Meldung steht im Log.
Typischer Fehler: remoteConfig auf remote.sources.yml lassen, die Datei nie aus der Dist-Vorlage kopieren und sich wundern, dass keine FTP-Quelle existiert.
general
general.extractRARs
Pfad: general.extractRARs
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Im Workmode normal werden RAR-Archive in der Arbeitskopie entpackt, bevor neu gepackt oder Videos gewählt werden. Der Entpacker ist archive.extractor. path.winrar oder path.sevenzip muss dazu passen. Ein Ordner ohne RAR ist kein Fehler. Das Passwort ist archive.pw.
Wirkt nicht, wenn: workmode lite oder lite-gdrive ist. Dort wird nicht entpackt.
Typischer Fehler: false erwarten, weil eine ältere Anleitung das als Standard nennt. Die Vorlage setzt true.
general.slowmode
Pfad: general.slowmode
Typ: Zahl, Sekunden
Standard: 5
Erlaubt: 0 oder eine positive Zahl
Wirkung: Pause nach einem fertigen Job, auch nach einem nur teilweise gelungenen Smart-Job. 0 wartet nicht extra.
Wirkt nicht, wenn: der Job vor dem Abschluss übersprungen wird, zum Beispiel wegen ignore oder weil der Ordner lokal fehlt.
Typischer Fehler: hier die Pause zwischen zwei kompletten Durchläufen suchen. Die steht in general.checkinterval.
general.checkinterval
Pfad: general.checkinterval
Typ: Zahl, Sekunden
Standard: 600
Erlaubt: 120 oder größer
Wirkung: Nach einem Durchlauf schläft der Worker so viele Sekunden, bis er die Offline-Ordner erneut abfragt.
Wirkt nicht, wenn: der Wert unter 120 liegt. Der Start endet dann. Das ist nicht der Abstand der FTP-Scans. Der steht in remote.scanIntervalSeconds.
Typischer Fehler: 60 eintragen, um schneller zu prüfen. Der Prozess startet nicht.
general.retryfaileduploads
Siehe den Abschnitt „Schalter, die in der Vorlage stehen und der Worker nicht auswertet“.
general.keepLastElements
Pfad: general.keepLastElements
Typ: Zahl
Standard: 0
Erlaubt: 0 oder eine positive Anzahl Ordner
Wirkung: 0 kopiert jede Quelle direkt in den Job-Ordner unter path.work. Ein Wert über 0 legt die Quelle zusätzlich unter path.work/cache/<titel> ab und benutzt diese Kopie beim nächsten gleichnamigen Job wieder. Nach einem erfolgreichen Job löscht der Worker die ältesten Cache-Ordner, bis nur noch diese Anzahl übrig ist. Der Zähler spart erneutes Lesen von der Quelle.
Wirkt nicht, wenn: der Titel sich unterscheidet. Der Cache-Schlüssel ist der Ordnername, nicht der Linkcrypter-Ordner allein.
Typischer Fehler: annehmen, ein Wert über 0 schalte general.cleanWorkDir ab. Der Job-Ordner und der Cache sind zwei Verzeichnisse. cleanWorkDir löscht den Job-Ordner, keepLastElements begrenzt nur den Cache.
general.overwriteByDownload
Pfad: general.overwriteByDownload
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Gilt für die Kopie in den Job-Ordner. false: existiert der Zielordner schon, startet keine neue Kopie. true: der vorhandene Job-Ordner wird überschrieben. Die Kopie in den Cache von keepLastElements überschreibt nie.
Wirkt nicht, wenn: der Job-Ordner noch nicht existiert. Dann wird immer kopiert.
Typischer Fehler: false lassen und erwarten, dass einzelne neue Dateien in einem schon vorhandenen Job-Ordner nachgezogen werden. Der ganze Ordner wird übersprungen.
general.checkFreeSpace
Pfad: general.checkFreeSpace
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Vor dem Kopieren wird der freie Platz im Arbeitsverzeichnis mit der Quellgröße verglichen. Ein normaler Job rechnet Quellgröße mal (Anzahl Zielhoster plus 1). Ein Smart-Job rechnet mit Faktor 2. Fehlt Platz, fragt ein Terminal nach und schreibt die Zahlen ins Log.
Wirkt nicht, wenn: der Wert false ist. Die Abfrage bricht den Kopiervorgang nur ab, wenn sie selbst fehlschlägt, zum Beispiel ohne Terminal.
Typischer Fehler: den Schalter als harte Sperre verstehen, die den Job bei vollem Datenträger zuverlässig auslässt.
general.cleanWorkDir
Pfad: general.cleanWorkDir
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Nach einem erfolgreichen Job in normal oder lite-gdrive wird der Job-Ordner unter path.work gelöscht. Scan-Ordner bleiben. lite hat keinen Job-Ordner aus einer Kopie.
Wirkt nicht, wenn: der Job vor dem Aufräumen scheitert und der Prozess dabei beendet wird. Ein übersprungener Entpack-Fehler mit archive.skipOnError räumt den vorbereiteten Job-Ordner auf.
Typischer Fehler: erwarten, dass damit auch path.work/cache oder path.work/remote verschwindet. Die bleiben über keepLastElements und die Remote-Ablage erhalten.
general.sort
Pfad: general.sort
Typ: Text
Standard: name
Erlaubt: name, random, hits, hitsToday, hitsWeek
Wirkung: Reihenfolge der Offline-Ordner in einem Durchlauf. name sortiert den Titel von A nach Z. hits stellt die höchste Aufrufzahl nach vorn. Bei Filecrypt nehmen hitsToday und hitsWeek die Aufrufe von heute oder dieser Woche, hits die gesamten Aufrufe. ToLink hat nur eine Aufrufzahl. Hide.cx liefert keine Aufrufe, dort bleibt die Zahl 0. random behält die Reihenfolge, in der die Ordner vom Linkcrypter kamen. Einträge aus der Prioritätsliste der Oberfläche stehen immer vor dieser Sortierung.
Wirkt nicht, wenn: der Linkcrypter keine passenden Zahlen hat. Dann ändert hits, hitsToday oder hitsWeek die Reihenfolge praktisch nicht.
Typischer Fehler: hitsToday bei Hide.cx erwarten.
general.searchRecursive
Pfad: general.searchRecursive
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false sucht den vorbereiteten Titel nur in der ersten Ebene jedes path.scan-Pfads. true sucht auch in Unterordnern. Die Suche läuft über alle Scan-Pfade. Ein vorübergehend nicht erreichbares Laufwerk (host is down, remote address changed) wird bis zu 30 Mal im Abstand von 15 Minuten erneut versucht.
Wirkt nicht, wenn: der Release schon als Remote-Download unter path.work/remote vorliegt. Dann gewinnt der lokale Treffer zuerst, der Remote-Weg ist der Ausweg, wenn lokal nichts gefunden wird.
Typischer Fehler: true auf einem sehr großen Mount. Der Durchlauf wirkt hängend, weil jeder Titel den ganzen Baum abläuft.
general.checkpartial.enabled
Pfad: general.checkpartial.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Zusätzlich zu komplett offline Ordnern werden teilweise offline Ordner vom Linkcrypter geholt und mit bearbeitet. Gilt für Filecrypt, ToLink und Hide.cx.
Wirkt nicht, wenn: false. Dann bleiben teilweise offline Ordner liegen, bis der Linkcrypter sie als offline meldet.
Typischer Fehler: den Schalter anstellen und gleichzeitig denselben Hoster unter ignoreHoster ausnehmen und sich wundern, dass genau diese Ordner fehlen.
general.checkpartial.ignoreHoster.enabled
Pfad: general.checkpartial.ignoreHoster.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Teilweise offline Ordner, deren Hoster in hoster steht, werden übersprungen. Komplett offline Ordner bleiben unberührt.
Wirkt nicht, wenn: checkpartial.enabled aus ist, oder der Ordner nicht teilweise offline ist.
Typischer Fehler: hier komplette Offline-Ordner eines Hosters sperren wollen. Dafür den Namen aus filehoster.active entfernen oder replacehoster nutzen.
general.checkpartial.ignoreHoster.hoster
Pfad: general.checkpartial.ignoreHoster.hoster
Typ: Liste von Texten
Standard: ein Eintrag ddl.to
Erlaubt: Hoster-Namen, wie der Linkcrypter sie liefert
Wirkung: Die Namen, die bei aktivem ignoreHoster in teilweise offline Ordnern übersprungen werden. ddl.to ist der Filecrypt-Name von ddownload.com.
Wirkt nicht, wenn: ignoreHoster.enabled oder checkpartial.enabled aus ist.
Typischer Fehler: ddownload.com eintragen, während Filecrypt ddl.to meldet. Der Vergleich ist der exakte Name.
general.ignore.enabled
Pfad: general.ignore.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Ordner, deren Linkcrypter-Titel einen Eintrag aus keywords enthält, werden übersprungen. Der Vergleich nutzt den Originaltitel, vor cut und replace.
Wirkt nicht, wenn: false, oder die Liste leer ist, oder die Einträge leere Texte sind. Leere Stichwörter zählen nicht.
Typischer Fehler: ein Stichwort setzen und enabled auf false lassen.
general.ignore.keywords
Pfad: general.ignore.keywords
Typ: Liste von Texten
Standard: ein leerer Eintrag
Erlaubt: beliebige Teiltexte des Ordnernamens
Wirkung: Teiltext, keine exakte Gleichheit. 1080p trifft Film.2024.GERMAN.1080p. Groß- und Kleinschreibung zählt.
Wirkt nicht, wenn: ignore.enabled aus ist.
Typischer Fehler: den Titel nach cut erwarten. Gefiltert wird der Name, den der Linkcrypter geliefert hat.
general.contains.enabled
Pfad: general.contains.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Nur Ordner, deren Originaltitel mindestens ein Stichwort aus keywords enthält, werden bearbeitet. Alle anderen werden übersprungen.
Wirkt nicht, wenn: false. Dann gilt die Liste nicht.
Typischer Fehler: die Vorlage reupload-me stehen lassen, enabled auf true setzen und fast nichts mehr verarbeiten, weil die echten Titel das Wort nicht enthalten.
general.contains.keywords
Pfad: general.contains.keywords
Typ: Liste von Texten
Standard: reupload-me
Erlaubt: Teiltexte des Ordnernamens
Wirkung: Ein Treffer genügt. Ein leerer Eintrag trifft jeden Titel, weil ein leerer Teiltext in jedem Namen vorkommt.
Wirkt nicht, wenn: contains.enabled aus ist.
Typischer Fehler: einen leeren Listeneintrag neben echten Wörtern stehen lassen. Dann kommt jeder Ordner durch.
general.replace.enabled
Pfad: general.replace.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Ersetzt Zeichen im Linkcrypter-Titel, bevor der lokale Ordner gesucht wird und bevor smart gruppiert. Die Linkcrypter-Ordner behalten ihren Originaltitel beim Zurückschreiben der Links.
Wirkt nicht, wenn: false. Die Paare darunter werden ignoriert.
Typischer Fehler: erwarten, dass der angezeigte Name im Linkcrypter mitgeändert wird. Geändert wird nur der Suchname.
general.replace.linkcryptfolder.bychar
Pfad: general.replace.linkcryptfolder.bychar
Typ: Liste von Paaren search / replace
Standard: ein Paar mit zwei leeren Texten
Erlaubt: beliebige Texte, auch ein Leerzeichen gegen einen Punkt
Wirkung: Die Paare laufen der Reihe nach über den ganzen Titel. Aus Summer Night Holiday wird mit Suche und Ersatz . der Name Summer.Night.Holiday.
Wirkt nicht, wenn: replace.enabled aus ist.
Typischer Fehler: search leer lassen. Das ersetzt dann nichts Sinnvolles und kann den Titel zerschneiden.
replace:
enabled: true
linkcryptfolder:
bychar:
- search: ' '
replace: '.'
general.cut.enabled
Pfad: general.cut.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Schneidet den Titel nach replace am ersten Vorkommen von bychar ab und sucht lokal nur den linken Teil. 1337 - My.Test.Title.1999-Test mit - wird zu 1337. Derselbe Text ist der Smart-Gruppenschlüssel.
Wirkt nicht, wenn: false.
Typischer Fehler: einschalten, obwohl der lokale Ordner den vollen Titel trägt. Dann findet die Suche nur noch das linke Stück.
general.cut.linkcryptfolder.bychar
Pfad: general.cut.linkcryptfolder.bychar
Typ: Text
Standard: -
Erlaubt: die Zeichenfolge, an der getrennt wird
Wirkung: Der Titel wird an dieser Folge geteilt. Übrig bleibt der Teil davor.
Wirkt nicht, wenn: cut.enabled aus ist. Ein leerer Text bei eingeschaltetem Cut zerteilt den Titel in einzelne Zeichen, der Suchname wird das erste Zeichen.
Typischer Fehler: bychar: '' bei enabled: true.
general.parallel.hoster
Pfad: general.parallel.hoster
Typ: Zahl
Standard: 1
Erlaubt: 1 oder höher
Wirkung: Wie viele File- und Streamhoster eines Jobs gleichzeitig hochladen. 1 bleibt nacheinander. Es starten nur Hoster, die in active stehen und an diesem Job hängen. Das gilt auch für Smart-Jobs mit mehreren Zielhostern.
Wirkt nicht, wenn: der Job nur einen Zielhoster hat.
Typischer Fehler: hier die parallelen Dateien eines einzelnen Hosters suchen. Die stehen unter services.<schlüssel>.parallel.
general.parallel.copy
Pfad: general.parallel.copy
Typ: Zahl
Standard: 1
Erlaubt: 1 bis 20
Wirkung: Wie viele Dateien beim Kopieren gleichzeitig laufen.
Wirkt nicht, wenn: der Wert unter 1 oder über 20 liegt. Dann bricht das Kopieren mit einer Fehlermeldung ab.
Typischer Fehler: 50 eintragen. Der Job scheitert am Kopieren, nicht am Upload.
general.copy steht nicht in der Reupper-Vorlage. Ergänzt du selbst general.copy.exclude.enabled: true und keywords, lässt der Kopiervorgang Pfade aus, die eines dieser Wörter enthalten. Das ist ein Zusatz, kein mitgelieferter Schalter.
bandwidth.quota
Der Zähler liegt in bandwidth_quota.json unter dem Benutzer-Konfigurationsordner go-reupper (unter Linux typisch ~/.config/go-reupper/). Remote-Downloads zählen als Download, sobald das Release lokal liegt. Eine zweite Kopie aus path.work/remote in den Job-Ordner zählt nicht noch einmal. Liegt das Limit über dem bisherigen Verbrauch, fragt ein Terminal nach. Ohne Antwort, oder mit Ablehnung, bricht dieser Transfer ab. Eine Bestätigung setzt den Zähler zurück und macht weiter.
bandwidth.quota.enabled
Pfad: bandwidth.quota.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true zählt Download und Upload und wendet die Grenzen an. false zählt nicht und blockiert nicht.
Wirkt nicht, wenn: false.
Typischer Fehler: Grenzen eintragen und enabled auf false lassen.
bandwidth.quota.resetInterval
Pfad: bandwidth.quota.resetInterval
Typ: Text
Standard: month
Erlaubt: month, day
Wirkung: month setzt Download und Upload auf 0, sobald ein neuer Kalendermonat begonnen hat. day setzt beide auf 0, sobald seit dem letzten Reset mehr als 24 Stunden vergangen sind.
Wirkt nicht, wenn: enabled aus ist.
Typischer Fehler: resetDay als den einzigen Reset-Tag verstehen. Der Monatswechsel setzt den Zähler auch dann zurück.
bandwidth.quota.resetDay
Pfad: bandwidth.quota.resetDay
Typ: Zahl
Standard: 1
Erlaubt: in der Vorlage als Tag im Monat beschrieben
Wirkung: Das Feld wird gelesen. Der sichtbare Reset hängt am Intervall oben: Monatswechsel oder 24 Stunden, nicht an einem einzelnen Tag oder einer einzelnen Stunde.
Wirkt nicht, wenn: enabled aus ist.
Typischer Fehler: 15 eintragen und den Reset am 15. eines Monats erwarten.
bandwidth.quota.download
Pfad: bandwidth.quota.download
Typ: Zahl, Bytes
Standard: 1099511627776 (1 TB)
Erlaubt: Byte-Grenze. 536870912000 ist 500 GB, 10995116277760 ist 10 TB.
Wirkung: Obergrenze für gezählten Download. Darüber die Rückfrage aus dem Abschnittsanfang.
Wirkt nicht, wenn: enabled aus ist.
Typischer Fehler: 1000 eintragen und Gigabyte meinen. Die Einheit ist Byte.
bandwidth.quota.upload
Pfad: bandwidth.quota.upload
Typ: Zahl, Bytes
Standard: 0
Erlaubt: 0 oder eine Byte-Grenze
Wirkung: 0 zählt den geschätzten Upload mit und blockiert ihn nicht. Ein Wert über 0 blockiert wie der Download, sobald die Summe darüber liegt. Gerechnet wird die Größe der Upload-Dateien mal die Anzahl der Zielhoster dieses Jobs, bevor der Upload startet.
Wirkt nicht, wenn: enabled aus ist, oder der Wert 0 ist und nur eine Sperre erwartet wird.
Typischer Fehler: 0 als „kein Upload erlaubt“ lesen. 0 heißt zählen, nicht sperren.
expert.updateFolderModificationTime
Pfad: expert.updateFolderModificationTime
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Nach einem erfolgreichen Job setzt der Worker Zeitstempel des gefundenen Quellordners auf jetzt. Das läuft unter Windows und Linux. Ein Fehler dabei wird geloggt, der Job bleibt erfolgreich.
Wirkt nicht, wenn: false, oder das System weder Windows noch Linux ist.
Typischer Fehler: den Schalter anstellen, damit der Linkcrypter-Ordner ein neues Datum bekommt. Geändert wird der lokale Quellordner.
result.txt
Geschrieben wird nach erfolgreichem Ersetzen der Links. Fehlt enabled oder path, entsteht keine Datei. Das Verzeichnis von path wird bei Bedarf angelegt.
result.txt.enabled
Pfad: result.txt.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true hängt fertige Jobs an die Textdatei an.
Wirkt nicht, wenn: false oder path leer ist.
Typischer Fehler: nur enabled: true setzen und path leer lassen.
result.txt.mode
Pfad: result.txt.mode
Typ: Text
Standard: default
Erlaubt: default, inline
Wirkung: default schreibt mehrere Zeilen: Name, bei einem Smart-Job auch FolderID, Status und Hoster, danach die Links je Hoster. inline schreibt eine Zeile je Ziel. Ein normaler Job trennt mit Komma, ein Smart-Job mit Semikolon: Datum, Originalname, Hoster, Linkcrypter-Link, Status, FolderID, Upload-Links.
Wirkt nicht, wenn: enabled aus ist.
Typischer Fehler: einen dritten Modus erfinden. Alles außer inline nimmt das Mehrzeilen-Format.
result.txt.path
Pfad: result.txt.path
Typ: Text
Standard: leer
Erlaubt: voller Pfad einer Textdatei, zum Beispiel C:\Results\reup-list.txt
Wirkung: Zieldatei. Neue Jobs werden angehängt.
Wirkt nicht, wenn: leer, auch bei enabled: true.
Typischer Fehler: ein Verzeichnis statt einer Datei eintragen.
path
path.cache ist kein Schalter. Der Worker setzt den Cache selbst auf path.work/cache. path.result steht nicht in der Reupper-Vorlage.
path.scan
Pfad: path.scan
Typ: Liste von Texten
Standard: zwei Beispiele, /var/www/backup/ und C:\Users\You\Videos\
Erlaubt: vorhandene Verzeichnisse. Die Vorlage erwartet ein abschließendes / oder \.
Wirkung: Ordner, in denen der vorbereitete Titel gesucht wird. Mindestens ein Eintrag, sonst startet das Programm nicht. Nicht benutzte Beispiele aus der Liste entfernen. Remote-Releases liegen zusätzlich unter path.work/remote und werden gesucht, wenn lokal nichts passt.
Wirkt nicht, wenn: die Liste leer ist. Dann gibt es keinen Start.
Typischer Fehler: die Beispielpfade stehen lassen. Die Suche läuft ins Leere oder auf ein fremdes Verzeichnis.
path.winrar
Pfad: path.winrar
Typ: Text
Standard: leer
Erlaubt: Windows zum Beispiel C:\Program Files\WinRAR\WinRAR.exe, Linux rar, wenn es im PATH liegt
Wirkung: Programm für neue RAR-Archive. Auch wenn archive.extractor auf 7zip steht, packt WinRAR. Dieselbe Datei nutzt Modus 4 der MD5-Änderung, um einen RAR-Kommentar zu setzen.
Wirkt nicht, wenn: weder gepackt noch ein RAR-Kommentar geschrieben wird, also lite ohne md5change Modus 4.
Typischer Fehler: nur 7-Zip eintragen und path.winrar leer lassen. Das Neu-Packen im Modus normal braucht WinRAR.
path.sevenzip
Pfad: path.sevenzip
Typ: Text
Standard: leer
Erlaubt: Windows C:\Program Files\7-Zip\7z.exe, Linux und macOS 7zz oder 7z
Wirkung: Nur das Entpacken, und nur wenn archive.extractor 7zip oder 7z ist.
Wirkt nicht, wenn: der Entpacker WinRAR bleibt. Dann darf das Feld leer sein.
Typischer Fehler: hier das Programm eintragen, mit dem die Upload-Archive erzeugt werden sollen. Erzeugt wird immer RAR über path.winrar.
path.base
Pfad: path.base
Typ: Text
Standard: leer
Erlaubt: Verzeichnis der Installation
Wirkung: Leer heißt: beim normalen Start das Arbeitsverzeichnis, beim Start über die Oberfläche das Verzeichnis der Programmdatei. Relative Pfade wie path.work und remote.statePath hängen daran, wenn sie nicht absolut sind.
Wirkt nicht, wenn: ein absoluter Pfad gesetzt ist. Dann gilt der.
Typischer Fehler: das Feld leer lassen und den Worker aus einem anderen Verzeichnis starten. Dann zeigen relative Pfade woanders hin.
path.work
Pfad: path.work
Typ: Text
Standard: leer, wirksam dann files unter path.base
Erlaubt: ein Verzeichnis. Ein abschließendes / oder \ ist erlaubt.
Wirkung: Job-Ordner, Cache (cache) und Remote-Ablage (remote/<server>/<section>). Ein gemeinsamer Cache mit Go-Upper entsteht nur, wenn beide dasselbe path.work und dieselbe remote.statePath nutzen.
Wirkt nicht, wenn: es kein zweites Arbeitsverzeichnis gibt.
Typischer Fehler: path.work auf denselben Ordner wie path.scan legen. Arbeitskopien und Quellen vermischen sich.
Remote-Quellen
Gilt der Block aus remote.sources.yml, wenn remoteConfig darauf zeigt, sonst ein remote:-Block in reupper.config.yml. Die Vorlage der externen Datei ist config/remote.sources.dist.yml.
Remote ist zusätzlich zu path.scan. Der erste Scan eines Servers oder einer Section merkt vorhandene Releases nur und lädt nichts (firstScanMode muss baseline-only sein). Neu erkannte Sections bleiben aus, bis du sie einschaltest. Downloads laufen nach path.work/remote/<server-id>/<section-id>. Zuerst nach .partial/<release-id>, nach Erfolg in den endgültigen Ordner. FTP und FTPS setzen mit REST fort, SFTP per Seek. Ein eigener cachePath existiert nicht.
${NAME} in password und sftp.privateKeyPassphrase liest die Umgebungsvariable NAME. Anderer Text bleibt das Passwort selbst.
remote.enabled
Pfad: remote.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true schaltet FTP, FTPS und SFTP zusätzlich zu den lokalen Scan-Pfaden ein und prüft den restlichen Block beim Start.
Wirkt nicht, wenn: false. Die Serverliste wird dann nicht geprüft und nicht benutzt.
Typischer Fehler: Server ausfüllen und enabled auf false lassen.
remote.statePath
Pfad: remote.statePath
Typ: Text
Standard: database/remote-sources.db
Erlaubt: Pfad einer SQLite-Datei, relativ zu path.base oder absolut
Wirkung: Baseline, Sections, Releases und Transferstatus. Dieselbe Datei und dasselbe path.work teilen den Download zwischen Upper und Reupper.
Wirkt nicht, wenn: remote.enabled aus ist.
Typischer Fehler: zwei Installationen auf verschiedene State-Dateien zeigen lassen und dieselbe FTP-Quelle erwarten. Jede Datei führt eine eigene Baseline.
remote.firstScanMode
Pfad: remote.firstScanMode
Typ: Text
Standard: baseline-only
Erlaubt: nur baseline-only
Wirkung: Der erste Scan merkt vorhandene Releases und lädt sie nicht. Spätere neue Ordner können geladen werden.
Wirkt nicht, wenn: ein anderer Wert bei remote.enabled: true steht. Der Start bricht ab.
Typischer Fehler: den Wert auf download-all ändern. Diesen Modus gibt es nicht.
remote.scanIntervalSeconds
Pfad: remote.scanIntervalSeconds
Typ: Zahl, Sekunden
Standard: 600
Erlaubt: 0 oder größer. Ein negativer Wert bricht den Start ab, sobald Remote an ist.
Wirkung: Mindestabstand zwischen Remote-Scans.
Wirkt nicht, wenn: remote.enabled aus ist. Das ist nicht general.checkinterval.
Typischer Fehler: beide Intervalle für dasselbe halten.
remote.servers
Pfad: remote.servers
Typ: Liste
Standard: ein ausgeschaltetes Beispiel
Erlaubt: beliebig viele Server
Wirkung: Jeder Eintrag ist ein FTP-, FTPS- oder SFTP-Server. Ausgeschaltete Server müssen eine eindeutige id haben. Eingeschaltete Server brauchen zusätzlich Protokoll und Host. Die Prüfung der restlichen Felder läuft nur für eingeschaltete Server.
Wirkt nicht, wenn: die Liste leer ist oder remote.enabled aus ist.
Typischer Fehler: zwei Server mit derselben id. Der Start bricht ab.
remote.servers[].id
Pfad: remote.servers[].id
Typ: Text
Standard: example-ftps
Erlaubt: eindeutiger technischer Name
Wirkung: Schlüssel in der State-Datei und im Pfad path.work/remote/<id>/. Nach dem ersten Scan nicht mehr umbenennen, sonst verliert der State den Bezug.
Wirkt nicht, wenn: leer. Bei aktivem Remote bricht der Start ab.
Typischer Fehler: die id ändern, nachdem schon eine Baseline existiert.
remote.servers[].label
Pfad: remote.servers[].label
Typ: Text
Standard: Example FTPS
Erlaubt: beliebiger Anzeigename
Wirkung: Name in Log und Oberfläche. Die id bleibt der technische Schlüssel.
Wirkt nicht, wenn: er nur zur Anzeige dient. Leer ist erlaubt.
Typischer Fehler: label statt id als den stabilen Namen behandeln.
remote.servers[].enabled
Pfad: remote.servers[].enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false ignoriert den Server komplett, auch wenn remote.enabled an ist. true scannt ihn, sobald Host und Protokoll gültig sind.
Wirkt nicht, wenn: remote.enabled aus ist.
Typischer Fehler: nur die Section einschalten und den Server auf false lassen.
remote.servers[].protocol
Pfad: remote.servers[].protocol
Typ: Text
Standard: ftps
Erlaubt: ftp, ftps, sftp
Wirkung: ftp ist unverschlüsseltes FTP, ftps ist FTP mit TLS, sftp ist SSH. Großschreibung wird kleingeschrieben.
Wirkt nicht, wenn: der Server aus ist. Ein anderer Text bricht den Start bei eingeschaltetem Server ab.
Typischer Fehler: ftp eintragen und TLS-Felder erwarten. TLS gilt für ftps.
remote.servers[].host
Pfad: remote.servers[].host
Typ: Text
Standard: ftp.example.org
Erlaubt: Hostname oder IP
Wirkung: Ziel der Verbindung. Bei leerem tls.serverName ist das auch der TLS-Name.
Wirkt nicht, wenn: der Server aus ist. Leer bei eingeschaltetem Server bricht den Start ab.
Typischer Fehler: eine URL mit ftps:// statt des reinen Hostnamens.
remote.servers[].port
Pfad: remote.servers[].port
Typ: Zahl
Standard: 21 im Beispiel. 0 oder leer nimmt den Protokoll-Standard.
Erlaubt: 0 oder ein Port. Negativ bricht den Start ab.
Wirkung: 0 bedeutet für FTP und explizites FTPS Port 21, für implizites FTPS 990, für SFTP 22.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: bei implizitem FTPS Port 21 stehen lassen. Implizit erwartet 990, sofern du keinen anderen Port setzt.
remote.servers[].user
Pfad: remote.servers[].user
Typ: Text
Standard: username
Erlaubt: Login-Name. Leer bei FTP heißt anonymous.
Wirkung: Benutzername.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: bei SFTP mit Schlüssel den Benutzer leer lassen. Der Benutzer bleibt nötig.
remote.servers[].password
Pfad: remote.servers[].password
Typ: Text
Standard: ${REMOTE_SOURCE_PASSWORD}
Erlaubt: Passwort oder ${UMGEBUNGSVARIABLE}
Wirkung: Passwort. Die Form ${NAME} liest die Variable NAME. Der Wert landet nicht im Log.
Wirkt nicht, wenn: SFTP sich nur über privateKeyPath anmeldet und kein Passwort braucht.
Typischer Fehler: ${REMOTE_SOURCE_PASSWORD} stehen lassen, ohne die Variable zu setzen. Dann ist das Passwort leer.
remote.servers[].tls.mode
Pfad: remote.servers[].tls.mode
Typ: Text
Standard: explicit. Leer bei FTPS wird zu explicit.
Erlaubt: explicit, implicit
Wirkung: explicit startet TLS mit AUTH TLS, üblich auf Port 21. implicit ist ab der ersten Verbindung verschlüsselt, üblich auf Port 990.
Wirkt nicht, wenn: das Protokoll ftp oder sftp ist.
Typischer Fehler: implicit auf Port 21. Der Handshake passt dann nicht zum Server.
remote.servers[].tls.serverName
Pfad: remote.servers[].tls.serverName
Typ: Text
Standard: leer
Erlaubt: TLS-Name (SNI). Leer benutzt host.
Wirkung: Name, gegen den das Zertifikat geprüft wird, wenn er vom Host abweicht.
Wirkt nicht, wenn: leer. Dann gilt host.
Typischer Fehler: hier den Benutzernamen eintragen.
remote.servers[].tls.insecureSkipVerify
Pfad: remote.servers[].tls.insecureSkipVerify
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true akzeptiert Zertifikate, die die Prüfung nicht bestehen, auch selbst signierte. Die Verbindung ist dann nicht mehr gegen einen gefälschten Server abgesichert.
Wirkt nicht, wenn: false.
Typischer Fehler: true dauerhaft lassen, obwohl nur der serverName falsch war.
remote.servers[].tls.sessionReuse
Pfad: remote.servers[].tls.sessionReuse
Typ: Wahrheitswert
Standard: true. Weglassen gilt ebenfalls als true.
Erlaubt: true, false
Wirkung: Der FTPS-Datenkanal benutzt die TLS-Sitzung der Steuerverbindung wieder und bleibt bei TLS 1.2. Das brauchen unter anderem DrFTPD und vsftpd.
Wirkt nicht, wenn: das Protokoll kein FTPS ist.
Typischer Fehler: false setzen, weil ein Datenkanal hängt. Bei vielen FTPS-Servern hängt er dann erst recht.
remote.servers[].sftp.hostKeyPolicy
Pfad: remote.servers[].sftp.hostKeyPolicy
Typ: Text
Standard: known_hosts. Leer wird dazu.
Erlaubt: known_hosts, insecure
Wirkung: known_hosts prüft den SSH-Host-Key. insecure prüft ihn nicht.
Wirkt nicht, wenn: das Protokoll kein SFTP ist. Ein anderer Text bricht den Start bei eingeschaltetem Server ab.
Typischer Fehler: insecure statt den Key einmalig in known_hosts aufzunehmen.
remote.servers[].sftp.knownHostsPath
Pfad: remote.servers[].sftp.knownHostsPath
Typ: Text
Standard: leer
Erlaubt: Pfad einer known_hosts-Datei. Leer ist ~/.ssh/known_hosts.
Wirkung: Datei für die Host-Key-Prüfung.
Wirkt nicht, wenn: hostKeyPolicy auf insecure steht, oder das Protokoll kein SFTP ist.
Typischer Fehler: einen Ordner statt der Datei angeben.
remote.servers[].sftp.privateKeyPath
Pfad: remote.servers[].sftp.privateKeyPath
Typ: Text
Standard: leer
Erlaubt: Pfad eines privaten SSH-Schlüssels
Wirkung: Anmeldung per Schlüssel. Leer benutzt das Passwort.
Wirkt nicht, wenn: leer, oder das Protokoll kein SFTP ist.
Typischer Fehler: den öffentlichen Schlüssel statt des privaten eintragen.
remote.servers[].sftp.privateKeyPassphrase
Pfad: remote.servers[].sftp.privateKeyPassphrase
Typ: Text
Standard: leer
Erlaubt: Passphrase oder ${UMGEBUNGSVARIABLE}
Wirkung: Passphrase des privaten Schlüssels. ${NAME} liest die Umgebungsvariable.
Wirkt nicht, wenn: der Schlüssel keine Passphrase hat oder kein Schlüssel gesetzt ist.
Typischer Fehler: die Passphrase in password schreiben und dieses Feld leer lassen.
remote.servers[].compatibility.drftpd
Pfad: remote.servers[].compatibility.drftpd
Typ: Wahrheitswert
Standard: true im Beispiel
Erlaubt: true, false
Wirkung: true schaltet das Verhalten für DrFTPD ein, unter anderem den Umgang mit Zipscript-Statuszeilen.
Wirkt nicht, wenn: der Server kein DrFTPD ist und du false setzt.
Typischer Fehler: true auf einem gewöhnlichen vsftpd lassen und PRET-Kommandos schicken, die der Server nicht kennt. Dann pret auf false stellen.
remote.servers[].compatibility.pret
Pfad: remote.servers[].compatibility.pret
Typ: Text
Standard: auto
Erlaubt: auto, true, false
Wirkung: auto sendet PRET, wenn DrFTPD an ist. true sendet PRET immer, false nie.
Wirkt nicht, wenn: ein anderer Text steht. Der Start bricht ab.
Typischer Fehler: yes statt true.
remote.servers[].compatibility.listCommand
Pfad: remote.servers[].compatibility.listCommand
Typ: Text
Standard: auto
Erlaubt: auto, mlsd, list
Wirkung: auto versucht MLSD und fällt sonst auf LIST zurück. mlsd oder list erzwingen das eine Kommando.
Wirkt nicht, wenn: ein anderer Text steht. Der Start bricht ab.
Typischer Fehler: LIST in Großbuchstaben. Der Wert wird kleingeschrieben und ist dann list, das ist in Ordnung. dir ist keines der drei und bricht ab.
remote.servers[].compatibility.passiveMode
Pfad: remote.servers[].compatibility.passiveMode
Typ: Wahrheitswert
Standard: true. Weglassen gilt ebenfalls als true.
Erlaubt: true, false
Wirkung: FTP-Datenverbindungen passiv. Das ist der vorgesehene Weg.
Wirkt nicht, wenn: das Protokoll SFTP ist.
Typischer Fehler: false setzen, um einen hängenden Transfer zu reparieren. Aktiv-FTP scheitert hinter den meisten Routern.
remote.servers[].compatibility.timezone
Pfad: remote.servers[].compatibility.timezone
Typ: Text
Standard: UTC. Leer wird zu UTC.
Erlaubt: eine Zeitzone, die das Programm kennt, zum Beispiel UTC oder Europe/Berlin
Wirkung: Zeitzone, wenn LIST keine eindeutige Zeit liefert.
Wirkt nicht, wenn: die Listung selbst eine volle Zeit enthält.
Typischer Fehler: Berlin statt Europe/Berlin.
remote.servers[].compatibility.utf8
Pfad: remote.servers[].compatibility.utf8
Typ: Wahrheitswert
Standard: true. Weglassen gilt ebenfalls als true.
Erlaubt: true, false
Wirkung: FTP meldet UTF-8, damit Umlaute und Sonderzeichen im Listing lesbar bleiben.
Wirkt nicht, wenn: der Server UTF-8 nicht unterstützt. Dann kann false nötig sein.
Typischer Fehler: false lassen und sich über zerstörte Ordnernamen wundern.
remote.servers[].parallel.scanSlots
Pfad: remote.servers[].parallel.scanSlots
Typ: Zahl
Standard: 1. 0 wird zu 1.
Erlaubt: 0 oder größer. Negativ bricht den Start ab.
Wirkung: Vorgesehen für parallele Section-Scans dieses Servers. Die Vorlage lässt 1.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: den Wert mit transferSlots verwechseln. Scannen und Herunterladen sind zwei Grenzen.
remote.servers[].parallel.transferSlots
Pfad: remote.servers[].parallel.transferSlots
Typ: Zahl
Standard: 1. 0 wird zu 1.
Erlaubt: 0 oder größer
Wirkung: Gleichzeitige Downloads von diesem Server.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: hier general.parallel.copy noch einmal setzen. Die Kopie vom lokalen Cache in den Job-Ordner ist ein anderer Schalter.
remote.servers[].parallel.maxConnections
Pfad: remote.servers[].parallel.maxConnections
Typ: Zahl
Standard: 3. 0 wird zu 3.
Erlaubt: 0 oder größer
Wirkung: Obergrenze gleichzeitiger Verbindungen zu diesem Server.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: transferSlots höher als maxConnections setzen und mehr parallele Downloads erwarten, als die Verbindungsgrenze hergibt.
remote.servers[].discovery.enabled
Pfad: remote.servers[].discovery.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Liest die Ordner unter roots und kann neue Sections anlegen. Gefundene Sections folgen autoEnableNewSections.
Wirkt nicht, wenn: false. Dann gelten nur Sections, die du unter sections einträgst.
Typischer Fehler: einschalten und erwarten, dass jeder neue Ordner sofort geladen wird. Neue Sections starten aus.
remote.servers[].discovery.roots
Pfad: remote.servers[].discovery.roots
Typ: Liste von Texten
Standard: /
Erlaubt: Startordner auf dem Server. Leer bei aktiver Discovery wird zu /.
Wirkung: Dort wird nach Section-Kandidaten gesucht.
Wirkt nicht, wenn: discovery.enabled aus ist.
Typischer Fehler: / auf einem Server mit sehr vielen Bereichen. Besser der konkrete Eingangsordner, zum Beispiel /incoming/.
remote.servers[].discovery.autoAddSections
Pfad: remote.servers[].discovery.autoAddSections
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Gefundene Ordner werden in State und Oberfläche sichtbar.
Wirkt nicht, wenn: Discovery aus ist.
Typischer Fehler: das mit dem Einschalten verwechseln. Sichtbar heißt hier noch nicht aktiv.
remote.servers[].discovery.autoEnableNewSections
Pfad: remote.servers[].discovery.autoEnableNewSections
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false lässt neue Sections aus. true schaltet sie sofort ein.
Wirkt nicht, wenn: Discovery aus ist.
Typischer Fehler: true auf einem Server, dessen Root auch Systemordner enthält. Die Filter include und exclude darunter begrenzen die Kandidaten.
remote.servers[].discovery.include und exclude
Pfad: remote.servers[].discovery.include und remote.servers[].discovery.exclude
Typ: Listen von Texten
Standard: include: ['*'], exclude enthält .ftpquota
Erlaubt: Teiltext oder Glob. * lässt alles zu.
Wirkung: Nur Ordner, die include treffen und exclude nicht, werden Section-Kandidaten. Das filtert die Section-Namen, nicht die Releases darin.
Wirkt nicht, wenn: Discovery aus ist.
Typischer Fehler: hier die Release-Filter erwarten. Die stehen in der Section unter filters.
remote.servers[].sections
Pfad: remote.servers[].sections
Typ: Liste
Standard: zwei ausgeschaltete Beispiele movies und games
Erlaubt: beliebig viele Sections je Server
Wirkung: Ein Remote-Ordner, dessen direkte Unterordner die Releases sind. Jede Section braucht eine id, die auf diesem Server einmalig ist.
Wirkt nicht, wenn: der Server aus ist.
Typischer Fehler: zwei Sections mit derselben id. Der Start bricht ab.
remote.servers[].sections[].id, label, enabled
Pfad: id, label, enabled innerhalb einer Section
Typ: Text, Text, Wahrheitswert
Standard: movies / Movies / false
Erlaubt: eindeutige id, beliebiger Anzeigename, true oder false
Wirkung: id ist der technische Name und Teil des lokalen Pfads. label ist die Anzeige. enabled: false merkt die Section und lädt sie nicht. Automatisch gefundene Sections bleiben aus, bis du enabled auf true setzt. Die Oberfläche schreibt dasselbe.
Wirkt nicht, wenn: der Server aus ist. Eine leere id bricht den Start bei eingeschaltetem Server ab.
Typischer Fehler: die Section einschalten, den Server aber nicht.
remote.servers[].sections[].path
Pfad: remote.servers[].sections[].path
Typ: Text
Standard: /section/movies/
Erlaubt: absoluter Remote-Pfad
Wirkung: In diesem Ordner ist jeder direkte Unterordner ein Release.
Wirkt nicht, wenn: die Section aus ist.
Typischer Fehler: den Pfad einer einzelnen Release eintragen. Eingetragen wird der Ordner, der die Releases enthält.
remote.servers[].sections[].recursive
Pfad: remote.servers[].sections[].recursive
Typ: Wahrheitswert
Standard: false
Erlaubt: false. true ist reserviert und sucht Releases nicht rekursiv.
Wirkung: Die Section sieht die direkten Unterordner.
Wirkt nicht, wenn: true gesetzt wird in der Erwartung, verschachtelte Releases zu finden. Dafür ist der Schalter nicht da.
Typischer Fehler: true setzen und verschachtelte Staffeln erwarten.
remote.servers[].sections[].download
Pfad: remote.servers[].sections[].download
Typ: Wahrheitswert
Standard: true. Weglassen gilt ebenfalls als true.
Erlaubt: true, false
Wirkung: true lädt neue, noch nicht in der Baseline enthaltene Releases nach path.work/remote. false scannt und merkt sie, ohne Dateien zu holen.
Wirkt nicht, wenn: die Section oder der Server aus ist.
Typischer Fehler: download: true und erwarten, dass der erste Scan den vorhandenen Bestand holt. Der erste Scan ist nur die Baseline.
remote.servers[].sections[].requireComplete.enabled
Pfad: remote.servers[].sections[].requireComplete.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true lädt nur Releases, deren FTP-LIST einen Zipscript-COMPLETE-Status zeigt, in der Form [SSF] - ( … COMPLETE ) - [SSF]. INCOMPLETE, Prozentangaben wie 50% COMPLETE und fehlende Tags bleiben liegen und werden beim nächsten Scan erneut geprüft. Die Statuszeile selbst wird nicht heruntergeladen. Der Standard false lässt Server ohne Zipscript unverändert.
Wirkt nicht, wenn: false, oder das Listing kein FTP-LIST ist, das diese Zeile trägt.
Typischer Fehler: einschalten auf einem Server ohne Zipscript. Dann wird nichts fertig, weil das COMPLETE-Tag fehlt.
remote.servers[].sections[].requireComplete.complete und incomplete
Pfad: complete und incomplete
Typ: Listen von Texten
Standard: leer
Erlaubt: Teiltexte, Großschreibung egal. Leer benutzt den eingebauten Parser.
Wirkung: Eigene COMPLETE- und INCOMPLETE-Texte für Server mit anderem Statuswort. Ein Treffer in incomplete gewinnt immer. Beispiele für complete: - COMPLETE) oder 100.0% Complete.
Wirkt nicht, wenn: requireComplete.enabled aus ist, oder beide Listen leer sind. Dann gilt der eingebaute Parser.
Typischer Fehler: 50% COMPLETE als complete-Muster. Prozentangaben sollen liegen bleiben. Dafür ist incomplete da.
remote.servers[].sections[].filters.include und exclude
Pfad: filters.include und filters.exclude
Typ: Liste. Ein Eintrag ist ein Text oder eine Liste von Texten.
Standard im Beispiel: include 2025, 2026, 1080p, 2160p, exclude 2024
Erlaubt: Teiltext oder Glob wie *1080p*
Wirkung: Filter vor dem Download, auf den Release-Ordnernamen. Zeilen sind ODER. Werte in einer Zeile, geschrieben als [GERMAN, 1080p], sind UND. exclude gewinnt gegen include. Ein Muster mit / gilt zusätzlich für den Remote-Pfad. Der Section-Pfad selbst ist kein Treffer: movies trifft nicht jeden Ordner unter /section/movies/. Leere Listen laden alles. Ein einzelner Text bleibt ein einzelner Text.
Wirkt nicht, wenn: beide Listen leer sind oder nur leere Texte enthalten.
Typischer Fehler: include: 'GERMAN, 1080p' als eine Zeichenkette. Das sucht das Komma im Namen. UND schreibt man als Liste in einer Zeile.
filters:
include:
- '2025'
- ['GERMAN', '1080p']
exclude:
- '2024'
linkcrypter
linkcrypter.service
Pfad: linkcrypter.service
Typ: Text
Standard: filecrypt
Erlaubt: filecrypt, tolink, hidecx
Wirkung: Dienst, von dem die offline Ordner gelesen und in den die neuen Links geschrieben werden. Ein anderer Name bricht beim Ersetzen der Links ab.
Wirkt nicht, wenn: der API-Key leer ist. Dann endet der Start vorher.
Typischer Fehler: keeplinks.org hier eintragen. Keeplinks ist nur ein Backup-Dienst.
linkcrypter.apikey
Pfad: linkcrypter.apikey
Typ: Text
Standard: leer
Erlaubt: der API-Key des gewählten Dienstes
Wirkung: Zugang zum Linkcrypter. Leer bricht den Start ab.
Wirkt nicht, wenn: es keinen zweiten Key für den Hauptdienst gibt. Backup-Dienste haben eigene Keys.
Typischer Fehler: den Key des Backup-Dienstes hier eintragen.
linkcrypter.multiHosterMode
Pfad: linkcrypter.multiHosterMode
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false nimmt bei Filecrypt und ToLink nur den ersten Hoster des Ordners. true nimmt alle Hoster dieses Ordners. Hide.cx als Hauptdienst liefert nur den primären Hoster, der Schalter fügt dort keine weiteren hinzu. Dieselbe Einstellung geht an die Backup-Dienste, wenn die den Ordner anpassen.
Wirkt nicht, wenn: der Ordner nur einen Hoster enthält.
Typischer Fehler: true setzen, ohne jeden genannten Hoster unter filehoster.active oder streamhoster.active zu haben. Fehlt einer, wird der Ordner übersprungen.
linkcrypter.backup.enabled
Pfad: linkcrypter.backup.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Nach dem Aktualisieren des Hauptordners werden die neuen Links zusätzlich bei jedem Dienst unter services in einem gleichnamigen Ordner gesucht und ersetzt.
Wirkt nicht, wenn: false.
Typischer Fehler: erwarten, dass ein Backup-Fehler den Hauptordner unangetastet lässt. Der Hauptordner ist dann schon geschrieben. Der Job gilt trotzdem als Fehler.
linkcrypter.backup.services
Pfad: linkcrypter.backup.services
Typ: Liste von service und apikey
Standard: ein Eintrag hidecx mit leerem Key. In Kommentaren zusätzlich keeplinks.org und filecrypt.
Erlaubt: hidecx, keeplinks.org, filecrypt
Wirkung: Jeder Eintrag mit bekanntem Dienst und eigenem API-Key wird nach dem Hauptordner aktualisiert. Ein unbekannter service-Name wird übersprungen. Ein Fehler eines bekannten Dienstes bricht den Job ab.
Wirkt nicht, wenn: backup.enabled aus ist.
Typischer Fehler: denselben Dienst wie linkcrypter.service ohne eigenen Key noch einmal eintragen.
linkcrypter.options (Passwort, Captcha, CNL, DLC) steht nicht in der Reupper-Vorlage. Der Reupper-Ablauf setzt diese Felder nicht.
archive
Neue Archive sind immer RAR und entstehen immer über path.winrar. 7-Zip entpackt nur.
archive.mode
Pfad: archive.mode
Typ: Text
Standard: rar
Erlaubt: rar. zip ist nicht implementiert.
Wirkung: Der produktive Archivtyp ist RAR.
Wirkt nicht, wenn: zip gesetzt wird. Es entstehen dadurch keine ZIP-Dateien.
Typischer Fehler: zip eintragen und ZIP-Uploads erwarten.
archive.extractor
Pfad: archive.extractor
Typ: Text
Standard: winrar
Erlaubt: winrar, rar, leer (bleibt WinRAR), 7zip, 7z
Wirkung: Wählt nur das Programm zum Entpacken. Leer, winrar und rar nehmen path.winrar und die Optionen unter archive.winrar. 7zip und 7z nehmen path.sevenzip und archive.sevenzip. Ein anderer Wert bricht das Entpacken ab.
Wirkt nicht, wenn: general.extractRARs aus ist oder der Workmode nicht normal ist.
Typischer Fehler: 7zip setzen und path.sevenzip leer lassen.
archive.skipOnError
Pfad: archive.skipOnError
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false: ein fehlgeschlagenes Entpacken beendet den Prozess. true: nur wenn WinRAR oder 7-Zip gestartet ist und mit einem Fehler beendet wurde, schreibt der Worker den Fehler ins Error-Log, schickt bei eingeschalteter Fehler-Benachrichtigung eine Meldung und überspringt diesen Eintrag. Die restliche Queue läuft weiter. Ein Entpacker, der sich nicht starten lässt, ein unbekannter Entpacker und ein Fehler beim Neu-Packen beenden den Prozess weiter.
Wirkt nicht, wenn: das Entpacken gar nicht läuft.
Typischer Fehler: erwarten, dass ein Packfehler beim Erzeugen der neuen RARs ebenfalls übersprungen wird.
archive.partsize
Pfad: archive.partsize
Typ: Text
Standard: 200m
Erlaubt: eine WinRAR-Größenangabe. 200m sind 200 Megabyte.
Wirkung: Größe der neuen Archivteile im Workmode normal.
Wirkt nicht, wenn: lite oder lite-gdrive. Dort werden keine neuen Archive erzeugt.
Typischer Fehler: 200 ohne Einheit. WinRAR bekommt dann keine klare Teilgröße.
archive.pw
Pfad: archive.pw
Typ: Text
Standard: leer
Erlaubt: Archivpasswort oder leer
Wirkung: Passwort beim Entpacken und beim Erzeugen neuer RARs. Leer heißt ohne Passwort.
Wirkt nicht, wenn: weder entpackt noch neu gepackt wird.
Typischer Fehler: das Passwort der Quelle eintragen und erwarten, dass die neuen Archive ohne Passwort online gehen. Dasselbe Feld gilt für beide Schritte.
archive.md5change.enabled
Pfad: archive.md5change.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Hängt davon ab, welcher Weg die Dateien vorbereitet.
normalund ein Archiv für den ganzen Ordner: WinRAR legt eine leere Zufallsdatei in das neue RAR.md5modeunditerationsgelten hier nicht.normalmitseparatefiles: true: jede Quelldatei der Arbeitskopie wird vor dem Packen verändert. Dabei geltenmd5modeunditerations. In das RAR kommt keine zusätzliche Zufallsdatei.lite: die RARs im Scan-Ordner werden direkt verändert, mitmd5modeunditerations.lite-gdrive: dieselbe Änderung an den RARs der Arbeitskopie.- Streamhoster: die Videodateien werden verändert, mit
md5modeunditerations. Im Workmodelitesind das die Videos im Scan-Ordner.
Wirkt nicht, wenn: false.
Typischer Fehler: lite und enabled: true kombinieren und glauben, nur die Upload-Kopie ändere sich. Geändert wird der Scan-Ordner.
archive.md5change.md5mode
Pfad: archive.md5change.md5mode
Typ: Zahl
Standard: 1
Erlaubt: 1, 2, 3, 4
Wirkung: Nur dort, wo die Datei selbst verändert wird (siehe enabled).
1: ein Null-Byte anhängen.2: fünf Bytes anhängen.3: eine Zufallszeichenkette anhängen.4: bei einer RAR-Datei einen Kommentar mit einer Zufalls-ID überpath.winrarsetzen. Bei einer Datei, die keine RAR ist, hängt Modus 4 nichts an.
Der Modus für das eine neue Archiv im normalen Packen ist davon unabhängig. Dort entscheidet nur enabled über die Zufallsdatei im RAR.
Wirkt nicht, wenn: md5change.enabled aus ist, oder der normale eine-Archiv-Weg läuft.
Typischer Fehler: Modus 4 ohne funktionierendes path.winrar. Der Kommentar kann dann nicht gesetzt werden.
archive.md5change.iterations
Pfad: archive.md5change.iterations
Typ: Zahl
Standard: 1
Erlaubt: wie oft die Änderung je Datei wiederholt wird
Wirkung: Jede betroffene Datei wird so oft hintereinander verändert. 1 ist einmal.
Wirkt nicht, wenn: md5change.enabled aus ist, oder der normale eine-Archiv-Weg läuft.
Typischer Fehler: einen hohen Wert auf lite und den Scan-Ordner. Dieselbe RAR wird mehrfach verlängert.
archive.randomname
Pfad: archive.randomname
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Im Workmode normal ohne separatefiles wird der Name des neuen Archivs eine UUID statt des Ordnernamens. Im Workmode lite-gdrive bekommen die RAR-Dateinamen der Arbeitskopie eine Zufallszeichenkette. false behält den Ordnernamen beziehungsweise den bisherigen Dateinamen.
Wirkt nicht, wenn: separatefiles: true. Dort heißt jedes Archiv wie die enthaltene Datei. Im Workmode lite werden die Dateinamen im Scan-Ordner nicht umbenannt.
Typischer Fehler: randomname als MD5-Änderung verstehen. Der Dateiinhalt bleibt gleich. Die Prüfsumme ändert md5change.
archive.addfolder
Pfad: archive.addfolder
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false packt den Inhalt des Release-Ordners. true packt den Ordner selbst mit in das Archiv. Gilt für den einen normalen Archivlauf.
Wirkt nicht, wenn: separatefiles: true. Dort wird je Datei gepackt, der Ordner-Schalter greift nicht.
Typischer Fehler: true und separatefiles: true zusammen erwarten, dass jede Datei in einem eigenen Ordner im Archiv liegt.
archive.separatefiles
Pfad: archive.separatefiles
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true erzeugt im Workmode normal für jede Datei ein eigenes RAR. addfolder und randomname gelten dann nicht. Die MD5-Änderung läuft über md5mode an den Quelldateien der Arbeitskopie.
Wirkt nicht, wenn: der Workmode lite oder lite-gdrive ist. Dort werden vorhandene RARs genommen, nicht neu je Datei gepackt.
Typischer Fehler: einschalten, um aus einem fertigen RAR-Satz einzelne Teile zu machen. Der Schalter packt die Dateien der Quelle neu, er splittet kein bestehendes Archiv nachträglich.
archive.winrar.options.extractRecursive
Pfad: archive.winrar.options.extractRecursive
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: true entpackt auch RAR-Archive in Unterordnern.
Wirkt nicht, wenn: nicht mit WinRAR entpackt wird.
Typischer Fehler: den Schalter für das Erzeugen der Upload-RARs halten. Er gilt beim Entpacken.
archive.winrar.options.extractOriginal
Pfad: archive.winrar.options.extractOriginal
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false entpackt flach (rar e). true behält die Pfade (rar x).
Wirkt nicht, wenn: nicht mit WinRAR entpackt wird.
Typischer Fehler: true vergessen und sich wundern, dass Unterordner nach dem Entpacken fehlen.
archive.winrar.options.silent
Pfad: archive.winrar.options.silent
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: true lässt WinRAR im Hintergrund laufen, ohne Fenster und ohne die übliche Ausgabe. Gilt für Entpacken und für das Erzeugen.
Wirkt nicht, wenn: false. Dann zeigt WinRAR seine eigene Oberfläche, soweit das System das hergibt.
Typischer Fehler: false auf einem Server ohne Desktop. WinRAR kann dann auf ein Fenster warten.
archive.winrar.options.exclude
Pfad: archive.winrar.options.exclude
Typ: Liste von Texten
Standard: *.json
Erlaubt: WinRAR-Ausschlussmuster
Wirkung: Diese Muster kommen nicht in die neu erzeugten RARs. Die Vorlage lässt *.json draußen.
Wirkt nicht, wenn: nicht neu gepackt wird. Beim Entpacken gilt die Liste nicht.
Typischer Fehler: eine Datei aus dem Scan-Ordner löschen wollen. Ausgeschlossen wird sie nur aus dem neuen Archiv.
archive.winrar.options.customExtract und customCreate
Pfad: archive.winrar.options.customExtract und archive.winrar.options.customCreate
Typ: Text
Standard: leer
Erlaubt: zusätzliche WinRAR-Argumente
Wirkung: customExtract hängt am Entpack-Befehl, customCreate am Befehl, der das Archiv erzeugt. Leer lässt den Befehl, den das Programm selbst baut.
Wirkt nicht, wenn: leer.
Typischer Fehler: Argumente eintragen, die die fest eingebauten Schalter widersprechen. Den resultierenden Befehl erst prüfen, dann hier ablegen.
archive.sevenzip.options.extractRecursive
Pfad: archive.sevenzip.options.extractRecursive
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Mit 7-Zip auch Archive in Unterordnern entpacken.
Wirkt nicht, wenn: der Entpacker WinRAR ist.
Typischer Fehler: hier Ausschlüsse oder eine Teilgröße suchen. 7-Zip hat diese Felder nicht. Packen bleibt bei WinRAR.
archive.sevenzip.options.extractOriginal
Pfad: archive.sevenzip.options.extractOriginal
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: false ist 7z e (flach). true ist 7z x (mit Pfaden).
Wirkt nicht, wenn: der Entpacker WinRAR ist.
Typischer Fehler: denselben Schalter unter WinRAR und 7-Zip verschieden setzen und den aktiven Entpacker vergessen.
archive.sevenzip.options.silent
Pfad: archive.sevenzip.options.silent
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: true unterdrückt die normale 7-Zip-Ausgabe. Fehlermeldungen bleiben sichtbar.
Wirkt nicht, wenn: der Entpacker WinRAR ist.
Typischer Fehler: silent als „Fehler verschlucken“ lesen.
archive.sevenzip.options.customExtract
Pfad: archive.sevenzip.options.customExtract
Typ: Text
Standard: leer
Erlaubt: ein zusätzliches 7-Zip-Argument
Wirkung: Hängt am Entpack-Befehl. Leer lässt den gebauten Befehl.
Wirkt nicht, wenn: leer oder der Entpacker WinRAR ist. Ein customCreate gibt es bei 7-Zip nicht.
Typischer Fehler: Pack-Argumente hier eintragen. 7-Zip erzeugt keine Upload-Archive.
archive.includefiles steht nicht in der Reupper-Vorlage. Der Reupper-Packweg benutzt es nicht.
replacehoster
replacehoster.enabled
Pfad: replacehoster.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Vor dem Filtern und Hochladen wird der Hostername aus dem Linkcrypter durch uploadto ersetzt. Danach muss uploadto in filehoster.active oder streamhoster.active stehen und Zugangsdaten unter services haben.
Wirkt nicht, wenn: false oder die Liste leer ist.
Typischer Fehler: den alten Hoster nur hier eintragen und unter active vergessen, den neuen Hoster samt Login aufzunehmen.
replacehoster.hosters
Pfad: replacehoster.hosters
Typ: Liste von hoster und uploadto
Standard: uploaded.net nach ddl.to
Erlaubt: Namen, wie der Linkcrypter sie liefert, und ein Zielname aus der Hoster-Tabelle
Wirkung: Jeder Passer ersetzt einen Namen. Mehrere Zeilen sind erlaubt. hoster ist der bisherige Name, uploadto der neue. Aus einem Stream-Namen wird ein Dateihoster oder umgekehrt, je nachdem, wo uploadto geführt wird.
Wirkt nicht, wenn: enabled aus ist. Ein Name, der exakt daneben liegt (ul.to statt uploaded.net), bleibt unverändert.
Typischer Fehler: ddl.to als Ziel eintragen, in active aber nur ddownload.com stehen haben. Der Ordner sucht den Namen, der nach dem Ersetzen gilt.
replacehoster:
enabled: true
hosters:
- hoster: 'uploaded.net'
uploadto: 'ddl.to'
filehoster und streamhoster
active ist die Liste der Namen, die ein Linkcrypter-Ordner tragen darf. Ein Ordner, dessen Hoster dort nicht steht, wird übersprungen. Der Service-Schlüssel darunter ist der YAML-Name, unter dem Login und Parallelität stehen. Die beiden Wörter sind oft verschieden: Filecrypt sagt ddl.to, der Block heißt ddownload.
Für jeden Service-Block gilt dasselbe parallel:
parallel.active:falselädt eine Datei nach der anderen.truezusammen mitnumberüber 1 lädt so viele Dateien dieses Hosters gleichzeitig.parallel.number: Anzahl gleichzeitiger Dateien, sobaldactivean ist. Die Vorlage setzt bei den meisten Dateihostern2, beivivo.sxundstreamlare.com1.parallel.retryfailed: Anzahl der Versuche, wenn ein Upload dieses Hosters fehlschlägt. Vorlage meist7, beisend.cm,pixeldrain,filerice,turbobit,uploadyunduploadg5, beistreamlare.com5. Das ist der Schalter, dergeneral.retryfaileduploadsersetzt.
proxy: true nimmt für diesen Hoster einen zufälligen Eintrag aus der Liste proxies. false verbindet direkt. Ist proxy: true und die Liste leer, bleibt die Verbindung direkt.
curl.filehosters vergleicht den kanonischen Namen (ddownload.com), nicht den Filecrypt-Alias (ddl.to).
Dateihoster
| Active-Name | Weiterer Name | Service-Schlüssel | Login | Besonderheit |
|---|---|---|---|---|
ddl.to |
ddownload.com |
ddownload |
apikey |
Filecrypt meldet meist ddl.to. Beide Namen dürfen in active stehen. |
rapidgator.net |
rg.to |
rapidgator |
user ist die E-Mail, pw |
shortlink: true erzeugt rg.to-Kurzlinks. shorturl: true schneidet den Dateinamen aus rapidgator.net/file/… ab. Beide Standard false. |
katfile.cloud |
katfile.com |
katfile |
apikey |
|
keep2share.cc |
k2s.cc |
keep2share |
apikey |
|
nitroflare.com |
nitro.download |
nitroflare |
apikey |
Key unter https://nitroflare.com/user-hash. |
1fichier.com |
fichier |
user, pw, affiliate |
affiliate ist die Affiliate-Kennung. Die Vorlage zeigt 123 als Platzhalter, sobald du den Block auskommentierst und füllst. |
|
filefactory.com |
filefactory |
user, pw |
||
drop.download |
dropdownload |
apikey |
Key unter https://drop.download/account/#my_config. |
|
clicknupload.to |
clicknupload |
apikey |
||
mixdrop.ag |
mixdrop.co, md3b0j6hj.com |
mixdrop |
user ist die E-Mail, apikey |
Derselbe Block gilt für den Datei- und den Stream-Upload. |
fikper.com |
fikper |
apikey |
||
mega.nz |
mega |
user ist die E-Mail, pw |
proxy für Mega nicht einschalten. Die Vorlage lässt es false. |
|
send.cm |
sendcm |
apikey |
||
pixeldrain.com |
pixeldrain |
apikey |
||
filerice.com |
filerice |
apikey |
||
turbobit.net |
turb.pw |
turbobit |
apikey |
|
uploady.io |
uploady |
apikey |
||
uploadg.com |
uploadg |
apikey |
Bearer-Token aus https://uploadg.com/account-settings. Der Upload ist Multipart und für große Dateien gedacht. |
In der Vorlage stehen unter active nur ddl.to und ddownload.com. Alle anderen Zeilen sind mit # auskommentiert. Ein # am Zeilenanfang lässt den Hoster aus.
Diese Hoster kann der Worker noch, sie stehen nur nicht in der Reupper-Vorlage. Dafür den Service-Block selbst ergänzen und den Active-Namen eintragen:
| Active-Name | Weiterer Name | Service-Schlüssel | Login |
|---|---|---|---|
uploaded.net |
ul.to |
uploaded |
user, pw |
uptobox.com |
uptobox |
apikey |
|
oboom.com |
oboom |
user, pw |
|
zippyshare.com |
zippyshare |
kein Login, nur proxy und parallel |
Typischer Fehler: den Service-Block füllen und den Namen nicht nach active schreiben. Dann werden die Ordner dieses Hosters übersprungen. Oder nur den Alias rg.to nach active schreiben: der Ordner wird angenommen, der Upload löst rapidgator.net auf. Beide Namen sind gültig. Der Name muss der sein, den der Linkcrypter in diesem Ordner meldet.
Streamhoster
Streamhoster laden Videodateien, keine neu gepackten RARs. In der Vorlage ist streamhoster.active leer, alle Zeilen sind kommentiert. Ein Stream-Ordner wird von smart nicht mit Dateihostern zusammengelegt.
| Active-Name | Weiterer Name | Service-Schlüssel | Login |
|---|---|---|---|
vivo.sx |
vivo.st |
vivo |
apikey |
streamlare.com |
streamlare |
user ist der API-Login, pw ist der API-Key |
|
mixdrop.ag |
mixdrop.co, md3b0j6hj.com |
mixdrop |
user, apikey, derselbe Block wie beim Dateihoster |
doodstream.com |
dood.to |
doodstream |
apikey |
streamtape.com |
streamtape |
user ist der API-User, pw ist der API-Key |
|
wolfstream.tv |
wolfstream |
apikey |
Typischer Fehler: einen Streamhoster nur unter filehoster.active eintragen. vivo.sx, streamlare, doodstream, streamtape und wolfstream gehören nach streamhoster.active. Mixdrop darf auf beiden Seiten stehen, der Login bleibt der eine mixdrop-Block.
zoom
Ist zoom.enabled an, ersetzt Z-O-O-M mit WebControl den normalen Upload. Die Vorbereitung (workmode, Archive, Kopie) bleibt. Nötig ist die Premium-Funktion WebControl im ZOOM-Programm.
zoom.enabled
Pfad: zoom.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true schickt die vorbereiteten Dateien an ZOOM. false lädt über die eingebauten Hoster.
Wirkt nicht, wenn: false.
Typischer Fehler: einschalten, bevor Host, Port und Login von WebControl stimmen.
zoom.webcontrol.host, port, user, password
Pfad: zoom.webcontrol.host, port, user, password
Typ: Text
Standard: localhost, 8080, test, test
Erlaubt: die Werte aus der WebControl von ZOOM. port ist Text, auch wenn es eine Zahl ist.
Wirkung: Adresse und Login der WebControl.
Wirkt nicht, wenn: zoom.enabled aus ist.
Typischer Fehler: die Beispielwerte test / test stehen lassen.
zoom.options.retryfaileduploads
Pfad: zoom.options.retryfaileduploads
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: true lässt ZOOM fehlgeschlagene Dateien erneut versuchen.
Wirkt nicht, wenn: zoom.enabled aus ist. Das ist nicht general.retryfaileduploads.
Typischer Fehler: hier eine Anzahl erwarten. Die Anzahl ist zoom.options.retries.
zoom.options.retries
Pfad: zoom.options.retries
Typ: Zahl
Standard: 5
Erlaubt: Anzahl der ZOOM-Wiederholungen
Wirkung: Wie oft ZOOM einen fehlgeschlagenen Upload wiederholt, wenn retryfaileduploads an ist.
Wirkt nicht, wenn: retryfaileduploads aus ist oder ZOOM aus ist.
Typischer Fehler: den Wert erhöhen und den normalen Hoster-Upload meinen. Dessen Versuche stehen bei parallel.retryfailed.
zoom.profiles.enabled
Pfad: zoom.profiles.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true wählt je Hoster das ZOOM-Profil aus profiles.
Wirkt nicht, wenn: false oder ZOOM aus ist.
Typischer Fehler: Profile eintragen und enabled auf false lassen.
zoom.profiles.profiles
Pfad: zoom.profiles.profiles
Typ: Zuordnung Hoster-Name zu Profilname
Standard: ein Beispiel "zippyshare.com": "test"
Erlaubt: der Hoster-Name, den ZOOM sieht, und der Profilname in ZOOM
Wirkung: Welches ZOOM-Profil welcher Hoster bekommt.
Wirkt nicht, wenn: profiles.enabled aus ist.
Typischer Fehler: das Beispiel zippyshare.com: test aktiv lassen, obwohl es dieses Profil in ZOOM nicht gibt.
profiles:
enabled: true
profiles:
- "rapidgator.net": "mein-profil"
zoom.linux.winemode
Pfad: zoom.linux.winemode
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true, wenn ZOOM unter Linux über Wine läuft. Die Upload-Pfade werden dann auf den Wine-Laufwerksbuchstaben umgesetzt.
Wirkt nicht, wenn: false, oder ZOOM aus ist. Unter Windows bleibt es false.
Typischer Fehler: unter Linux true setzen und driveletter auf Z lassen, obwohl Wine die Quelle unter Y: sieht.
zoom.linux.driveletter
Pfad: zoom.linux.driveletter
Typ: Text
Standard: Z
Erlaubt: ein Laufwerksbuchstabe ohne Doppelpunkt
Wirkung: Buchstabe, unter dem Wine den Quellpfad sieht. Aus /home/files/test und Z wird ein Pfad unter Z:.
Wirkt nicht, wenn: winemode aus ist.
Typischer Fehler: Z: mit Doppelpunkt eintragen.
proxies
Pfad: proxies
Typ: Liste von Texten
Standard: eine Beispielzeile socks5://myuser:[email protected]:1080
Erlaubt: SOCKS5-URLs der Form socks5://benutzer:passwort@host:port. Mehrere Einträge sind erlaubt.
Wirkung: Ein Hoster mit proxy: true bekommt je Upload einen zufälligen Eintrag dieser Liste. Hoster mit proxy: false nutzen die Liste nicht.
Wirkt nicht, wenn: die Liste leer ist, oder kein Hoster proxy: true hat. Mega bleibt auf proxy: false.
Typischer Fehler: die Beispielzeile mit den Platzhalter-Zugangsdaten aktiv lassen. Jeder Hoster mit proxy: true versucht dann diesen nicht existierenden Proxy. Die Zeile auskommentieren oder durch einen echten Proxy ersetzen, wenn du keinen Proxy nutzt.
curl
curl.enabled
Pfad: curl.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true lässt die Hoster aus filehosters über das Programm curl hochladen. Das hält den Speicherverbrauch niedriger. false nimmt den eingebauten HTTP-Client für alle.
Wirkt nicht, wenn: false. Die Liste darunter wird dann ignoriert.
Typischer Fehler: eine ältere Anleitung mit enabled: true als Standard übernehmen. Die Vorlage setzt false.
curl.filehosters
Pfad: curl.filehosters
Typ: Liste von Texten
Standard: ddownload.com, katfile.cloud, drop.download, clicknupload.to, send.cm, filerice.com, rapidgator.net, nitroflare.com, 1fichier.com, uploadg.com, turbobit.net, mixdrop.ag, doodstream.com, streamtape.com, wolfstream.tv, uploady.io
Erlaubt: der kanonische Hoster-Name aus der Tabelle, also ddownload.com und nicht ddl.to
Wirkung: Nur diese Namen nutzen curl, und nur wenn curl.enabled an ist. Ein Name, der nicht in der Liste steht, bleibt beim eingebauten Client, auch bei enabled: true.
Wirkt nicht, wenn: curl.enabled aus ist.
Typischer Fehler: ddl.to oder rg.to in die Liste schreiben. Verglichen wird ddownload.com beziehungsweise rapidgator.net.
In einem interaktiven Terminal zeigt ein Curl-Upload einen Fortschrittsbalken je Datei, bei parallelen Uploads mehrere untereinander. Geht die Ausgabe in eine Datei oder einen anderen Prozess, bleibt der Balken aus und das normale Log läuft weiter.
notification
Eine Meldung geht nur raus, wenn notification.enabled und notification.pushover.enabled beide true sind und User-Key plus API-Key gesetzt sind. notifyOn wählt danach die Art der Meldung.
notification.enabled
Pfad: notification.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Hauptschalter für alle Meldungen.
Wirkt nicht, wenn: false. Dann ist auch eine eingeschaltete Zeile unter notifyOn stumm.
Typischer Fehler: nur pushover.enabled auf true setzen.
notification.notifyOn.error
Pfad: notification.notifyOn.error
Typ: Wahrheitswert
Standard: true
Erlaubt: true, false
Wirkung: Meldung, wenn ein Job fehlschlägt. Dieselbe Meldung nutzt archive.skipOnError, wenn ein Eintrag wegen eines Entpackfehlers übersprungen wird.
Wirkt nicht, wenn: notification.enabled oder pushover.enabled aus ist.
Typischer Fehler: error: true als ausreichend ansehen. Die beiden Hauptschalter müssen zusätzlich an sein.
notification.notifyOn.success
Pfad: notification.notifyOn.success
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Meldung nach einem erfolgreichen Job. Ein Smart-Job nennt die Zahl der aktualisierten Ziele.
Wirkt nicht, wenn: die Hauptschalter aus sind, oder der Job fehlschlägt. Dafür ist error da.
Typischer Fehler: success: true erwarten, wenn der Job nur teilweise durchging. Ein teilweiser Smart-Job meldet über error.
notification.notifyOn.summary
Pfad: notification.notifyOn.summary
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Nach einem Durchlauf, in dem mindestens ein Job gelang oder scheiterte, eine Zeile mit Anzahl ok, Anzahl failed und Dauer. Ein Durchlauf ohne Job schickt nichts.
Wirkt nicht, wenn: die Hauptschalter aus sind, oder in diesem Durchlauf kein Ordner bearbeitet wurde.
Typischer Fehler: eine Meldung nach jedem checkinterval erwarten, auch wenn nichts offline war.
notification.pushover.enabled
Pfad: notification.pushover.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: Sendet über Pushover. Muss zusammen mit notification.enabled an sein.
Wirkt nicht, wenn: false.
Typischer Fehler: den Key eintragen und diesen Schalter auf false lassen.
notification.pushover.userkey und apikey
Pfad: notification.pushover.userkey und notification.pushover.apikey
Typ: Text
Standard: leer
Erlaubt: der User-Key von der Pushover-Startseite und der API-Token der selbst angelegten Anwendung unter https://pushover.net/apps/build
Wirkung: Empfänger und Anwendung. Beide braucht der Versand.
Wirkt nicht, wenn: Pushover aus ist.
Typischer Fehler: User-Key und API-Token vertauschen.
workingtime
Am Anfang jedes Durchlaufs, außer bei --priority-only. Liegt die Uhrzeit im Fenster, geht es sofort weiter. Sonst schläft der Prozess bis zum nächsten Fenster. Ein Fenster darf über Mitternacht gehen, zum Beispiel 22:00-06:00. Eine leere Angabe an einem Tag heißt: an diesem Tag kein Fenster. Ist überhaupt kein gültiges Fenster gesetzt, steht eine Zeile im Log und dieser Durchlauf arbeitet trotzdem. Eine unbekannte Zeitzone fällt auf die Zeitzone des Systems zurück, mit einer Zeile im Log.
workingtime.enabled
Pfad: workingtime.enabled
Typ: Wahrheitswert
Standard: false
Erlaubt: true, false
Wirkung: true wendet die Tagesfenster an. false arbeitet rund um die Uhr.
Wirkt nicht, wenn: false, oder der Lauf --priority-only ist.
Typischer Fehler: Zeiten eintragen und enabled auf false lassen.
workingtime.timezone
Pfad: workingtime.timezone
Typ: Text
Standard: Europe/Berlin
Erlaubt: ein Name aus der IANA-Zeitzonenliste
Wirkung: In dieser Zeitzone werden die Uhrzeiten gelesen.
Wirkt nicht, wenn: enabled aus ist. Ein unbekannter Name nimmt die Systemzeitzone.
Typischer Fehler: Berlin oder CET statt Europe/Berlin.
workingtime.monday bis sunday
Pfad: workingtime.monday, tuesday, wednesday, thursday, friday, saturday, sunday
Typ: Text
Standard: Montag bis Donnerstag 09:00-17:30, Freitag 09:00-15:00, Samstag und Sonntag leer
Erlaubt: HH:MM-HH:MM oder leer
Wirkung: Arbeitsfenster dieses Wochentags. Leer überspringt den Tag bis zum nächsten gesetzten Fenster. Die Endzeit gehört nicht mehr zum Fenster.
Wirkt nicht, wenn: enabled aus ist, oder der Text nicht aus zwei Uhrzeiten mit einem Bindestrich besteht. Ein ungültiger Text zählt wie kein Fenster.
Typischer Fehler: 9:00-17:30 ohne führende Null, oder 09:00 - 17:30 mit Leerzeichen. Erwartet wird 09:00-17:30.
Rezepte
Erster laufender Reupper
license setzen. workmode auf normal lassen. Unter path.scan die echten Ordner eintragen und die Beispiele entfernen. path.winrar setzen. linkcrypter.service und apikey setzen. Unter filehoster.active mindestens einen Namen aus der Tabelle lassen und denselben Hoster unter services mit Login füllen. general.checkinterval mindestens 120, Vorlage 600.
Dieselben Filme von mehreren Hostern in einem Job
smart: true. Die Ordner müssen denselben Titel ergeben, nach replace und cut. Nur Dateihoster. Jeder Zielhoster steht in filehoster.active und hat einen Login. Streamhoster bleiben draußen.
Nur Ordner mit einem Stichwort, andere ausschließen
general.contains.enabled: true und die echten Wörter unter keywords. Leere Einträge entfernen. Zusätzlich general.ignore.enabled: true und Wörter, die nie bearbeitet werden sollen. Beide Filter sehen den Originaltitel aus dem Linkcrypter.
Der lokale Ordner heißt anders als der Linkcrypter-Titel
general.replace für Zeichen, zum Beispiel Leerzeichen gegen Punkte. general.cut, wenn vor dem lokalen Namen ein Vorspann steht: enabled: true und bychar auf die Trennstelle, Vorlage -. Der Linkcrypter-Ordner behält seinen bisherigen Titel.
Dieselbe Quelle nicht jedes Mal neu lesen
general.keepLastElements auf die Anzahl der Ordner, die unter path.work/cache bleiben sollen. general.cleanWorkDir darf true bleiben. general.overwriteByDownload auf false lassen, solange ein vorhandener Job-Ordner nicht neu kopiert werden soll.
Ein Hoster ist tot, der Ersatz ist ein anderer
replacehoster.enabled: true. hoster ist der Name aus dem Linkcrypter, uploadto der neue Name aus der Tabelle. Den neuen Namen nach filehoster.active oder streamhoster.active schreiben und den Login unter dem Service-Schlüssel füllen.
Vom FTP nur bestimmte Releases
remoteConfig: 'remote.sources.yml' und die Datei aus config/remote.sources.dist.yml anlegen. remote.enabled: true, den Server enabled: true, Protokoll, Host, Benutzer und Passwort setzen. Die Section enabled: true und path auf den Ordner, der die Releases enthält. Unter filters.include die Bedingungen, unter exclude was nie geladen wird. requireComplete.enabled: true, wenn der Server einen Zipscript-COMPLETE-Status schreibt. Der erste Scan lädt den vorhandenen Bestand nicht.
Vorhandene RARs mit 7-Zip entpacken und als RAR neu packen
workmode: normal, general.extractRARs: true, archive.extractor: 7zip, path.sevenzip auf 7z oder 7zz. path.winrar trotzdem setzen. archive.sevenzip.options.extractOriginal: true, wenn die Ordnerstruktur bleiben soll.
MD5 ändern, ohne neu zu packen
workmode: lite-gdrive, damit die Änderung an der Arbeitskopie passiert und der Scan-Ordner bleibt. archive.md5change.enabled: true. md5mode 1, 2 oder 3 für angehängte Bytes, 4 für einen RAR-Kommentar über WinRAR. iterations meist 1. lite ohne das -gdrive schreibt in den Scan-Ordner.
Nachts und am Wochenende still
workingtime.enabled: true, timezone: Europe/Berlin. Samstag und Sonntag "". Die anderen Tage HH:MM-HH:MM. Der Prozess beendet sich nicht, er schläft bis zum nächsten Fenster.
Pushover bei Fehlern und eine Zusammenfassung
notification.enabled: true, notification.pushover.enabled: true, userkey und apikey setzen. notifyOn.error: true ist der Vorlagenwert. notifyOn.summary: true für eine Zeile nach einem Durchlauf, in dem etwas verarbeitet wurde. notifyOn.success nur, wenn jeder einzelne Erfolg eine Meldung wert ist.
Upload über Z-O-O-M
ZOOM mit WebControl starten. zoom.enabled: true, Host, Port, Benutzer und Passwort aus WebControl übernehmen. Unter Linux mit Wine zoom.linux.winemode: true und driveletter auf den Buchstaben der Quelle. Profile nur mit zoom.profiles.enabled: true.
Was hier kein Schalter ist
Go-Upper-Blöcke wie contentgrabber, template, publish, emule, nfoMover, ffprobe, mediainfo, afterupload und moviethumbnail liest dieser Reupper-Ablauf nicht als Einrichtung. general.createRARs, general.cleanScanDir, general.moveToBackup, general.skipUploadProcess, general.modifiedAfter und general.folderReady stehen nicht in der Reupper-Vorlage.
path.cache setzt der Worker selbst auf path.work/cache. Ein cachePath für Remote gibt es nicht. Der erste Remote-Scan lädt nichts nach. archive.mode: zip erzeugt keine ZIP-Dateien. general.retryfaileduploads und filehoster.options.fileSizeValidation ändern den laufenden Upload nicht.