# 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 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 1. ProtonVPN hesabı → **Downloads → WireGuard configuration** sayfasına git. 2. **P2P destekli bir sunucu seç** (çift ok ikonlu olanlar). 3. Config oluştururken **"NAT-PMP (Port Forwarding)"** seçeneğini mutlaka aç — bunu atlarsan port forwarding hiç çalışmaz. 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 ``` http://sunucu-ip:61235 ``` İlk girişte qBittorrent geçici bir şifre üretir, container loglarından (`docker logs qbittorrent`) görebilirsin. ## Portlar - **61235** → WebUI (host ve container tarafında aynı numara, tek yayınlanan port) - 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. ## Sonarr / Radarr entegrasyonu İndirme istemcisi olarak eklerken host adresi bu sunucu, port **61235**. `/downloads` klasörünü Sonarr/Radarr ile aynı host yoluyla paylaşırsan hardlink taşıma sorunsuz çalışır. ## İleride başka bir şeyi VPN'lemek istersen Aynı `docker-compose.yml` dosyasına üçüncü bir servis ekleyip ona da `network_mode: "service:gluetun"` yazman yeterli — aynı dosyada oldukları için ekstra container ismi/proje eşleştirmesi gerekmiyor. O servisin ihtiyaç duyduğu portu **gluetun** servisinin `ports:` listesine eklemeyi unutma (ağı gerçekten sahiplenen o olduğu için port yayınlamayı da o yapmak zorunda).