Bawiąc się Portainerem na moim nowym serwerze TrueNAS postanowiłem przetestować czy da się skonfigurować klienta torrentów qBittorrent używając kontener NordVPN aby pobierać dane poprzez VPN.
![](https://blog.sloniupl.eu/wp-content/uploads/2022/03/qBittorrent_nordvpn_Logo-1-1200x1200.png)
Poniższe rozwiązanie używa protokołu Nord Lynx czyli Wireguard w implementacji NordVPN.
Aby użyć NordVPN do połączenia należy posiadać subskrypcję/konto w usłudze NordVPN oraz wygenerować swój PRIVATE_KEY który jest niezbędny do konfiguracji.
Można go uzyskać używając jednorazowo ponizsze polecenie dockera zamieniając XXX oraz YYY na swoje dane logowania NordVPN:
docker run --rm --cap-add=NET_ADMIN -e USER=XXX -e PASS=YYY bubuntux/nordvpn:get_private_key
Lub używając tego poradnika pokazującego jak go uzyskać pod linuxem.
Poniżej jest kod źródłowy docker-compose który modyfikujemy pod swoje ustawienia:
version: "3"
services:
nordlynx:
image: ghcr.io/bubuntux/nordlynx
restart: unless-stopped
cap_add:
- NET_ADMIN #required
environment:
- PRIVATE_KEY=<YOURprivateKEY> #wymagany - podajemy tutaj swój klucz prywatny NordVPN
- DNS=9.9.9.9,1.1.1.2 # ustawiamy adresy IP serwerów DNS
- QUERY=filters\[country_id\]=209 # to ustawienie wybiera serwer NordVPN w Szwajcari
- NET_LOCAL=192.168.1.0/24 # nasza podsieć lokalna aby mieć dostęp do interfejsu sieciowego
- ALLOWED_IPS=0.0.0.0/0
- TZ=Europe/Warsaw
# port dostępu do qBittorrent
ports:
- 8080:8080
sysctls:
# - net.ipv4.conf.all.rp_filter=2
- net.ipv6.conf.all.disable_ipv6=1 # zalecane jeśli w sieci lokalnej nie używasz ipv6
labels:
- "com.centurylinklabs.watchtower.enable=true" # etykieta uzywana przez watchtower - do automatycznej aktualizacji kontenera
torrent:
# image: ghcr.io/linuxserver/qbittorrent
image: lscr.io/linuxserver/qbittorrent
restart: unless-stopped
network_mode: service:nordlynx
environment:
- TZ=Europe/Warsaw
volumes:
- /mnt/dane/container/qbittorrent/config:/config
- /mnt/dane/container/qbittorrent/data:/data
- /mnt/dane/downloads:/downloads
- /mnt/dane/container/qbittorrent/incomplete:/incomplete
labels:
- "com.centurylinklabs.watchtower.enable=true" # etykieta uzywana przez watchtower - do automatycznej aktualizacji kontenera
depends_on:
- nordlynx
Należy pamiętać o poprawnym skonfigurowaniu ustawień związanych ze swoim kontem NordVPN (klucz prywatny), ustawień sieci oraz w sekcji torrent ścieżek katalogów gdzie będzie zapisywana konfiguracja i pobierane pliki – sekcja volumes.
Używając ustawień powyżej nasz interfejs qBittorrenta będzie dostępny pod adresem serwera na porcie 8080:
Gotowe:)
Linkografia:
Cześć, fajny wpis 😉 mam podobny setup z transmission + windscribe