přejít na obsah přejít na navigaci

Linux E X P R E S, A kvůli torrentům vás už nevyhodí (snad)

Soutěž - reproduktory Trust

A kvůli torrentům vás už nevyhodí (snad)

pirat.png

Ne, nestala se žádná závažná změna legislativy. Popíšeme se způsob, jak vypnout a zakázat torrentění, pokud se připojíte k určité WiFi síti.


reklama

Přestože je stahování (nikoli sdílení) takzvaného „nelegálního“ obsahu v České republice (zatím) legální, mnoho organizací svým členům/zaměstnancům/studentům stahovat torrenty zakazuje. Ať už to je proto, že je organizace členem nadnárodní skupiny a pravidla platí stejné pro všechny, ať už jste v zemi svobody, kde se stahovat nesmí, nebo někde jinde, kde se smí; nebo proto, že to tak vedení organizace prostě přijde správné a morální.

Slyšel jsem v poslední době i historku, že někdo přišel do práce, otevřel notebook, ten se probudil z režimu spánku, připojil se na WiFi a vesele pokračoval ve stahování (a nejspíš i sdílení) torrentů. Interní mechanismy na firemní síti provoz okamžitě zaznamenaly a dotyčného identifikovali. Povedlo se mu to hned dvakrát a byl kvůli tomu z organizace odejit. „Hlavně si na to dej pozor,“ nezapomněl zdůraznit vyprávějící.

No a protože žiju v přesvědčení, že stroje mají sloužit lidem a ne naopak, hledal jsem řešení, jak na určitých WiFi sítích zakázat torrent provoz. NetworkManager ve Fedoře umí určitým WiFi sítím přiřadit konkrétní profil FirewallD. Bohužel nemám mozkovou a časovou kapacitu na to, abych vymýšlel, jak efektivně blokovat torrent provoz, vzhledem k tomu, že ten je tak trochu plíživá potvora.

Jiným řešením je odstřihnout aplikaci, která torrenty stahuje. To má samozřejmě nevýhodu v tom, že pokud změníte aplikaci, musíte na to myslet, a je to neprosto nepoužitelné, pokud stahujete torrenty webovým prohlížečem. Já ale naštěstí nic takového nedělám, takže hurá do toho.

NetworkManager umí vyvolat akci na základě při-/odpojení, stačí uložit skript do složky /etc/NetworkManager/dispatcher.d. Soubory se volají postupně podle jména, proto je dobré vlastní skript indexovat vyšším číslem než ty systémové a pojmenovat ho třeba 99-notorrent:

#!/bin/bash
IFACE="wlan0"
LIST="/etc/notorrent-wifis"

if [ "x$1" = "x$IFACE" ]; then
	# Figure out the wifi SSID
	SSID="$(/sbin/iwconfig $IFACE | sed -r -n '/SSID/{s/.*SSID:"([^"]+)".*/\1/g;p;q}' )"
	
	if grep -q "^$SSID\$" "$LIST" && [ "$2" = "up" ]; then
		killall -s 9 transmission-gtk # put your torrent client here
		chmod -x /usr/bin/transmission* # and here
	else
		chmod +x /usr/bin/transmission* # and here
	fi
fi

Skript dostane v prvním parametru síťové rozhraní a v druhém buďto slovo up, nebo down, podle toho, jestli se připojujete, nebo odpojujete. Na začátku skriptu je uvedeno rozhraní, o které vám jde a soubor, ve kterém je seznam WiFi sítí (jedno SSID na jeden řádek), kde nechcete torrenty stahovat. Nezapomeňte ve skriptu změnit torrent klient, pokud nepoužíváte Transmission.

Může se vám stát, že se něco pokazí (například při tvrdém resetu) a skončíte s nepoužitelným torrent klientem. V takovém případě pomůže připojit se k jakékoli WiFi síti. Pokud se připojujete nějak jinak, skript by bylo potřeba mírně upravit.

Jo a pokud to nebude fungovat a vás vyhodí, já za to nemůžu.

Poznámka: Jsem si samozřejmě vědom, že takhle si z torrentu nestáhnete ani linuxové distra, ani zakoupený obsah z Humble Bundle.

Nahoru

Top články z OpenOffice.cz

Miroslav Hrončok

Miroslav Hrončok

Linux používám od roku 2004, aktivně se o něj zajímám od roku 2007, kdy jsem napsal svůj první článek pro LinuxEXPRES. Od roku 2009 jsem pracoval pro Liberix jako redaktor LinuxEXPRESu, od roku 2011 do konce roku 2012 jako jeho šéfredaktor. Nyní pracuji v Red Hatu, kde rozšiřuji distribuci Fedora o nové balíčky. Zároveň studuji na FIT ČVUT, kde se zabývám 3D tiskem a vyučuji několik předmětů. Spoluorganizuji pražskou konferenci LinuxDays a aktivně se účastním mnoha dalších českých linuxových akcí, jako přednášející nebo jako výpomoc.


  • Distribuce: Fedora
  • Grafické prostředí: Xfce

| blog