Blog (4)
Komentarze (1.9k)
Recenzje (0)
@edmunRaspberry Pi – torrentowy serwer – część 2, czyli treść właściwa

Raspberry Pi – torrentowy serwer – część 2, czyli treść właściwa

01.04.2016 | aktual.: 01.04.2016 12:04

Witam ponownie - część druga - bardziej treściwa niż poprzednia.

Dyski USB podłączone do Raspberry Pi działają? Mają się dobrze? Prędkości po sieci pewnie tragiczne, ale cóż poradzić. Na to pomysłu wciąż nie mam, chyba że inwestujemy w jakiś dobre pudełko NAS, ale coś czuję że przy moich obecnych i przyszłych wydatkach to zupełnie nie przejdzie.

No chyba, że wygram na loterii :)

Wracając do Raspberry Pi jako serwera dla torrentów. Jeśli już mamy gdzie przechowywać te nasze wszystkie linuxy, to może zainstalujemy w końcu i serwer?

Lista wymagań

Będziemy potrzebować Raspberry Pi z zainstalowanym system Raspbian (w moim przypadku dystrybucja wheezy), statyczny adres IP w sieci LAN i jeśli chcemy mieć dostęp z zewnątrz (np. z pracy, ze szkoły, z internetu mobilnego) to warto byłoby mieć stały zewnętrzny adres IP lub chociaż dynamiczną nazwę domeny. Większość (jak nie wszystko) wykonywaliśmy już w poprzedniej części poradnika Raspberry Pi jako serwer VPN już działa? (link tutaj). oraz w poprzedniej części Raspberry Pi jako serwer torrentów (część 1)

Instalacja deluge

Instalujemy daemona Deluge wraz z interfejsem webowym:

W konsoli:

sudo apt-get install deluged deluge-webui

Następnie uruchamiamy program deluged oraz zamykamy go, aby móc edytować plik konfiguracyjny (uruchomienie programu tworzy plik konfiguracyjny, ale edytowanie go w trakcie pracy programu mija się z celem, stąd musimy program zamknąć)

deluged
pkill deluged

Następnie musimy dodać "użytkownika" do konfiguracji serwera deluge:

sudo nano ~/.config/deluge/auth

W otwartym pliku wpisujemy nazwę użytkownika: hasło oraz poziom użytkownika.

Na początek polecam skorzystać z praw admina (poziom 10). Poszczególne poziomy (np. tylko dla ograniczonych użytkowników) możemy ustawić później.

Przykładowy wpis:

582381

Uwaga: Należy się upewnić, że nie przeskoczyliśmy do "następnej" linii po wpisaniu tych danych. Deluge ma trochę bugów i jednym z nich jest błąd odczytywania pustej linii z tego pliku. Podobno poprawili to w którejś wersji ale nie jestem 100% pewny.

Przydałoby się też dorzucić skrypt autostartu:

wget http://quidsup.net/sh/init-deluge.sh
nano init-deluge.sh

W otwartym pliku należy zmienić nazwę użytkownika w 16‑tej linii:

582387

Wychodzimy z edytora za pomocą CTRL+X i potwierdzamy zapis pliku.

Kopia/treść pliku init-deluge.sh (na wypadek gdyby link powyżej był nieaktywny):


#! /bin/sh
### BEGIN INIT INFO
# Provides:          deluged
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start deluged at boot time
# Description:       Start DelugeD and Deluge-Web.
### END INIT INFO

#Author              QuidsUp
#Last Modified	     26 Jan 2013

#Required -- To be changed!
USER=username        #Set Username here.
PORT=8112            #Set port number for web interface (default 8112)
PIDFileDeluge=/var/run/deluged.pid
PIDFileWeb=/var/run/deluge-web.pid

case "$1" in
  start)
    echo "Starting Deluge"
    start-stop-daemon --start --chuid $USER --name deluged --pidfile $PIDFileDeluge \
     --background --make-pidfile --exec /usr/bin/deluged -- --do-not-daemonize 
    start-stop-daemon --start --chuid $USER --name deluge-web --pidfile $PIDFileWeb \
     --background --make-pidfile --exec /usr/bin/deluge-web -- --port $PORT
  ;;

  stop)
    echo "Stopping Deluge"
    start-stop-daemon --stop --chuid $USER --name deluged --pidfile $PIDFileDeluge
    start-stop-daemon --stop --chuid $USER --name deluge-web --pidfile $PIDFileWeb
  ;;

  restart|force-reload)
    echo "Stopping Deluge for Restart"
    start-stop-daemon --stop --chuid $USER --name deluged --pidfile $PIDFileDeluge
    start-stop-daemon --stop --chuid $USER --name deluge-web --pidfile $PIDFileWeb
    sleep 5s
    echo "Restarting Deluge"
    start-stop-daemon --start --chuid $USER --name deluged --pidfile $PIDFileDeluge \
      --background --make-pidfile --exec /usr/bin/deluged -- --do-not-daemonize 
    start-stop-daemon --start --chuid $USER --name deluge-web --pidfile $PIDFileWeb \
      --background --make-pidfile --exec /usr/bin/deluge-web -- --port $PORT
  ;;
  status)
    echo "Checking Status of Deluge"
    if (test -f $PIDFileDeluge); then
      PIDVal=$(head -1 $PIDFileDeluge)
      if [ -e /proc/$PIDVal ]; then
        echo -n "DelugeD Running on Process ID: "
        echo $PIDVal
        echo
        ps -H $PIDVal
      else
        echo "DelugeD Not Running but PID File Exists"
        exit 1
      fi
    else
      echo "No PID File found for DelugeD"      
    fi
  ;;
  *)
     echo "Usage: deluge {start|stop|restart|force-reload|status}" >&2
     exit 1
  ;;
