qbit + VPN
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "Gluetun + qBittorrent (Mullvad VPN)",
|
"name": "Gluetun + qBittorrent (ProtonVPN)",
|
||||||
"id": "gluetun-qbittorrent",
|
"id": "gluetun-qbittorrent",
|
||||||
"available": true,
|
"available": true,
|
||||||
"short_desc": "Mullvad'a WireGuard ile baglanan Gluetun VPN gecidi + arkasinda calisan qBittorrent. Kill-switch dahil, tum torrent trafigi VPN'den geser.",
|
"short_desc": "ProtonVPN'e WireGuard ile baglanan Gluetun VPN gecidi + arkasinda calisan qBittorrent. Kill-switch + otomatik NAT-PMP port forwarding dahil.",
|
||||||
"author": "y1lm0z",
|
"author": "y1lm0z",
|
||||||
"port": 61235,
|
"port": 61235,
|
||||||
"categories": ["network", "utilities"],
|
"categories": ["network", "utilities"],
|
||||||
"description": "Tek dosyada iki container: Gluetun, Mullvad'a WireGuard ile baglanip kill-switch (VPN kopunca internet de kesilir) sagliyor. qBittorrent ise kendi agini kullanmiyor, Gluetun'un ag namespace'ini 'network_mode: service:gluetun' ile paylasiyor - bu sayede tum torrent trafigi zorunlu olarak VPN tunelinden geciyor. qBittorrent, Gluetun VPN'e baglanip saglikli olana kadar baslamiyor (depends_on + healthcheck). WebUI'ye Gluetun'un actigi 61235 portundan erisiliyor.",
|
"description": "Tek dosyada iki container: Gluetun, ProtonVPN'e WireGuard ile baglanip kill-switch (VPN kopunca internet de kesilir) sagliyor. qBittorrent ise kendi agini kullanmiyor, Gluetun'un ag namespace'ini 'network_mode: service:gluetun' ile paylasiyor - tum torrent trafigi zorunlu olarak VPN tunelinden geciyor. ProtonVPN'in NAT-PMP port forwarding'i sayesinde Gluetun periyodik olarak port ister ve degistiginde qBittorrent'in dinleme portunu otomatik gunceller (VPN_PORT_FORWARDING_UP_COMMAND) - elle hicbir sey yapman gerekmez, seed performansi icin kritik olan bu ozellik Mullvad'da yoktu. qBittorrent, Gluetun VPN'e baglanip saglikli olana kadar baslamiyor. WebUI'ye Gluetun'un actigi 61235 portundan erisiliyor.",
|
||||||
"tipi_version": 1,
|
"tipi_version": 1,
|
||||||
"version": "latest",
|
"version": "latest",
|
||||||
"source": "https://github.com/qdm12/gluetun",
|
"source": "https://github.com/qdm12/gluetun",
|
||||||
@@ -20,24 +20,24 @@
|
|||||||
{
|
{
|
||||||
"type": "password",
|
"type": "password",
|
||||||
"label": "WireGuard Private Key",
|
"label": "WireGuard Private Key",
|
||||||
"hint": "Mullvad hesabinda 'WireGuard configuration' sayfasindan indirdigin .conf dosyasindaki PrivateKey degeri",
|
"hint": "ProtonVPN hesabi -> Downloads -> WireGuard configuration. P2P destekli (cift ok ikonlu) bir sunucu sec ve config olustururken 'NAT-PMP (Port Forwarding)' secenegini MUTLAKA ac, yoksa port forwarding calismaz. Indirdigin .conf dosyasindaki PrivateKey degeri.",
|
||||||
"required": true,
|
"required": true,
|
||||||
"env_variable": "WIREGUARD_PRIVATE_KEY"
|
"env_variable": "WIREGUARD_PRIVATE_KEY"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"label": "WireGuard Addresses",
|
"label": "WireGuard Addresses",
|
||||||
"hint": "Ayni .conf dosyasindaki Address alani, IPv4 kismi (orn. 10.64.222.10/32)",
|
"hint": "Ayni .conf dosyasindaki Address alani, IPv4 kismi (orn. 10.2.0.2/32)",
|
||||||
"placeholder": "10.64.222.10/32",
|
"placeholder": "10.2.0.2/32",
|
||||||
"required": true,
|
"required": true,
|
||||||
"env_variable": "WIREGUARD_ADDRESSES"
|
"env_variable": "WIREGUARD_ADDRESSES"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"label": "Sunucu Sehirleri (opsiyonel)",
|
"label": "Sunucu Ulkeleri (opsiyonel)",
|
||||||
"hint": "Virgulle ayrilmis Mullvad sehir adlari, orn: Bucharest,Amsterdam. Bos birakirsan rastgele sunucu secilir.",
|
"hint": "Virgulle ayrilmis ulke adlari, orn: Netherlands,Switzerland. Bos birakirsan rastgele P2P sunucu secilir.",
|
||||||
"required": false,
|
"required": false,
|
||||||
"env_variable": "SERVER_CITIES"
|
"env_variable": "SERVER_COUNTRIES"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -11,20 +11,26 @@ services:
|
|||||||
# crash-loop hatasi icin: IPv6'yi bu container icin kapatiyoruz.
|
# crash-loop hatasi icin: IPv6'yi bu container icin kapatiyoruz.
|
||||||
- net.ipv6.conf.all.disable_ipv6=1
|
- net.ipv6.conf.all.disable_ipv6=1
|
||||||
environment:
|
environment:
|
||||||
- VPN_SERVICE_PROVIDER=mullvad
|
- VPN_SERVICE_PROVIDER=protonvpn
|
||||||
- VPN_TYPE=wireguard
|
- VPN_TYPE=wireguard
|
||||||
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
||||||
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
|
||||||
- SERVER_CITIES=${SERVER_CITIES}
|
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
||||||
- FIREWALL_OUTBOUND_SUBNETS=${FIREWALL_OUTBOUND_SUBNETS:-172.16.0.0/12,192.168.0.0/16,10.0.0.0/8}
|
- FIREWALL_OUTBOUND_SUBNETS=${FIREWALL_OUTBOUND_SUBNETS:-172.16.0.0/12,192.168.0.0/16,10.0.0.0/8}
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
|
# ProtonVPN'in NAT-PMP port forwarding'i: Gluetun otomatik port
|
||||||
|
# ister, degistiginde asagidaki komutla qBittorrent'in dinleme
|
||||||
|
# portunu ANINDA gunceller - elle hicbir sey yapman gerekmiyor.
|
||||||
|
- VPN_PORT_FORWARDING=on
|
||||||
|
- VPN_PORT_FORWARDING_PROVIDER=protonvpn
|
||||||
|
- VPN_PORT_FORWARDING_UP_COMMAND=/bin/sh -c 'wget -O- -nv --retry-connrefused --post-data "json={\"listen_port\":{{PORTS}}}" http://127.0.0.1:61235/api/v2/app/setPreferences'
|
||||||
ports:
|
ports:
|
||||||
# qBittorrent WebUI - host:container, ikisi ayni numara (61235)
|
# Sadece WebUI'yi host'a aciyoruz. Torrent peer portu artik ProtonVPN'in
|
||||||
|
# NAT-PMP ile atadigi DINAMIK port - bu, VPN tunelinin (tun0) uzerinden
|
||||||
|
# geliyor, Docker'in host network'unden degil, o yuzden burada ayrica
|
||||||
|
# bir port yayinlamaya gerek yok (Gluetun kendi firewall'unda otomatik
|
||||||
|
# izin veriyor).
|
||||||
- 61235:61235
|
- 61235:61235
|
||||||
# qBittorrent torrent peer portu (TCP+UDP), asagidaki
|
|
||||||
# TORRENTING_PORT ile ayni olmak zorunda
|
|
||||||
- 61234:61234
|
|
||||||
- 61234:61234/udp
|
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/gluetun:/gluetun
|
- ${APP_DATA_DIR}/data/gluetun:/gluetun
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -46,6 +52,8 @@ services:
|
|||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=${TZ}
|
- TZ=${TZ}
|
||||||
- WEBUI_PORT=61235
|
- WEBUI_PORT=61235
|
||||||
|
# Baslangic degeri - Gluetun VPN_PORT_FORWARDING_UP_COMMAND ile
|
||||||
|
# baglanir baglanmaz gercek atanan portla otomatik degistiriyor.
|
||||||
- TORRENTING_PORT=61234
|
- TORRENTING_PORT=61234
|
||||||
volumes:
|
volumes:
|
||||||
- ${APP_DATA_DIR}/data/config:/config
|
- ${APP_DATA_DIR}/data/config:/config
|
||||||
|
|||||||
@@ -1,13 +1,23 @@
|
|||||||
# Gluetun + qBittorrent (Mullvad VPN)
|
# Gluetun + qBittorrent (ProtonVPN)
|
||||||
|
|
||||||
Tek uygulama, iki container: **Gluetun** (VPN geçidi) ve **qBittorrent** (torrent istemcisi). qBittorrent kendi ağını kullanmıyor, `network_mode: service:gluetun` ile Gluetun'un ağ namespace'ini paylaşıyor — bu yüzden tüm torrent trafiği zorunlu olarak Mullvad tüneli üzerinden geçiyor. VPN koparsa qBittorrent'in de interneti anında kesilir (kill switch).
|
Tek uygulama, iki container: **Gluetun** (VPN geçidi) ve **qBittorrent** (torrent istemcisi). qBittorrent kendi ağını kullanmıyor, `network_mode: service:gluetun` ile Gluetun'un ağ namespace'ini paylaşıyor — bu yüzden tüm torrent trafiği zorunlu olarak ProtonVPN tüneli üzerinden geçiyor. VPN koparsa qBittorrent'in de interneti anında kesilir (kill switch).
|
||||||
|
|
||||||
|
**Fark yaratan özellik:** ProtonVPN, NAT-PMP ile gerçek port forwarding destekliyor (Mullvad 2023'te bunu kaldırmıştı). Gluetun bu portu otomatik ister ve her değiştiğinde qBittorrent'in dinleme portunu **kendisi günceller** — seed performansı için kritik olan bu adım tamamen otomatik.
|
||||||
|
|
||||||
## Kurulum
|
## Kurulum
|
||||||
|
|
||||||
1. Mullvad hesabı sayfasından **WireGuard configuration** oluştur, indirilen `.conf` dosyasını aç.
|
1. ProtonVPN hesabı → **Downloads → WireGuard configuration** sayfasına git.
|
||||||
2. `PrivateKey` değerini **WireGuard Private Key** alanına, `Address` değerinin IPv4 kısmını **WireGuard Addresses** alanına yapıştır.
|
2. **P2P destekli bir sunucu seç** (çift ok ikonlu olanlar).
|
||||||
3. İstersen **Sunucu Şehirleri** alanına bir şehir yaz (örn. `Bucharest`), boş bırakırsan rastgele seçilir.
|
3. Config oluştururken **"NAT-PMP (Port Forwarding)"** seçeneğini mutlaka aç — bunu atlarsan port forwarding hiç çalışmaz.
|
||||||
4. Kur, başlat. Gluetun VPN'e bağlanana kadar qBittorrent otomatik bekliyor (`depends_on` + healthcheck), o yüzden ilk açılışta birkaç saniye WebUI'ye erişemeyebilirsin, normal.
|
4. İndirilen `.conf` dosyasından `PrivateKey` → **WireGuard Private Key**, `Address`'in IPv4 kısmı → **WireGuard Addresses** alanına.
|
||||||
|
5. İstersen **Sunucu Ülkeleri** alanına bir ülke yaz (örn. `Netherlands`), boş bırakırsan rastgele P2P sunucu seçilir.
|
||||||
|
6. Kur, başlat.
|
||||||
|
|
||||||
|
## Kurulumdan SONRA yapman gereken tek manuel adım
|
||||||
|
|
||||||
|
qBittorrent WebUI → **Options → Web UI → Authentication** → **"Bypass authentication for clients on localhost"** kutusunu işaretle, kaydet.
|
||||||
|
|
||||||
|
Bu şart, çünkü Gluetun port değiştiğinde qBittorrent'in API'sine `127.0.0.1` üzerinden (aynı ağ namespace'i içinden) istek atıyor — bu kutu işaretli değilse Gluetun'un isteği kimlik doğrulamada takılır, port senkronu sessizce başarısız olur.
|
||||||
|
|
||||||
## Erişim
|
## Erişim
|
||||||
|
|
||||||
@@ -19,10 +29,8 @@ http://sunucu-ip:61235
|
|||||||
|
|
||||||
## Portlar
|
## Portlar
|
||||||
|
|
||||||
- **61235** → WebUI (host ve container tarafında aynı numara)
|
- **61235** → WebUI (host ve container tarafında aynı numara, tek yayınlanan port)
|
||||||
- **61234** (TCP+UDP) → torrent peer portu
|
- Torrent peer portu artık **sabit değil** — ProtonVPN'in NAT-PMP ile dinamik atadığı port, VPN tüneli üzerinden geliyor (host'ta ayrıca port yayınlamaya gerek yok). Gluetun loglarında (`docker logs gluetun | grep -i port`) hangi portun atandığını görebilirsin.
|
||||||
|
|
||||||
Bu iki port bilinçli olarak yaygın kullanılan varsayılanlar (8080, 6881, 51413, 58846 gibi) ve Linux'un otomatik/ephemeral port aralığı (`32768-60999`) dışında seçildi — kalabalık bir sunucuda başka uygulamalarla çakışma ihtimalini azaltmak için.
|
|
||||||
|
|
||||||
## Sonarr / Radarr entegrasyonu
|
## Sonarr / Radarr entegrasyonu
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user