Funkenstrahlen Podcasting, Netzpolitik, App-Entwicklung

Youtube-dl via Proxy

Um Videos von Youtube herunterzuladen, ist youtube-dl wirklich absolut mein Tool der Wahl. Vor allem, weil ich mir sehr gerne auch Vorträge ansehe. Sie lassen sich mit der Option --extract-audio herunterladen und dann komfortabel wie ein Podcast genießen.

Dabei stoße ich aber immer mal wieder auf das Problem, dass in Deutschland viele Videos wegen Urheberrechtsproblemen mit der GEMA gesperrt sind. Das hat zum Teil auch seine Berechtigung. In einigen Fällen aber auch nicht, da die Erkennung automatisiert stattfindet.

Youtube erkennt an Hand der IP-Adresse, aus welchem Land ihr kommt. Daher lässt sich das Problem leicht über einen Proxy-Server oder ein VPN lösen. Um nun aber ein einziges Video herunterzuladen möchte ich ungern mein komplettes System auf einen Proxy-Server oder ein VPN umstellen.

Dafür gibt es eine sehr praktische Lösung: Mit proxychains-ng lässt sich ein einziges Programm über einen Proxy umleiten (hier im Beispiel curl):

$ proxychains4 curl ifconfig.me
[proxychains] config file found: /usr/local/Cellar/proxychains-ng/4.7/etc/proxychains.conf
[proxychains] preloading /usr/local/Cellar/proxychains-ng/4.7/lib/libproxychains4.dylib
[proxychains] DLL init
[proxychains] Strict chain  ...  176.57.216.214:1081  ...  ifconfig.me:80  ...  OK
176.57.216.214 # IP des Proxyservers

Zur Kontrolle:

$ curl ifconfig.me
178.7.151.20 # Meine eigene IP

Via homebrew ist das leicht installiert: brew install proxychains-ng. Nun muss nur noch der Proxyserver konfiguriert werden. Das geschieht in der proxychains.conf, sie liegt im Falle von Homebrew unter /usr/local/Cellar/proxychains-ng/4.7/etc/proxychains.conf.

Dort werden ganz am Ende der Konfigurationsdatei die Proxyserver eingetragen. Kostenlose Proxyserver lassen sich hier finden.

[Protokoll]  [IP]            [Port]
socks5       41.216.0.106    1080

Wenn man mehrere Server untereinander einträgt, werden sie hintereinander geschalten. Das erhöht die Anonymität, aber macht die Verbindung auch träger.

Sobald brauchbare Proxyserver in der Konfiguration eingetragen sind, lässt sich youtube-dl darüber nutzen:

proxychains4 youtube-dl --extract-audio "URL"

Update: Mittlerweile unterstützt das Tool youtube-dl selbst Proxy Server. Mit der Option --proxy URL lässt sich der Traffic ganz einfach über einen Proxy Server leiten. (Danke an Marius für den Hinweis)