LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Transmission - Bit Torrent klient - 2

Jak nainstalovat a provozovat Transmission na serveru.

14.7.2010 00:00 | Radim Kolář | Články autora | přečteno 5993×

Transmission na serveru

BitTorrent klient transmission lze provozovat v neinteraktivním režimu s využitím klient/server architektury. Když pomineme provozování rtorrentu ve screenu tak je transmission jedinou rozumnou volbou pro provozování bittorrent klienta na serverech. Proto je taky často nasazován na NAS boxy a do video přehrávačů s hardiskem běžících pod linuxem. Na rozdíl od rtorrentu ve screenu který je na ovládání poněkud hardcore se s transmission pracuje velice pohodlně.

Stahování bittorrentů na serveru má několik výhod. V první řadě je to kvalitní síťové připojení s velkým přenosovým pásmem. Narozdíl od ADSL linek je připojení serverů symetrické - download je stejně rychlý jako upload. To znamená že můžeme odeslat do sítě více dat čímž nám ostatní peery na oplátku zase více dat pošlou a stažení bude tak výrazně rychlejší. Servery mívají také kvalitnější připojení s menší latencí a menší ztrátovostí dat než počítače připojené přes ADSL nebo nedejbože přes Wifi na větší vzdálenost. Poslední výhodou je čas k dispozici. Server běží neustále a tak může torrenty jednak stahovat neustále a jednak se mu může díky tomu že je neustále online povést stáhnout i torrent který má jen málo seedu, které jsou navíc připojeny jen občas.

Kompilace

Distribuce mívají transmission v zastaralých verzích, protože jde o rychle se vyvíjející se projekt, je nejlepší vlastní kompilace. Pro kompilaci budeme potřebovat knihovny libcurl a libevent. V Ubuntu nainstalujeme balíčky libcurl4-openssl-dev, libevent-dev, intltool. Ve FreeBSD budeme potřebovat porty devel/libevent a ftp/curl.

Pokud máme starou verzi libevent 1.3 která je například v Ubuntu 8.04 LTS tak potřebujeme odinstalovat starou libevent a pak stáhnout verzi 1.4 odtud a nainstalovat ji pomocí známého ./configure;make install ručně.

Vlastní kompilaci a instalaci transmission daemona provedeme pomocí:

./configure --enable-daemon LDFLAGS="-L/usr/local/lib" CPPFLAGS="-I/usr/local/include"
make install

Instalace

Instalace přeloženého programu transmission-daemon je triviální, stačí jej spustit bez parametrů pod uživatelem který má vlastnit stažená data a on se sám spustí na pozadí. Pokud nerebootujete server příliš často, u mých FreeBSD serverů je průměrný uptime okolo 300 dnů, tak ho můžete spouštět ručně a nemusíte vytvářet jeho startovací skript v /etc/init.d

Konfigurace

Konfigurace se provádí buďto přímou editací /.config/transmission-daemon/settings.json nebo pomocí programu pro vzdálené ovládání daemona transmission-remote. Použití ovládacího programu je mnohem jednoduší, ale není v něm možné nastavit všechny volby.

Po spuštění daemona si vypíšeme jeho tovární nastavení:

> transmission-remote -si
VERSION
  Daemon version: 1.93 (10621)
  RPC version: 8
  RPC minimum version: 1

CONFIG
  Configuration directory: /home/admin/.config/transmission-daemon
  Download directory: /home/admin/Downloads
  Listenport: 51413
  Portforwarding enabled: Yes
  Peer exchange allowed: Yes
  Encryption: preferred

LIMITS
  Peer limit: 240
  Default seed ratio limit: Unlimited
  Upload speed limit: Unlimited  (Disabled limit: 100 KB/s; Disabled turtle limit: 50 KB/s)
  Download speed limit: Unlimited  (Disabled limit: 100 KB/s; Disabled turtle limit: 50 KB/s)

Tak se pustíme do nastavování. Zapneme povinné šifrování a zvolíme náhodně port na kterém budeme přijímat příchozí spojení abychom se vyhnuli případnému traffic shapingu který dělají někteří ISP na standardních BitTorrent portech.

> transmission-remote --random-port --encryption-required

Zapneme použití DHT databáze, vypneme uPNP mapování portů protože to na serveru nepotřebujeme, vypneme hledání lokálních peerů (novinka v Transmission 2.0) a zapneme peer exchange protokol protože bez něj nemá DHT prakticky cenu.

> transmission-remote --dht --no-portmap  --no-lpd --pex

Pokud se jedná o přenosové pásmo zabírané transmission na serveru tak většina serverů má poměr mezi příchozím a odchozím trafikem zhruba 1:8 ve prospěch odchozího. Download rychlost transmission proto omezovat prakticky nemusíme jelikož máme kapacity dostatek. Omezit musíme upload rychlost. Další šikovná věc je že server mimo špičku spotřebovává výrazně méně přenosového pásma a tak můžeme Transmission přidat.

Nastavíme download a upload limity abychom si moc nezacpávali linku řekněme 100 KB Upload a 250 KB Download. Nastavíme také default seed ratio na 1.8, přenosového pásma máme na serveru dost a navíc můžeme seedovat 24hodin denně.

