|

Click’n Load an Docker, bitte melden

Im folgenden geht es darum, in CachyOS eine Portweiterleitung mit systemd einzurichten, um Click’n Load (CnL) Download-Links an eine Docker-Instanz von jDownloader weiterzuleiten. Die unten beschriebene Vorgehensweise funktioniert unabhängig von installierten Firewalls oder Router-Einstellungen. Als Linux-Editor meiner Wahl benutze ich mcedit da der Midnight Commander bei mir grundsätzlich installiert ist.

Voraussetzung ist, das jDownloader als Docker Image z.B. auf einem NAS im lokalen Netzwerk installiert und Port 9666 für Click’n Load freigesgeben ist. Im nachfolgenden Text verwende ich die IP-Adresse 10.42.0.2 für mein NAS im lokalen Netzwerk 10.42.0.0/24.

Meine jDownloader docker-compose.yml sieht folgendermaßen aus – dabei sind die Einträge unter ports: die relevanten Einstellungen für das Web-Interface und Click’n Load:

services:
  jdownloader:
    image: jlesage/jdownloader-2
    container_name: jdownloader
    restart: unless-stopped
    volumes:
      - ./config/:/config:rw
      - /Downloads/:/output:rw
    environment:
      - LANG=de_DE.UTF-8
      - TZ=Europe/Berlin
      - KEEP_APP_RUNNING=1
      - USER_ID=1000
      - GROUP_ID=1000
      - DARK_MODE=1
    ports:
      - 5800:5800
      - 9666:9666

Zuerst legen wir einen Socket für das Port-Forwarding an. Der Socket lauscht permanent auf Adresse 127.0.0.1:9666 – also dem lokalen Rechner auf Port 9666:

sudo mcedit /etc/systemd/system/cnl-forward.socket

Folgenden Text einfügen und dann mit F2 speichern und F10 zum beenden:

[Unit]
Description=CnL Socket

[Socket]
ListenStream=9666

[Install]
WantedBy=sockets.target

Jetzt den Proxy Service anlegen, der alles weitere vom Socket übernimmt und den Payload an die angegebene Adresse und Port weiterleitet:

sudo mcedit /etc/systemd/system/cnl-forward.service

Nachfolgenden Text einfügen und mit F2 speichern sowie F10 zum beenden:

[Unit]
Description=CnL Forwarding Proxy
After=network.target
Requires=cnl-forward.socket

[Service]
ExecStart=/usr/lib/systemd/systemd-socket-proxyd 10.42.0.2:9666
PrivateTmp=true
ProtectSystem=full

Die von mir verwendete IP-Adresse 10.42.0.2 muss natürlich mit der Adresse in deinem Netzwerk ersetzt werden. Zum Schluss systemd neu starten und die Portweiterleitung so konfigurieren, das sie automatisch gestartet wird:

sudo systemctl daemon-reload
sudo systemctl enable --now cnl-forward.socket

Wird eine Firewall verwendet, muß noch der Port 9666 freigegeben und die Änderung aktualisiert werden – unter CachyOS ist dies die Firewall ufw. Bitte daran denken, den Port auf allen Rechnern freizugeben, auf denen Click’n Load benutzt werden soll:

sudo ufw allow 9666/tcp
sudo ufw reload

Zum Testen einen beliebigen Browser starten und folgendes in die Adresszeile eingeben:

127.0.0.1:9666

Folgendes sollte erscheinen:

{
 "src"  : "DEVICE",
 "data" : null,
 "type" : "API_COMMAND_NOT_FOUND"
}

Dies bedeutet, das Click’n Load funktioniert. Jetzt werden von Internetseiten bereitgestellte Click’n Load-Links direkt an den Linksammler von jDownloader oder PyLoad weitergeleitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert