JDownloader anonym über Tor auf der Synology: Docker-Anleitung mit Container Manager
Mit einem Docker-Stack aus Tor-Gateway und JDownloader auf der Synology entsteht ein anonymer Download-Server: alle Verbindungen laufen über Tor, die eigene IP bleibt verborgen. Die Anleitung zeigt das Setup mit Container Manager – inklusive IP-Verifikation und Praxis-Hinweisen.

JDownloader 2 ist seit Jahren das De-facto-Standardtool, um große Dateien von Filehostern, Mediatheken oder Wissenschafts-Archiven herunterzuladen. Wer den Download-Verkehr vollständig über das Tor-Netzwerk laufen lassen möchte – etwa für Privacy-Recherchen, Whistleblower-Workflows oder einfach um die eigene IP-Adresse aus den Server-Logs der Quellen zu entfernen – kann das auf der Synology sehr sauber mit zwei Docker-Containern lösen. Diese Anleitung führt durch das komplette Setup mit Container Manager unter DSM 7.2.
Was Tor leistet – und was nicht
Vor dem Setup ein paar ehrliche Hinweise, damit die Erwartungen passen:
- Tor verbirgt deine IP-Adresse gegenüber der Quelle, die die Datei ausliefert. Aus deren Sicht kommt der Download von einem Tor-Exit-Knoten irgendwo auf der Welt.
- Tor ist nicht für Bulk-Downloads optimiert. Realistisch sind 0,5–5 MB/s, oft auch weniger. Wer eine Gigabit-Leitung ausreizen möchte, ist mit einem klassischen VPN besser bedient.
- Tor.org rät von BitTorrent-Traffic ab, weil dieser das ganze Netzwerk belastet. Bei JDownloader geht es um HTTP/S-Downloads, also nicht um BitTorrent – die Belastung ist kleiner, aber jeder GB zählt. Bewusst und maßvoll nutzen.
- Tor schützt nicht vor schadhaften Quellen. Anonymität ersetzt keine Sorgfalt beim Umgang mit Downloads. Antiviren-Prüfung am Endgerät bleibt Pflicht.
- Rechtliche Verantwortung bleibt beim Nutzer. Anonymität ist kein Freibrief für illegale Quellen – Urheberrecht, Marken-, Persönlichkeitsrecht gelten unverändert.
Architektur in einem Satz
Zwei Container in einem isolierten Docker-Netzwerk: Der Tor-Gateway-Container stellt einen SOCKS5-Proxy auf Port 9050 bereit, der JDownloader-Container ist per Java-Proxy-Variable so konfiguriert, dass jeder ausgehende Verbindungsversuch durch diesen SOCKS5-Proxy läuft. JDownloader hat damit selbst keinen direkten Internetzugang mehr – alles geht über Tor.
Voraussetzungen
- Synology-NAS mit DSM 7.2 oder neuer und Container-Manager-Unterstützung.
- Paket Container Manager installiert.
- Mindestens 2 GB freier RAM, 4 GB sind komfortabler.
- Ein freier TCP-Port
5801auf der Synology für das JDownloader-Web-UI. - Ein eigener Volume-Ordner für Downloads (z. B. eine bestehende Freigabe namens
Download).
Schritt 1: Ordner-Struktur anlegen
In der File Station innerhalb von /volume1/docker einen neuen Unterordner jdownloader-tor anlegen. Darunter zwei Unterordner für die persistenten Konfigurationen der beiden Container:
/volume1/docker/jdownloader-tor/
├── compose/
└── /volume1/docker/jdownloadertor/ (JDownloader-Config)Wer ein eigenes Download-Verzeichnis nutzt, kann dieses statt /volume1/Download in den weiteren Schritten einsetzen.
Schritt 2: Eigene Benutzer-ID und Gruppen-ID ermitteln
Die Container müssen mit der richtigen User- und Group-ID laufen, damit Schreibrechte auf das Download-Verzeichnis stimmen. Auf der Synology gilt grundsätzlich: Die Gruppen-ID 65536 entspricht der Standardgruppe users. Die persönliche User-ID lässt sich auf zwei Wegen ermitteln:
- Per SSH einloggen und den Befehl
idausführen – die Zahl hinteruid=ist die gesuchte ID. - Alternativ Systemsteuerung → Aufgabenplaner→ Aufgabeneinstellung → E-Mail eingeben und unten ins Feld "ID" --> Ausführen
Im weiteren Verlauf verwende ich beispielhaft USER_ID=1027 – diese Zahl muss durch die eigene ersetzt werden.
Schritt 1 (Aufgabeneinstellung )
E-Mail eingeben und unten ins Feld "ID"

Ausführen

Danach bekommst du eine E-Mail:
Der Aufgabenplaner hat eine geplante Aufgabe abgeschlossen.
Aufgabe: My UID and GID
Start: Sat, 30 May 2026 13:26:57 +0200
Ende: Sat, 30 May 2026 13:26:57 +0200
Aktueller Status: 0 (Normal)
Standardausgabe/Fehler:
uid=1026(sedv) gid=100(users) groups=100(users),101(administrators)Von HomeNAS
Schritt 3: docker-compose.yml als Projekt anlegen
Im Container Manager auf Projekt → Erstellen klicken. Folgende Felder ausfüllen:
- Projektname:
jdownloader-tor - Pfad:
/volume1/docker/jdownloader-tor/compose - Quelle: YAML-Code erstellen

In das YAML-Feld folgenden Compose-Code einfügen. Vor dem Speichern USER_ID und gegebenenfalls den Download-Pfad anpassen:
services:
tor-gateway:
image: dperson/torproxy:latest
container_name: tor-gateway
restart: unless-stopped
environment:
- TZ=Europe/Berlin
ports:
- "9050:9050"
- "8118:8118"
networks:
tor_net:
ipv4_address: 10.10.200.10
jdownloader:
image: jlesage/jdownloader-2:latest
container_name: jdownloader-tor
restart: unless-stopped
depends_on:
- tor-gateway
environment:
- TZ=Europe/Berlin
- USER_ID=1027
- GROUP_ID=65536
- UMASK=0022
- KEEP_APP_RUNNING=1
- JAVA_TOOL_OPTIONS=-DproxySet=true -DsocksProxyHost=tor-gateway -DsocksProxyPort=9050
volumes:
- /volume1/docker/jdownloadertor:/config:rw
- /volume1/Download:/output:rw
ports:
- "5801:5800"
shm_size: "512mb"
networks:
tor_net:
ipv4_address: 10.10.200.30
networks:
tor_net:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.10.200.0/24
gateway: 10.10.200.1Die wichtigsten Stellen erklärt:
JAVA_TOOL_OPTIONSsetzt JDownloaders eigene Java-Laufzeitumgebung dauerhaft auf den SOCKS5-Proxytor-gateway:9050. Damit ist jeder Download und jede Captcha-Anfrage automatisch durch Tor getunnelt – ohne dass in der JDownloader-Oberfläche manuell ein Proxy konfiguriert werden muss.depends_onsorgt dafür, dass der Tor-Container zuerst startet.- Das eigene Bridge-Netz
tor_netmit dem Subnetz10.10.200.0/24trennt den Stack sauber vom Synology-Standardnetz. Die Container erreichen sich über Namensauflösung (tor-gateway), die festen IPs dienen nur der Übersicht. - Der Port
5801auf dem Host bleibt erreichbar – darüber läuft das JDownloader-Web-UI.
Schritt 4: Stack starten
Mit Weiter bestätigen, die Web-Portal-Konfiguration leer lassen (der Stack braucht keine zusätzliche Anmeldung über Container Manager) und schließlich auf Fertig klicken. Container Manager lädt die Images, erstellt das Netzwerk und startet beide Container. Nach etwa einer Minute sollten beide Container im Reiter Container mit Status Wird ausgeführt auftauchen.
Schritt 5: Tor-Verbindung testen
Bevor JDownloader live geht, kurz prüfen, ob der Tor-Tunnel funktioniert. Per SSH auf der Synology:
docker exec jdownloader-tor curl -s --socks5-hostname tor-gateway:9050 https://check.torproject.org/api/ipDie Antwort sollte ein JSON-Objekt mit dem Feld IsTor: true enthalten.
{"IsTor":true,"IP":"192.42.116.116"}Damit ist gesichert, dass der JDownloader-Container den Tor-Tunnel verwendet. Falls SSH nicht aktiv ist, lässt sich derselbe Test im Container Manager über den Punkt Details → Terminal → Erstellen ausführen.
Schritt 6: JDownloader-Web-UI öffnen
Im Browser folgende Adresse aufrufen – NAS-IP durch die lokale IP-Adresse der Synology ersetzen:
http://NAS-IP:5801Die noVNC-basierte Web-Oberfläche zeigt nach wenigen Sekunden die gewohnte JDownloader-Oberfläche. Beim ersten Start läuft der initiale JDownloader-Setup-Assistent – Sprache wählen, Lizenzbedingungen akzeptieren, fertig.
Schritt 7: JDownloader konfigurieren
Zwei Einstellungen sind vor dem ersten Download empfehlenswert:
- Download-Verzeichnis: Unter Einstellungen → Allgemeine Einstellungen → Standard-Download-Ordner auf
/outputsetzen. Das ist im Container der Pfad, der auf/volume1/Downloadder Synology zeigt. - TOR verbinden: Unter (0)Einstellungen → (1)Verbindungsmanager → (2)Proxy-Typ auf
Socks5 Proxysetzen (3) Host: tor-gateway und dann den (4)Port auf 9050.

MyJDownloader (optional): Wer JDownloader von unterwegs steuern möchte, kann sich kostenlos bei my.jdownloader.org registrieren und das Konto in den JDownloader-Einstellungen verknüpfen. Wichtig: MyJDownloader läuft über die JDownloader-Cloud und macht die Steuerung von außen sichtbar – die Downloads selbst bleiben anonym über Tor.
Schritt 8: Anonymität verifizieren
Die zuverlässigste Verifikation läuft direkt im JDownloader-Container und nutzt das offizielle Check-API des Tor-Projekts. Per SSH auf der Synology folgenden Befehl ausführen:
docker exec jdownloader-tor curl -s --socks5-hostname tor-gateway:9050 https://check.torproject.org/api/ipDie Antwort ist ein kompaktes JSON-Objekt:
{"IsTor":true,"IP":"185.220.101.34"}Zwei Werte sind entscheidend:
IsTor: true– damit bestätigt der Tor-Projekt-Server direkt, dass die Anfrage über einen Tor-Exit-Knoten reinkam.IPist die aktuelle Exit-Node-Adresse, auf keinen Fall die eigene öffentliche IP des Anschlusses.
Wer den Befehl mehrfach in kurzer Folge ausführt, bekommt unterschiedliche Exit-Node-IPs zu sehen. Das zeigt die normale Tor-Circuit-Rotation und ist zugleich ein guter Indikator, dass der Tunnel sauber durchschaltet. Liefert die Antwort dagegen IsTor: false oder eine IP aus dem eigenen Provider-Range, ist der SOCKS5-Tunnel nicht aktiv – in diesem Fall die Compose-Datei prüfen und den Stack mit docker compose down und docker compose up -d komplett neu starten.
Updates und Wartung
Beide Images werden regelmäßig aktualisiert. Update-Routine im Container Manager:
- Im Reiter Projekt das Projekt
jdownloader-toröffnen. - Auf Aktualisieren klicken – Container Manager zieht neue Images und ersetzt die laufenden Container.
- Anschließend mit Schritt 5 erneut prüfen, ob der Tor-Tunnel noch funktioniert.
Der persistente Ordner /volume1/docker/jdownloadertor sollte in den Hyper-Backup-Job aufgenommen werden. Damit lässt sich der gesamte JDownloader-Zustand inklusive Account-Manager und Kontingenten im Notfall wiederherstellen.
Troubleshooting
- JDownloader öffnet sich, aber Downloads laufen nicht an: Tor-Gateway hat noch keine stabile Circuit-Verbindung. Container tor-gateway kurz neu starten, eine Minute warten.
- Captchas funktionieren nicht: Manche Captcha-Provider blockieren Tor-Exit-Nodes komplett. In diesem Fall hilft nur, einen anderen Filehoster zu wählen oder den Download manuell zu starten.
- IsTor: false bei der Verifikation: Die Variable
JAVA_TOOL_OPTIONSist nicht korrekt gesetzt – Compose-Datei prüfen, Stack neu starten. - Permission denied im Download-Ordner: USER_ID/GROUP_ID stimmen nicht. Mit
idper SSH die echten Werte ermitteln und in der Compose-Datei einsetzen. - Sehr langsame Downloads: Das ist erwartbares Verhalten von Tor. Mehr in den oberen Praxis-Hinweisen.
Fazit
Mit zwei Containern und einer Compose-Datei lässt sich JDownloader auf der Synology sauber durch das Tor-Netzwerk tunneln. Die Lösung ist persistent, überlebt Reboots und braucht im Alltag keine weitere Pflege außer regelmäßigen Updates. Wer maximale Anonymität ohne Cloud-VPN-Abo braucht und mit der reduzierten Geschwindigkeit leben kann, hat hier ein robustes Setup.
Weitere Synology- und Container-Anleitungen in den Kategorien Synology / NAS und Docker.
Quellen: The Tor Project, jlesage/jdownloader-2 auf Docker Hub, dperson/torproxy auf Docker Hub