3 Eylül 2013 Salı

Raspberry Pi’ye Transmission Torrent Clienti ve Web Arayüzünü Kurmak

Bugün sizlere raspberry pi’ye meşhur torrent istemcilerinden transmissionu servis olarak kurup web arayüzünden nasıl çalıştıracağınızı anlatacağım.

Transmission

Transmission, açık kaynaklı ve çoklu platformlarda (linux, mac, unix vb.) ve wd mybook gibi gömülü sistemlerde çalışabilen, kaynak tüketmeyen, temiz bir arayüze sahip bir bittorrent istemcisidir. Raspberry Pi kullanırken şimdilik tercihim bu istemciyi kullanmaktan yana, zira denediğim diğer istemci deluge belki web arayüzü olarak gelişmiş olmasına rağmen çok hantal idi. (servisi başlatınca %84 işlemci yiyordu, transmission beklemedeyken %1-%2 civarı tüketim yapmakta

Kurulum

Transmissionın oldukça basit bir kurulumu var. Tek yapmanız gereken paketleri kurup birkaç satır değişiklik ile parola belirlemek (ve tercihen açtıktan sonra web arayüzünden indirme klasörünü belirlemek).
(Kurulumu Raspbian dağıtımı için anlatıyorum, fakat her dağıtımda çalışmalı, sadece sudo/apt-get install vs. yerine dağıtımınızdaki dağıtıma özel komutlar olacak. Kalan mantık aynı)
  • Önce Transmission’u indiriyoruz. Terminali açıp şu kommutları girin:
    1sudo apt-get update && sudo apt-get install transmission transmission-daemon
    (aslında daemonu yazmaktan %100 emin değilim, gerek olmamalı ama ben işi garantiye alıyorum)
  • Kurulum bitince terminalde şimdi de şu komutu çalıştırın (böylece kurulum sonrası otomatik aktif olan transmission servisi durdurulacak ve ayar düzenleme sayfasını açacağız):
    1service transmission-daemon stop && sudo nano /etc/transmission-daemon/settings.json
  • Şimdi de açılan sayfada birkaç ayar yapmak lazım. Bunlar aşağıdaki resimde seçili alandakiler:

  • rpc-authentication-required: Eğer bağlandığınız zaman kullanıcı adı ve parola sormasını istiyorsanız true, istemiyorsanız false yazın.
  • rpc-enabled değeri true olmalı, böylece web arayüzü ile ağdaki başka bir bilgisayardan / internetten raspberry pi ye bağlanabilir ve torrentleri yönetebiliriz.
  • rpc-password kısmına parolanızı yazın. Transmission akıllı, açıldıktan sonra bu değer değişmişse şifreleyip hash saklıyor bu değeri, böylece parolanız güvende oluyor.
  • rpc-port web arayüzüne hangi porttan bağlanacağınızı belirtir. (En yukardaki resme bakın)
Daha fazla ayarı giriş yaptıktan sonra web arayüzünden de yapabilirsiniz. Fakat bazı ayarlar sadece settings.json üzerinden yapılmakta. Tüm komutların listesi için orijinal döümantasyon sayfasına bakabilirsiniz.


  • Şimdi de aşağıdaki komut ile servis olarak transmissionu çalıştıracağız.
    1sudo service transmission-daemon start
    Alternatif olarak şu komutla da çalıştırabilirsiniz:
    1sudo /etc/init.d/transmission-daemon start
  • Eğer her açılışta otomatik olarak başlamasını istiyorsanız aşağıdaki komutu girin:
    1sudo /etc/init.d/transmission-daemon defaults
  • Eğer her şeyi doğru olarak yaptıysanız tarayıcınızı açıp adres çubuğuna raspberrypininipadresi:port (örnek: 192.168.1.5:9091 gibi) girerek başlatabilirsiniz.


  • Kaynak: raspberrypi.gen.tr

    Raspberry Pi Statik IP alma ve Dinamik DNS

    Bunun için önce modeminizin ip sini, ve netmask adresini öğrenmelisiniz. Windows’ta dos komutu olarak “ipconfig -all” yazarak modem ip nizi öğrenebilirsiniz. Geri kalan değerler için Raspberry Pi’nize bağlanıp/açıp terminalden şu komutu girin:
    1ifconfig -a
    Bu size bağlı olduğunuz network hakkında bilgi dökümü verecektir. Ethernet’ten bağlı ise “eth0″, kablosuz ağdaysanız “wlan0″ gibi bir değer sizin atanmış ip nizdeki değerleri döken bölüm olacaktır.
    • Buradaki “inet addr” değeri (bende 192.168.1.34 olan değer) DHCP tarafından Raspberry Pi’nize atanmış yerel ip adresidir. Mask değeri ise (bendeki 255.255.255.0) mask adresini belirtir. Modem IP’nize de 192.168.1.1 diyelim (bende öyle)
    • Şimdi ise aşağıdaki komutu çalıştırın:
      1sudo nano /etc/network/interfaces
    • Bu komut ile açılan editörde ağ ayarlarınızı göreceksiniz. Bende şu şekilde:
    • Buradaki en alttaki “iface eth0 inet dhcp” değerindeki “dhcp” değeri yerine static yazın. Yani son satır “iface eth0 inet static” olsun.
      Not: Eğer wireless olsaydı “iface wlan0 inet dhcp” satırı olacaktı.
    • Daha sonra altına şu satırları ekleyin:
      1#statik yerel ip adresi
      2address 192.168.1.10
      3#ifconfigdeki mask değeri
      4netmask 255.255.255.0
      5#modem/gateway ip si
      6gateway 192.168.1.1
      7#modem üzerinden atanaabilen ip aralığı
      8network 192.168.1.0
      9broadcast 192.168.1.255
      Buradaki atanabilen ip aralığı değişik biraz. Modeminiz tarafından atanabilen en düşük ip 192.168.1.1 ise 192.168.1.0 , broadcast’e de en yüksek ip yi yazmalısınız. Çoğu modemde x.x.x.255 olduğundan örneğimiz için 192.168.1.255 yazdım.
      Ayrı bir örnek vermem gerekirse 10.0.0.1 olsaydı modem ip’niz şöyle olacaktı değerler:
      1#statik yerel ip adresi
      2address 10.0.0.4
      3#ifconfigdeki mask değeri
      4netmask 255.255.255.0
      5#modem/gateway ip si
      6gateway 10.0.0.1
      7#modem üzerinden atanaabilen ip aralığı
      8network 10.0.0.0
      9broadcast 10.0.0.255
    • Daha sonra aşağıdaki komut ile networkin’i yeniden başlatın:
      1sudo /etc/init.d/networking restart
      2#bu satır da garanti olsun diye
      3sudo /etc/init.d/networking reload
    • Artık Raspberry Pi’niz bir statik IP’ye sahip.
    • Şimdi ise Üçüncü Parti bir DNS ayarlayalım

      Kabul edelim, TTNet, pek çok siteyi dns bazında engelleyerek kurunun yanında yaşı da yaktı, hem de çok hantallar. Bir taşla iki kuş vurmak, ve de sitelerden daha hızlı çözümleme tepkisi almak için Google DNS ya da Open DNS başarılı alternatifler.
      • Öncelikle Yukarıdaki adımlarla Raspberry Pi’nize sabit bir yerel IP verdiğinizden emin olun.
      • Daha sonra terminalden şu komutu çalıştırın:
        1sudo nano /etc/resolv.conf
      • Açılan sayfada şu şekilde DNS ip lerini girin:
        1nameserver ip1
        2nameserver ip2
        Not: Google DNS IPleri 8.8.8.8 ve 8.8.4.4, OpenDNS ip leri 208.67.222.222 ve 208.67.220.220
        Aşağıdaki resimde ben OpenDNS ip lerini girdim:
        • Daha sonra aşağıdaki komut ile networkin’i yeniden başlatın:
          1sudo /etc/init.d/networking restart
          2#bu satır da garanti olsun diye
          3sudo /etc/init.d/networking reload
        • Artık internet servis sağlayıcınız haricinde bir DNS kullanıyorsunuz, 
      • Kaynak: raspberrypi.gen.tr