qBittorrent, uzak bağlantı ile yönetilmek için tasarlanmış web arayüzüne sahip bir torrent client’i. Sunucu tarafına kurulan torrent yazılımı daha hızlı indirme/yükleme imkanı ile işimizi kolaylaştırır. Bu yazıda kiraladığımız uzak bir sanal sunucuya qBittorrent kurulumunu anlatacağım.
Neden?
Her çözüm bir ihtiyaçtan doğar. Torrent ağına bağlanmanın, indirme yapmanın tamamen veya neredeyse imkansız olduğu üniversite yurdunda kalırken, böyle bir ihtiyacım olduğu için merak edip araştırdığım bir konuydu. Daha sonra ucuz VPN veya SSH tünelleme gibi çözümlerle halletmeye çalıştıysam da okulda taşınabilir cihazın bataryası, evdeki internetin kotası verimli olmuyordu.
1 Mayıs 2017’de yapılan AKK Düzenlemesi ile gün içinde uzak sunucuya, sunucunun hızlı interneti ve merkezi lokasyonundan faydalanarak torrent indirip gece 02:00-08:00 arasında AKK’den yemeden kendi cihazıma indirebileceğim bir sistem kurmak istedim.
Hadi yapalım!
Daha önce DigitalOcean’dan kiraladığım Ubuntu 16.04 yüklü droplet’imi kullanacağım. Siz kendi sunucunuzu, uzak bilgisayarınızı veya dropletinizi kullanabilirsiniz. qBittorrent açık kaynak kodlu bir özgür yazılım projesi. qBittorrent-nox ise masaüstü arayüzü olmayan, sadece web arayüzü ile çalışan, sunucu özelleştirilmiş versiyonu. Özetle, uzak sunucuya bu programı kurup, ayarlarını yapıp yerel cihazımızdan bağlanacağız.
Eğer root olarak giriş yapmadıysanız, 7. adıma kadar olan komutların başına sudo yazmayı unutmayın.
- Sunucuya ssh ile bağlanıyoruz. Yönetici hakları ile bağlandığınızdan emin olun.
- Sunucuya qBittorrent-nox kurmak için şu komutu çalıştırın.
# apt-get update && sudo apt-get install qbittorrent-nox
Y diyerek yüklemeyi onaylıyoruz.
Kullanıcı oluşturma
- qBittorrent’i çalıştıran ve web arayüzü ile yayın yapacak kullanıcı root olmasın diye, basitçe daha az yetkilere sahip güvenli bir kullanıcı oluşturalım. Kullanıcı adı torrentci olsun 🙂 alttaki komutu çalıştırdığınızda 2 kere kullanıcı şifresini girmenizi isteyecek.
# adduser torrentci
Servis oluşturma - Uygulamamızın çalışacağı bir service dosyası oluşturmamız gerekiyor. Aşağıdaki komutla bir service dosyası oluşturalım.
nano /etc/systemd/system/qbittorent.service - Açtığımız editör içine aşağıdaki ayar satırlarını yapıştırın.
User=torrentci
–webui-port=8080
portlarını belirleyeceğiniz porta veya kullanıcı adına göre değiştirmeyi unutmayın.[Unit] Description=qBittorrent Daemon Service After=network.target [Service] User=torrentci ExecStart=/usr/bin/qbittorrent-nox --webui-port=8080 [Install] WantedBy=multi-user.target
- Servis dosyasını kaydedip kapattıktan sonra aşağıdaki komutu çalıştırın.
systemctl daemon-reload
- Programımızın konfigrasyon dosyası, torrentci kullanıcısının home dizininin altında, şurada tutulacak: /home/torrentci/.config/qbittorrent/
İlk çalıştırma için şu komutla torrentci kullanıcısına geçiş yapalım:su torrentci
- Programı çalıştırın: qbittorrent-nox Program ilk çalışmada yasal uyarı gösterecektir, y yazıp Enter’a basarak geçebilirsiniz.
- Programımız çalışıyor. Yerel bilgisayarımızın tarayıcısından IP-ADRESI:PORT girerek erişebilirsiniz.
- Programın default arayüz kullanıcı adı/parolasu şu şekilde:
kullanıcı adı: admin
parola: adminadmin - Giriş yaptığınız zaman aşağıdaki gibi bir ekran açılıyor, arayüz masaüstü torrent istemcilerine çok benziyor. Üst kısımda menü, ortada devam eden/biten işlemler ve alt kısımda anlık indirme/yükleme istatistiği veren durum çubuğu bulunuyor.
Her Şeyden Önce Güvenlik
Deneme yapmadan, etrafı kurcalamadan, her şeyden önce web arayüz şifresini değiştirelim. Üst menüden Tools > Options yolunu takip edin. Açılan pencerede Web UI sekmesi altında Authentication başlığı altında kullanıcı adı ve şifrenizi değiştirin.
Deneme yapalım 🙂
Uzak sunucudaki torrent istemcisini denemek için Ubuntu Downloads sayfasından resmi torrentlerden birini seçiyorum ve .torrent uzantılı adresi kopyalıyorum. Bilgisayarınızdaki bir .torrent dosyasını da upload edebilirsiniz.
Uzak sunucudaki ikonuna tıklıyorum. (Add Torrent Link)
Bağlantı adresini kutuya yapıştırıp, dosyanın uzak sunucuda nereye kaydedileceğini seçip Download butonuna tıklayarak indirmeyi başlatabilirisniz. Bu kutuya Magnet bağlantılarını da yapıştırabilirsiniz.
İndirme Hızına bir göz atalım:
İndirme başladıktan birkaç saniye sonra saniyede 71 MB’a çıktı. Daha fazla hızlanmaya vakti kalmadan indirme bitti. Tabi bu hız, sunucunun lokasyonuna ve indirdiğiniz dosyanın seed’ine bağlı olarak değişecektir.
qBittorrent Her zaman açık kalmalı mı?
Gerek güvenlik gerek ekonomik nedenlerden dolayı sunucu tarafındaki qBittorrent servisini her zaman açık durmasını istemiyorum. Torrent mantığı gereği; her client aynı zamanda server’dır. Dolayısıyla açık bıraktığınız torrent servisi uzak sunucunuzda trafik oluşturacak, varsa trafik limitinizi sömürecektir.
Sunucudaki Dosyaları İndirme
Sunucuya dosyalarımız iniyor, çok iyi, peki bunları bilgisayarımıza nasıl indirebiliriz? Bir çok seçenek mevcut tabi, Python ile yapmak bana en basit geleni. SSH ile sunucumuza bağlanıp indirmelerin yapıldığı dizine gidin. Aşağıdaki komutları kullanabilirsiniz.
cd /home/torrentci/Downloads/
Buradaki “torrentci” kullanıcı adımız, siz kendinizinkini yazabilirsiniz.
Sunucunuzda python3 kurulu ise:
python3 -m http.server
python 2.x kurulu ise:
python -m SimpleHTTPServer 8000
komutu ile bulunduğunuz dizini internete 8000 portundan açabilirsiniz.
Bilgisayarımızın tarayıcısından IP-ADRESI:8000 adresine giderek dosyalarımızı görebiliriz, istediğimiz dosyaları tıklayarak indirebiliriz.