Konfiguration von go-reupper
go-reupper liest seine Einstellungen aus der Datei:
config/reupper.config.yml
Wenn du das Tool bekommst, liegt meistens eine Datei reupper.config.dist.yml dabei.
Du kopierst diese Datei nach reupper.config.yml und passt nur deine Werte an.
Wichtig:
Ändere die Kommentare in der.dist‑Datei ruhig, aber bearbeite immer deine Kopiereupper.config.yml, nicht das Original.
Im Folgenden gehen wir die wichtigsten Abschnitte und Optionen durch.
1. Lizenz
license: '' # REQUIRED | your license -> buy your license here: http://go-toolz.com
- Was ist das?
Dein persönlicher Lizenzschlüssel, damit go-reupper läuft. - Was eintragen?
Den Schlüssel, den du von go-toolz bekommen hast.
Beispiel:
license: 'ABCDEF-123456-REUPPER'
Wenn der Schlüssel fehlt oder falsch ist, startet das Tool nicht korrekt bzw. bricht ab.
2. Arbeitsmodus (workmode) und Smart-Gruppierung (smart)
workmode steuert nur den Prepare-Pfad (wie Dateien vor dem Upload vorbereitet werden).
smart steuert optional die Gruppierung gleicher Titel und ist unabhängig vom Workmode.
workmode: 'normal' # REQUIRED | 'normal', 'lite' or 'lite-gdrive'
smart: false # OPTIONAL | true = Mirror-Ordner mit gleichem Titel zusammenfassen
Prepare-Workmodes
normal- Standardmodus: laden, neu packen (RAR), hochladen, Links ersetzen.
lite- Vorhandene RAR‑Archive, MD5 anpassen, kein Neu‑Packen.
lite-gdrive- Laden von externen Quellen, danach wie
lite.
- Laden von externen Quellen, danach wie
Smart-Gruppierung
smart: true
Wenn smart: true:
- Offline-Mirror-Ordner mit gleichem vorbereiteten Titel werden zu einem Job.
- 1× Prepare (je nach
workmode: packen oder lite/MD5 oder lite-gdrive). - Upload pro kanonischem Zielhoster, Link-Replace pro Originalordner.
- Gilt für
normal,liteundlite-gdrive. - Streamhoster bleiben Einzeljobs.
Empfehlung: Prepare mit normal starten; bei vielen Mirror-Ordnern smart: true setzen. Details: Smart-Gruppierung (Mirror-Ordner).
3. Allgemeine Einstellungen (general)
Ausschnitt aus reupper.config.dist.yml:
general:
extractRARs: false
slowmode: 5
checkinterval: 600
retryfaileduploads: 5
keepLastElements: 0
overwriteByDownload: false
checkFreeSpace: false
cleanWorkDir: true
sort: 'name'
searchRecursive: false
checkpartial:
enabled: false
ignoreHoster:
enabled: false
hoster:
- 'ddl.to'
ignore:
enabled: false
keywords:
- ''
contains:
enabled: false
keywords:
- 'reupload-me'
replace:
enabled: false
cut:
enabled: false
parallel:
hoster: 1
copy: 1
Die wichtigsten Felder:
extractRARs- Gilt nur im
normal-Modus. Beitruewerden vorhandene RAR-Archive nach dem Kopieren entpackt und anschließend wie gewohnt als RAR neu gepackt. - Der Entpacker wird mit
archive.extractorgewählt. Der Standardfalsebewahrt das bisherige Reupper-Verhalten.
- Gilt nur im
slowmode- Wartezeit (Sekunden) nach einem fertigen Job.
- Gut, um das System zu entlasten oder zwischendurch eingreifen zu können.
checkinterval- Intervall in Sekunden, in dem go-reupper neue Jobs/Ordner und Status prüft.
- Empfehlung: 600 (10 Minuten) ist meist ein guter Start.
retryfaileduploads- Anzahl der Wiederholungsversuche bei fehlgeschlagenen Uploads.
- Höher = robuster, aber dauert länger, bis ein definitiver Fehler steht.
keepLastElements- Hält die letzten X fertig bearbeiteten Ordner im Workdir, um Traffic zu sparen.
0= alles wird nach erfolgreichem Abschluss gelöscht (Standard).
overwriteByDownload- Wenn
true, werden vorhandene Ordner im Workdir überschrieben. - Standard
false, um unnötigen Traffic zu sparen.
- Wenn
cleanWorkDir- Wenn
true, wird das Arbeitsverzeichnis nach erfolgreichem Job aufgeräumt.
- Wenn
searchRecursive- Wenn
true, werden Scan‑Pfad‑Ordner rekursiv durchsucht. - Vorsicht, kann bei riesigen Strukturen viel Zeit kosten.
- Wenn
ignore/containsignore: Ordner mit bestimmten Stichwörtern im Namen werden übersprungen.contains: Nur Ordner, die bestimmte Stichwörter enthalten, werden bearbeitet.
parallel(hoster/copy)hoster: wie viele File- und Streamhoster eines Jobs gleichzeitig hochladen.1bleibt sequentiell. Es werden nur Hoster hochgeladen, die sowohl aktiv als auch am Job hängen – das gilt für normale Jobs und für Smart-Jobs mit mehreren Zielhostern.copy: wie viele Dateien parallel kopiert werden.- Höhere Werte = schneller, aber mehr Last und mögliche Hosterlimits. Unabhängig davon steuert
filehoster.services.*.paralleldie parallelen Dateien pro Hoster.
Praxis-Tipp:
Am Anfang die Standardwerte lassen und nur checkinterval, slowmode und ggf. keepLastElements anpassen.
4. Bandbreite (bandwidth)
bandwidth:
quota:
enabled: false
resetInterval: 'month'
resetDay: 1
download: 1099511627776
upload: 0
- Zweck:
Schutz vor zu hohem Traffic (z. B. bei Volumentarifen).
Wichtige Felder:
enabledtrue= Quota aktiv,false= keine Begrenzung.
resetInterval'month'oder'day'.- Bei
monthwird z. B. monatlich zurückgesetzt.
resetDay- Bei
month: Tag im Monat (1–31), an dem der Zähler auf 0 gesetzt wird. - Bei
day: Stunde des Tages (0–23), zu der zurückgesetzt wird.
- Bei
download- Maximal erlaubtes Download‑Volumen in Bytes (z. B. 1 TB).
upload- Maximal erlaubtes Upload-Volumen in Bytes.
0zählt den geschätzten Upload-Traffic, blockiert Uploads aber nicht.
- Maximal erlaubtes Upload-Volumen in Bytes.
Empfehlung:
Wenn du dir unsicher bist, lass enabled: false.
Später kannst du bei Bedarf Limits setzen.
5. Ergebnis‑Einstellungen (result)
result:
txt:
enabled: false
mode: 'default'
path: ''
go-reupper kann fertige Jobs in Textdateien protokollieren:
enabledtrue= Textdatei wird gepflegt,false= aus.
mode'default'= mehrere Zeilen pro Eintrag (Name, Hoster, Links).'inline'= alles in einer Zeile, durch Trennzeichen getrennt.
path- Vollständiger Pfad zur TXT‑Datei (z. B.
C:\Results\reup-list.txt).
- Vollständiger Pfad zur TXT‑Datei (z. B.
Wenn du das nicht brauchst, kannst du diesen Block deaktiviert lassen.
6. Pfade (path)
Auszug:
path:
scan:
- '/var/www/backup/'
- 'C:\Users\You\Videos\'
winrar: ''
sevenzip: ''
base: ''
work: ''
Die wichtigsten Felder:
scan- Liste aller Ordner, die go-reupper überwachen und verarbeiten soll.
- Wichtig: Pfade mit
/oder\abschließen.
winrar- Windows: kompletter Pfad zu
WinRAR.exe(z. B.C:\Program Files\WinRAR\WinRAR.exe). - Linux: meist einfach
rar, wenn imPATH. - Wird unabhängig vom gewählten Entpacker weiterhin zum Erzeugen der Kunden-RARs benötigt.
- Windows: kompletter Pfad zu
sevenzip- Nur erforderlich, wenn
archive.extractor: '7zip'gesetzt ist. - Windows: kompletter Pfad zu
7z.exe; Linux/macOS: je nach Installation7zzoder7z.
- Nur erforderlich, wenn
base- Basis‑Pfad zum Tool. Wenn leer, versucht go-reupper den Pfad automatisch zu ermitteln.
work- Arbeitsverzeichnis für temporäre Dateien.
- Wenn leer, wird standardmäßig
files/im Tool‑Verzeichnis genutzt. - Ein abschließender
/oder\ist optional; go-reupper verbindet die Pfadbestandteile selbst.
Praxisbeispiel (Windows):
path:
scan:
- 'D:\Reup\incoming\'
winrar: 'C:\Program Files\WinRAR\WinRAR.exe'
sevenzip: 'C:\Program Files\7-Zip\7z.exe'
work: 'D:\Reup\work\'
Remote-Quellen (remote)
Zusätzlich zu lokalen path.scan-Ordnern ist ein neuer, standardmäßig deaktivierter remote-Block vorgesehen. Wenn Upper und Reupper dieselben FTP/FTPS/SFTP-Quellen nutzen sollen, kann der Block optional in eine gemeinsame Datei ausgelagert werden:
remoteConfig: '' # optional, z.B. 'remote.sources.yml'
remote:
enabled: false
statePath: 'database/remote-sources.db'
firstScanMode: 'baseline-only'
scanIntervalSeconds: 600
servers: []
remoteConfigist leer = der inlineremote:-Block aus dieser Config wird benutzt.remoteConfig: 'remote.sources.yml'= der externeremote:-Block ausconfig/remote.sources.ymlwird geladen und ersetzt den inline Block.- Der Pfad wird relativ zur jeweiligen Haupt-Config aufgelöst;
upper.config.ymlundreupper.config.ymlkönnen also dieselbe Datei referenzieren. - Eine Vorlage liegt in
config/remote.sources.dist.yml. - Unterstützt werden FTP, FTPS (
explicitmitAUTH TLSoderimplicitmit Port-990-Default) und SFTP. - Pro Section filtern
filters.includeundfilters.excludeRelease-Ordner vor dem FTP/SFTP-Download. Include-Zeilen sind ODER, Werte in einer Zeile bzw.[...]sind UND (Substring oder Glob wie*1080p*). Exclude gewinnt. Gematcht wird der Ordnername bzw. der Basename, nicht der Section-Pfad (moviestrifft also nicht jeden Ordner unter/section/movies/). Muster mit/gelten zusätzlich für den Remote-Pfad. Leere Listen laden weiter alles. Einzelne Strings bleiben gültig. Beispiel:include: [2025, [GERMAN, 1080p]]undexclude: [2024]. - Der erste Scan eines Servers oder einer Section legt nur eine Baseline an; es wird noch nichts automatisch heruntergeladen.
- Automatisch erkannte Sections werden sichtbar gespeichert, bleiben aber deaktiviert, bis du sie aktivierst.
- Beide Worker verwenden dieselbe Cache-Struktur unter
path.work/remote. Sie teilen die tatsächlichen Downloads nur, wennpath.workundremote.statePathauf dieselben Speicherorte zeigen. - Ein eigener
cachePathexistiert aktuell nicht; Remote-Releases landen weiter unterpath.work/remote/.... - Downloads laufen zuerst in
.partial/<release-id>und werden erst nach erfolgreichem Abschluss in den finalen Cache verschoben. - Vorhandene Partial-Dateien werden beim nächsten Versuch fortgesetzt: FTP/FTPS nutzt
REST, SFTP nutzt Seek. transferSlots/maxConnectionsbegrenzen parallele Remote-Downloads pro Server.- SFTP nutzt
known_hostsoder bewusst gesetztesinsecureHost-Key-Handling und unterstützt Passwort- sowie Private-Key-Auth. - Remote-Downloads werden in die bestehende Bandwidth-Quota eingerechnet.
- Upper-UI und Reupper-UI bieten unter Einstellungen > Remote Sources denselben Manager mit Instanzauswahl, Verbindungsdialog, Verbindungstest und Remote-Browser.
- Die Reupper-UI verwendet dafür
/api/reupper/remote/*und schreibt ausschließlich in die ausgewähltego-reupper-Instanz. Die Upper-UI verwendet entsprechend/api/upper/remote/*. - Section-Checkboxen und im Browser ausgewählte Ordner werden in die aktive Haupt-Config oder, falls gesetzt, in die externe
remoteConfig-Datei geschrieben; automatisch erkannte Sections bleiben bis zur Aktivierung sichtbar, aber deaktiviert. - Das Browser-Popup kann den aktuell geöffneten Remote-Ordner über denselben Endpunkt als neue deaktivierte Section speichern.
7. Archive (archive)
archive:
mode: 'rar'
extractor: 'winrar'
partsize: '200m'
pw: ''
md5change:
enabled: false
md5mode: 1
iterations: 1
randomname: true
addfolder: false
separatefiles: false
winrar:
options:
extractRecursive: true
extractOriginal: false
silent: true
exclude:
- '*.json'
customExtract: ''
customCreate: ''
sevenzip:
options:
extractRecursive: true
extractOriginal: false
silent: true
customExtract: ''
mode: Aktuell istrarder produktive Archivmodus; ZIP ist nicht implementiert.extractor: Wählt ausschließlich den Entpacker (winraroder7zip). Ein leerer Wert bleibt aus Kompatibilitätsgründen bei WinRAR.partsize: Größe der Archivteile, zum Beispiel200m.pw: Optionales Archivpasswort.md5change: Steuert zusätzliche MD5-Änderungen. Bei RAR-Dateien verwendet Reupper bereits den speziellen RAR-Modus; die allgemeinen MD5-Optionen werden dann ignoriert.randomname: Erzeugt zufällige Archivnamen.addfolder: Packt den Quellordner statt nur seines Inhalts ein.separatefiles: Erstellt für jede Datei ein eigenes Archiv und deaktiviert damit praktischaddfolder.
archive.sevenzip.options gilt ausschließlich beim Entpacken. extractOriginal wechselt zwischen 7z e (flache Ausgabe) und 7z x (Originalstruktur), extractRecursive verarbeitet auch Unterordner. Packen, Splitting, Ausschlüsse, MD5-Änderungen und customCreate laufen immer über archive.winrar.options und path.winrar; es werden keine 7z-Dateien erzeugt. Ändere benutzerdefinierte Argumente nur, wenn du den resultierenden Befehl getestet hast.
8. Hoster ersetzen (replacehoster)
replacehoster:
enabled: false
hosters:
- hoster: 'uploaded.net'
uploadto: 'ddl.to'
Dieser optionale Block ersetzt einen ausgefallenen Quellhoster durch einen anderen Zielhoster. hoster bezeichnet den bisherigen Dienst, uploadto den neuen Dienst. Der Zielhoster muss zusätzlich unter filehoster aktiviert und konfiguriert sein.
9. Linkcrypter (linkcrypter)
linkcrypter:
service: 'filecrypt'
apikey: ''
multiHosterMode: false
backup:
enabled: false
services:
- service: 'hidecx'
apikey: ''
Hier stellst du ein, welcher Linkcrypter verwendet wird:
servicefilecrypt,tolinkoderhidecx.
apikey- API‑Key des jeweiligen Dienstes.
multiHosterMode- Wenn
true, werden mehrere Hoster in einem Ordner kombiniert.
- Wenn
backup- Optionaler zweiter Linkcrypter (z. B. Hide.cx, Keeplinks) zur Absicherung.
Ohne gültigen API‑Key kann der Linkcrypter keine Ordner erzeugen.
10. Filehoster und Streamhoster
In filehoster und streamhoster legst du fest:
- welche Hoster aktiv sind (
active‑Liste) und - welche Zugangsdaten sie verwenden (
services‑Abschnitt).
Beispiel (stark gekürzt):
filehoster:
options:
fileSizeValidation: false
active:
- 'ddl.to'
- 'ddownload.com'
services:
ddownload:
apikey: ''
proxy: false
parallel:
active: false
number: 2
retryfailed: 7
Wichtige Punkte:
- In
activesteht, welche Hoster überhaupt verwendet werden. - Unter
servicesträgst du die Logins/API‑Keys für jeden Dienst ein. parallel.activeundnumberregeln parallele Dateien zu einem Hoster – vorsichtig benutzen.- Mehrere Hoster gleichzeitig steuerst du mit
general.parallel.hoster. - Für
uploadg.comträgst du beiapikeyden Bearer-Token aushttps://uploadg.com/account-settingsein. uploadg.comnutzt automatisch den Multipart-S3-Upload und ist damit auch für große Dateien gedacht; der alte/uploads-Endpunkt wird nicht mehr verwendet.
Bei streamhoster funktioniert es analog, nur für Video‑Hoster.
11. Z-O-O-M Uploader (zoom)
zoom:
enabled: false
webcontrol:
host: 'localhost'
port: '8080'
user: 'test'
password: 'test'
Wenn du den Z-O-O-M FileUploader mit WebControl nutzt, kannst du go-reupper über diese Schnittstelle hochladen lassen.
enabledtrue= ZOOM-Modus aktiv,false= normale Upload‑Logik.
- Weitere Werte müssen zu deiner ZOOM‑Installation passen.
Wenn du ZOOM nicht einsetzt, lässt du enabled: false.
12. Proxies (proxies)
proxies:
- 'socks5://user:pass@host:1080'
Hier kannst du SOCKS5‑Proxies eintragen, die für Uploads verwendet werden.
Mehrere Einträge sind möglich; sie werden zufällig verwendet.
Wenn du keine Proxies nutzt, lässt du die Liste entweder leer oder die Beispielzeile auskommentiert.
13. Curl-Unterstützung (curl)
curl:
enabled: true
filehosters:
- 'ddownload.com'
- 'katfile.cloud'
- 'drop.download'
...
enabledtrue= Uploads für bestimmte Hoster werden übercurlabgewickelt (speicherschonender).false= interne HTTP‑Client‑Logik.
In filehosters ist aufgelistet, welche Hoster Curl verwenden sollen.
Standardwerte sind in der Dist‑Datei schon sinnvoll gesetzt.
Bei Curl-Uploads zeigt go-reupper in einem interaktiven Terminal automatisch einen Fortschrittsbalken pro Datei an. Bei parallelen Uploads werden mehrere Balken untereinander dargestellt. Wird die Ausgabe in eine Datei oder einen Prozess umgeleitet, deaktiviert go-reupper die Animation automatisch und schreibt weiterhin normale Logmeldungen.
14. Benachrichtigungen (notification)
notification:
enabled: false
notifyOn:
error: true
success: false
summary: false
pushover:
enabled: false
userkey: ''
apikey: ''
go-reupper kann dich z. B. via Pushover über Fehler oder erfolgreiche Reuploads informieren.
enabled+pushover.enabledmüssen beide auftruestehen.userkeyundapikeybekommst du von Pushover.notifyOn.summary: trueschickt nach einem Durchlauf mit verarbeiteten Jobs eine Übersicht (ok / failed / Dauer). Leere Durchläufe erzeugen keine Nachricht.
Für einen einfachen Start kannst du das komplett deaktiviert lassen.
15. Arbeitszeiten (workingtime)
workingtime:
enabled: false
timezone: "Europe/Berlin"
monday: "09:00-17:30"
tuesday: "09:00-17:30"
...
Damit kannst du definieren, wann go-reupper arbeiten darf:
enabled: true→ Zeitplan aktiv.- Pro Wochentag entweder ein Zeitfenster
"HH:MM-HH:MM"oder""(kein Betrieb).
Wenn du das nicht brauchst, bleibt enabled: false.
16. Experteneinstellungen (expert)
expert:
updateFolderModificationTime: false
Diese Optionen sind für Spezialfälle gedacht.
Wenn du nicht genau weißt, was sie tun, lass die Standardwerte unverändert.
Zusammenfassung
Für einen sicheren Start mit go-reupper reicht es, wenn du in reupper.config.yml:
licensesetzt,workmodeauf einen sinnvollen Modus stellst (meistnormal),- unter
pathmindestens einenscan-Pfad sowiewinrarund bei Bedarfworkpflegst, - im
linkcryptereinen Dienst + API‑Key einträgst und - bei
filehostermindestens einen Hoster aktivierst und konfigurierst.
Alle anderen Optionen kannst du nach und nach anpassen, sobald dein Grundsetup stabil läuft.
Für konkrete Betriebs-Setups siehe zusätzlich „Go-Reupper -> How-Tos“.