esac

exit 0

------------------------------------------------------------

Następnie jedna komenda po drugiej, każda zatwierdzana enterem:

sudo su
mv init-deluge.sh /etc/init.d
cd /etc/init.d
mv init-deluge.sh deluge
chmod 755 deluge
update-rc.d deluge defaults
service deluge start

Podstawowy serwer powinien teraz już działać.

Możemy sprawdzić poprzez komendę:

sudo service --status-all

lub otworzyć deluge z linii poleceń za pomocą komendy:

deluge-console

Na liście usług powinniśmy odnaleźć deluge z symbolem plusika jeśli sprawdzaliśmy usługi za pomocą service status-all

Polecam dodać możliwość zdalnego zalogowania się poprzez zmianę konfiguracji: W przeglądarce wpisujemy adres IP Raspberry na porcie 8112

582407

Domyślne hasło to deluge Po zalogowaniu się otwieramy ustawienia:

582409

aby w zakładce "Inne" zaznaczyć "Allow remote connections".

582411

W ten sposób będziemy mogli dodawać źródła czy łączyć się z serwerem z zewnętrznych źródeł. Jak już tu jesteśmy to polecam zmienić hasło do interfejsu webowego poprzez zakładkę "Interface"

582413

Restartujemy serwer deluge z okna terminalu:

sudo service deluge restart

Instalujemy klienta w systemie Windows

Ze strony http://deluge-torrent.org/ pobieramy klienta dla systemów Windows.

Po instalacji uruchamiamy program i od razu otwieramy ustawienia (Edit > Preferences > Interface), odznaczamy "Classic Mode".

582419

Zamykamy i uruchamiamy program ponownie. W oknie wpisujemy adres naszego raspberry pi oraz nazwę i hasło użytkownika.

582421

Jeśli wszystko działa super poprawnie, polecam na chwilę wyłączyć deluge na raspberry pi i dodatkowo edytować jeden plik, aby interfejs webowy automatycznie łączył się do serwera deluge w przypadku jeśli restartujemy raspberry pi.

sudo service deluge stop
pkill deluged
sudo nano ~/.config/deluge/web.conf

W linii default hostname należy wpisać po prostu IP localhosta (127.0.0.1) aby webowy interfejs domyślnie podłączał się pod serwer deluge pracujący na tej samej maszynie.

582427

Zapisujemy CTRL+X i odpalamy ponownie serwer:

sudo service deluge start

No teoretycznie serwer już działa ale pozostaje jeden malutki problem. Domyślne ustawienia serwera deluge wskazują miejsce zapisu plików na kartę SD naszego Raspberry. Ja raczej polecam zapisywać to co ściągamy na podłączonym dysku twardym (po to przecież podłączaliśmy te wszystkie dyski co nie?).

Deluge domyślnie używa tylko trzech katalogów jednakże pełna opcja to 4 foldery/katalogi na:

pliki pobierane pliki pobrane katalog obserwujący pliki backup

Jeśli mamy nasz dysk dostępny w /media/Samsung to za pomocą komendy mkdir tworzymy wystarczającą ilość podkatalogów które ustawimy w konfiguracji deluge

sudo mkdir /media/Samsung/Deluge/pobrane
sudo mkdir /media/Samsung/Deluge/pobierane
sudo mkdir /media/Samsung/Deluge/obserwowane
sudo mkdir /media/Samsung/Deluge/kopia

Następnie otwieramy klienta i w ustawieniach (Edit>Preferences>Downloads) wpisujemy po kolei te same foldery jakie przed chwilą stworzyliśmy.

582439

Na koniec pozostaje nam jeszcze zainstalować klienta na Androidzie

Ze sklepu Play Store pobieramy Transdrone

Po uruchomieniu wchodzimy w kreatora dodawania serwera.

Wybieramy nowy serwer (Add server):

582444

Następnie, zwykły własny serwer (pierwsza opcja, custom server)

582446

Wybieramy typ serwera: Deluge 1.2+

582448

Po czym wypełniamy następujące pola. Nazwa serwera: Wedle własnego uznania Adres IP: Wpisujemy adres IP Raspberry Pi Nazwa użytkownika i hasło (to samo co podawaliśmy w pliku "auth.conf") Hasło deluge web: czyli takie jak ustawiliśmy przy konfiguracji interfejsu webowego

582450

Jeśli wszystko zrobiliśmy poprawnie to na telefonie możemy odwiedzić np. Ubuntu - Pobieranie Alternatywne i wybrać plik torrentowy

582452

W Transdrone pojawi się stan pobierania.

582454

I tak prawdę mówiąc to wszystko. Oczywiście polecam przekierować sobie na routerze porty 58846 oraz 8112 abyśmy mogli też korzystać z serwera będąc z dala od domu.

Coś jeszcze? Tak - jeśli mamy plik o rozszerzeniu .torrent - to można taki plik umieścić w katalogu /media/Samsung/obserwowane a Deluge automatycznie doda plik do pobierania

Gdybyśmy chcieli pobawić się w dodatkowe funkcje lub sprawdzić jak rzeczy wyglądają z poziomu konsoli, to w terminalu wpisujemu deluge-console

W razie pytań lub gdyby ktoś miał problemy to zapraszam to kontaktu.

Oryginalna instrukcja jak to zrobić oraz źródła, bez których nigdy bym nic nie zrobił: Dostępna tutaj filmik na youtubie (wymagana znajomość języka angielskiego

Wybrane dla Ciebie
Komentarze (0)