> transmission-remote --downlimit 250 --uplimit 100 --global-seedratio 1.8

Ve špičce ovšem budeme chtít rychlost omezit na řekněme 30KB upload a 150KB download.

> transmission-remote --alt-speed-downlimit 150 --alt-speed-uplimit 30

Špičku máme od pondělí do pátku 8:00 - 16:00

> transmission-remote --alt-speed-days 1-5 --alt-speed-time-begin 0800 --alt-speed-time-end 1600 \
  --alt-speed-scheduler

Teď už jen nastavíme kam se má downloadovat a nastavení je hotovo.

> transmission-remote --download-dir /home/admin/rtorrent/down/
> transmission-remote --incomplete-dir /home/admin/rtorrent/wip/

Nyní musíme nastavení uložit protože to daemon nedělá automaticky ale jen při svém ukončení. To je dost nemilá vlastnost protože když dojde k výpadku proudu tak ztratíme jeho současné nastavení pokud bylo odlišné od nastavení s kterým byl spuštěn. Nastavení uložíme:

> killall transmission-daemon

a je uloženo. Konfigurační soubor programu transmission-daemon se jmenuje settings.json, je v JSON formátu a nachází v adresáři ~/.config/transmission-daemon/ uživatele který daemona spustil. Daemon totiž nemusí běžet pod rootem.

Poslední věcí na kterou bych rád upozornil a není součástí automaticky vytvořeného konfiguračního souboru je možnost automaticky sledovat adresář na výskyt .torrent souborů. Každý .torrent soubor který bude v adresáři objeven se automaticky začne stahovat. Pokud ho však později soubor z adresáře odstraníte nedojde ani k zastavení stahování ani k vymazání dat. Tyto věci si musíte zařídit stejně jako u ručně přidaných torrentů. Tuto vlastnost aktivujete tak že do konfiguračního souboru settings.json přidáte následující:

"watch-dir": "/home/admin/rtorrent/watch",
"watch-dir-enabled": true

Pokud chceme ovládat daemona vzdáleně z jiného počítače potřebujeme přidat jeho adresu do whitelistu. Zastavte daemona a překontrolujte zda máte v settings.json uvedeno:

"rpc-authentication-required": false,
"rpc-whitelist-enabled": true,
"rpc-whitelist": "127.0.0.1,88.162.81.225",

Podrobnější dokumentace ke konfiguračnímu souboru je zde.

Srovnání s rtorrentem

Jak je z použité konfigurace vidět, používal jsem dříve na serveru program rtorrent ve screenu. Musím říci, že se s Transmission výrazně snadněji pracuje - ovládání z příkazová řádky je snadné a intuitivní, což se o klávesách v rtorrentu říct nedalo, navíc toho umí transmission trochu víc a tak bych už zpět neměnil - je s ním radost pracovat.

Verze pro tisk

pridej.cz

 

DISKUZE

opravdu je trorrent tak spatny? 16.7.2010 22:57 Petr Jakubec
  L Re: opravdu je trorrent tak spatny? 20.7.2010 10:09 Radim Kolář




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

24.8.2016 6:44 /Ondřej Čečák
Poslední týden CFP LinuxDays 2016; pokud byste rádi přednášeli na LinuxDays 2016 8. a 9. října v Praze, můžete svůj příspěvek přihlásit, následovat bude veřejné hlasování.
Přidat komentář

9.8.2016 22:56 /Petr Ježek
Zařazení souborového systému reiser4 do jádra 4.7 znamená konečně konec patchování jádra jen kvůli možnosti použít reiser4.
Přidat komentář

12.7.2016 13:14 /František Kučera
Spolek OpenAlt zve na 130. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 21. července od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

11.7.2016 16:53 /Redakce Linuxsoft.cz
Konference LinuxDays hledá přednášející. Přihlášky poběží do konce prázdnin, v září bude hlasování a program. Více na https://www.linuxdays.cz/2016/cfp/.
Přidat komentář

8.5.2016 17:19 /Redakce Linuxsoft.cz
PR: Dne 26.5.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, cloudové služby, infrastruktura cloudu, efektivní využití cloudu, možné nástrahy cloudů a jak se jim vyhnout
Přidat komentář

21.4.2016 8:01 /František Kučera
Spolek OpenAlt zve na 127. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 28. dubna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

2.3.2016 22:41 /Ondřej Čečák
Letošní ročník konference InstallFest již tento víkend!
Přidat komentář

14.2.2016 16:39 /Redakce Linuxsoft.cz
O víkendu 5. a 6. března 2016 proběhne na pražském Strahově 8. ročník tradiční konference InstallFest. Celkem za dva dny uvidíte ​30 přednášek​ a ​6 workshopů.
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

12.8.2016 11:51 / Josef Zapletal
Jak udělat HTML/Javascript swiping gallery do mobilu?

8.8.2016 14:58 / Adams
fairies for hire

28.7.2016 15:51 / pepan
Re: NetBeans vs Eclipse

10.6.2016 21:10 / pavel riha
FreeBSD 10.3 a virtualizace

8.6.2016 21:56 / Milan Gallas
Nevalidní prefix m

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2016) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze