Nedávno mě otec požádal, zda-li bych mu na počítači nezprovoznil nějaké stahování torrentů. To není takový problém, pro Linux existuje celá řada klientů. Problém byl spíše v tom, že torrenty se obvykle stahují velmi dlouho. Například takovou DVD verzi nějaké distribuce můžete stahovat i několik dní. Nechat počítač hučet a žrát kvanta energie několik dní není to pravé ořechové, proto jsem si řekl, že bych do toho mohl zapojit domácí server, který spotřebuje mnohem méně energie, je tišší a navíc zastrčený v komoře, takže nikoho neruší. Mým úkolem tedy bylo najít program, který poběží na serveru jako démon a který je možné vzdáleně ovládat, přičemž jsem preferoval webové rozhraní před příkazovou řádkou, protože taťka by se s takovým ovládáním asi těžko vyrovnával.
Po krátkém zkoumání nabídky jsem se rozhodl pro Transmission, který je známý jako výchozí bittorrent klient pro Ubuntu. Od verze 1.33 se jedná o velmi schopného klienta, který je navíc nenáročný na systémové prostředky a má povedené ovládání přes webové rozhraní postavené na AJAXu.
Prvním problémem bylo nainstalovat nový Transmission na Debian Etch, který na serveru mám. V jeho repozitářích se totiž nacházela starší verze a za poslední rok Transmission prodělal takový vývoj, že je to téměř jiná aplikace, jednou z funkcí, které nově získal, je právě i ono ovládání přes webové rozhraní. Rozhodl jsem se ho tedy zkompilovat ze zdrojových kódů. Jenže si nerozuměl s distribuční verzí openSSH, takže jsem musel nejdříve kompilovat toto. Následně po mně chtěl novější verzi jedné knihovny, která měla hned několika závislostí. Tudy cesta nevedla, tímto stylem bych si musel zkompilovat polovinu systému. Rozhodl jsem se tedy hledat starší verzi programu, která má webové rozhraní a přitom jí stačí verze knihovny, kterou mám v systému. Tou nakonec byla verze 1.33.
Transmission jsem měl na serveru a dalším úkolem bylo, aby běžel jako démon. Původně jsem si myslel, že si budu muset dát práci s psaním spouštěcího skriptu, ale nakonec jsem na internetu jeden dobrý našel. Jeho výhodou je to, že je dobře okomentovaný a přizpůsobení vlastním potřebám je otázkou minuty. Stačí nastavit, kde bude Transmission ukládat stažené soubory, pod jakým uživatelem poběží a jaké bude uživatelské jméno a heslo pro přihlášení ve webovém rozhraní. Ostatní proměnné lze ponechat na původních hodnotách. Přímo ze zdroje ho na potřebné místo stáhnete tímto příkazem:
wget http://www.vanutsteen.nl/wp-content/uploads/2008/12/transmission-daemon -O /etc/init.d/transmission-daemon
V dalším kroku je potřeba skriptu udělit práva spustitelného souboru:
chmod +x /etc/init.d/transmission-daemon
Vytvořil jsem si uživatele transmission, pod kterým Transmission poběží:
adduser --home /dev/null --shell /bin/false --no-create-home --disabled-login transmission
Dále jsem vytvořil složku /etc/transmission:
mkdir /etc/transmission
Změnil jejího majitele na transmission:
chown transmission:transmission -R /etc/transmission
Návod, který jsem použil, navíc doporučuje vytvořit soubor s nastavením /etc/default/transmission-daemon, který obsahuje:
TRANSMISSION_HOME=/etc/transmission
# Slozka, kde bude Transmission stahovat soubory
TORRENTFOLDER=/media/sda11/downloads
# Port, ktery bude Transmission pouzivat pro spojeni s ostatnimi peery
PORT=54318
# Jmeno uzivatele, pod kterym Transmission pobezi
USERNAME=transmission
# login a heslo pro prihlaseni pres webove rozhrani
REMOTE_USER=admin
REMOTE_PASS=password
Nakonec jsem provedl příkaz, kterým jsem zajistil, že se skript spustí po startu systému automaticky:
update-rc.d transmission-daemon defaults
Ještě bych dodal, že složka, do které chcete soubory stahovat, by měla mít majitele transmission. Když jsem měl nastaveného jiného majitele, byť s právy zapisovat i pro ostatní, dělalo to neplechu.
Webové rozhraní naleznete na této adrese http://localhost:9091/transmission/web/. Místo localhost je samozřejmě nutné zadat IP adresu serveru, pokud se přihlašujete z jiného počítače. Jak můžete vidět na obrázku dole, webové rozhraní je jednoduché a přehledné a nezadá si ani s grafickým rozhraním Transmissionu. Jedinou nevýhodu spatřuji v tom, že nelze zadat přímo adresu torrentu, ale musíte torrent stáhnout do počítače a potom ho do aplikace nahrát.