Dodanie klienta torrent do routera z OpenWRT

A więc chcesz dodać klienta torrent do twojego routera z OpenWRT, aby móc pobrać tą metodą, chociażby obraz Raspbian, zapisać go na wcześniej podłączony i ustawiony dysk USB oraz mieć do niego dostęp z poziomu sieci lokalnej?
Nic prostrzego. Do tego celu wykorzystamy Transmission.
Sprawdzone na OpenWrt 19.07.x oraz 21.02.x
Instalacja i konfiguracja Transmission #
Instalacji możesz to dokonać z poziomu panelu administracyjnego przez przeglądarkę internetową (System > Software) lub też z poziomu terminala:
Dla OpenWrt 19.07.x:
opkg update
opkg install transmission-daemon-openssl transmission-web luci-app-transmission
Dla OpenWrt 21.02.x:
opkg update
opkg install transmission-daemon transmission-web luci-app-transmission
Aplikacja luci-app-transmission pozwoli nam na dostosowanie dodatkowych opcji z poziomu przeglądarki internetowej bez potrzeby edycji plików z poziomu terminala.
Pakiet transmission-daemon-openssl to program, który będzie działał w tle naszego routera, a transmission-web to osobny dostęp do naszego programu z poziomu przeglądarki internetowej, w celu dodania lub usunięcia pobieranego pliku.
Zaczniemy od konfiguracji ustawień.
Przechodzimy do panelu sterowania naszego routera, następnie Services > Transmission.
Nim zaznaczymy konfigurację jako włączoną (Enabled), przejdźmy przez kilka ustawień. Najważniejsze z nich jest to, gdzie nasze pliki mają być zapisywane.
W sekcji Files and Locations wprowadzamy lokalizacje folderu w Downloads locations. W moim przypadku jest to na dysku USB zmontowanym jako /mnt/sda1
. Dodatkowo mam włączone zapisywanie plików pobieranych (nieskończonych) w osobnym folderze (zaznaczamy Incomplete directory enabled).
W pozostałych ustawieniach (Miscellaneous) zmieniłem szyfrowanie z preferowane (Preferred) and wymuszone (Forced).
Ustawiłem również czarną listę (Blacklist), wybierając z iBlocklist listę level1 or Bluetack.
Resztę pozostawiam w ramach uznania.
Zaznaczmy opcję Enable na początku ustawień i klikamy Zapisz i Zastosuj (Save & Apply).
W OpenWrt 21.02.x aplikcaja luci-app-transmission zwraca informację o brakujących polach Run daemon as user
oraz Run daemon as group
, przez co nie ma możliwości zapisania ustawień:
Związane jest to z opisanym problemem #4697, który z czasem zostanie załatan (miejmy nadziję) w kolejnych aktualizacjach pakietu.
W między czasie poniższa komenda powinna rozwiązać problem:
sed -i '/"file": {/a\\t\t\t\t"/etc/passwd": [ "read" ],\n\t\t\t\t"/etc/group": [ "read" ],' /usr/share/rpcd/acl.d/luci-app-transmission.json
service rpcd restart
Uruchomienie Transmission #
Niestety, na chwilę obecną, mimo, że w luci-app-transmission opcja Enabled jest ustawiona i powinna domyślnie uruchomić transmission-daemon, tak się nie dzieje.
Aby uruchomić nasz program, z poziomu terminala wydajemy komendę:
/etc/init.d/transmission start
Po czym udajemy się do panelu transmission, domyślnie http://192.168.1.1:9021/transmission/web/ gdzie dodajemy nasz torrent.
Aby zatrzymać Transmission możemy zabić proces z poziomu panelu administracyjnego routera System > Processes lub z poziomu terminala:
/etc/init.d/transmission stop
Jeżeli mamy jakikolwiek problemy z uruchomieniem, zalecam wykonanie komendy logread
z poziomu terminala w celu przeanalizowania błędów.
Jeżeli chcemy ręcznie zmienić ustawienia w pliku z poziomu terminala, po zatrzymaniu daemona wystarczy wy-edytować /etc/config/transmission
. Czasem może być to niezbędne, jeżeli za bardzo namieszamy w ustawieniach.
W sekcji Config file directory z poziomu przeglądarki, lub
option config_dir
w pliku konfiguracyjnym zalecam zmianę z/tmp/transmission
na/root/transmission
. Dzięki temu folder roboczy demona transmission zapisany będzie w stałej lokalizacji a nie tymczasowej. Ma to znaczenie w przypadku pliku Blacklist, który zostanie na routerze po jego ponownym uruchomieniu.
Pozdrawiam.