İçeriğe geç

qBittorrent ile Sunucuya Torrent İstemcisi Kurma

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.

  1. Sunucuya ssh ile bağlanıyoruz. Yönetici hakları ile bağlandığınızdan emin olun. 
    sunucu bağlantısı ssh
  2. Sunucuya qBittorrent-nox kurmak için şu komutu çalıştırın.# apt-get update && sudo apt-get install qbittorrent-nox apt-get update && sudo apt-get install qbittorrent-nox Y diyerek yüklemeyi onaylıyoruz.

    Kullanıcı oluşturma

  3. 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

    adduser torrentci
    Servis oluşturma

  4. 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
  5. 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
  6. Servis dosyasını kaydedip kapattıktan sonra aşağıdaki komutu çalıştırın.
    systemctl daemon-reload
  7. 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 torrentcisu torrentci
  8. Programı çalıştırın:   qbittorrent-nox Program ilk çalışmada yasal uyarı gösterecektir, y yazıp Enter’a basarak geçebilirsiniz.programın açılışı
  9. Programımız çalışıyor. Yerel bilgisayarımızın tarayıcısından IP-ADRESI:PORT girerek erişebilirsiniz.
    giriş
  10. Programın default arayüz kullanıcı adı/parolasu şu şekilde:
    kullanıcı adı: admin
    parola: adminadmin
  11. 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.
    arayüz

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.
kullanıcı adı şifre değişimi

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.

torrent url

Uzak sunucudaki Add Torrent Link... ikonuna tıklıyorum. (Add Torrent Link)

torrent yapıştırma

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.

http server

Bilgisayarımızın tarayıcısından IP-ADRESI:8000 adresine giderek dosyalarımızı görebiliriz, istediğimiz dosyaları tıklayarak indirebiliriz.

httpserver

Kaynaklar
Tarih:Web