Wolność słowa w Chinach – możesz pomóc.

Jak można się było spodziewać, chińskie władze wzięły się za tor, czyli usługę anonimizującą pozwalającą na ominięcie państwowego firewalla, a tym samym na obejście cenzury i na dostęp między innymi do nieprawomyślnych – bo nie zatwierdzonych przez władze – informacji. W chwili obecnej blokowanych jest ok. 80% węzłów tora. Każdy może, w prosty i nie wymagający wielkich środków sposób, pomóc w walce z chińską cenzurą – poniżej przepis.

Na wstępie zaznaczę, że węzły tora dzielą się na kilka typów, z czego dwa nie grożą niczym nieciekawym osobom, które je prowadzą. Sprawdziłem to empirycznie prowadząc węzeł pośredniczący przez 4 miesiące przy konfiguracji opisanej w mini konfiguracji tora. Aby pomóc Chińczykom wymagana jest inna konfiguracja, ale także ona nie pozwala na nawiązywanie połączeń bezpośrednich, więc nie ma najmniejszych obaw, że ktoś coś zrobi nawiązując połączenie z naszego adresu IP i będziemy ciągani po sądach. Przy okazji – węzeł działa na słabym łączu 1024/256 kbit i słabym sprzęcie (PII 266 MHz, 64 MB RAM). Nie zauważyłem spowolnienia działania sieci czy odczuwalnego zwiększenia zużycia zasobów.

Aby pomóc Chińczykom musimy utworzyć tak zwany bridge-node, czyli węzeł mostkowy (brr, brzydkie tłumaczenie). Działa on tak, że przyjmuje połączenia przychodzące, a następnie przekazuje je do kolejnych węzłów (tylko i wyłącznie do kolejnych węzłów, nigdy bezpośrednio do celu). Jest o tyle pożyteczny, że nie jest widoczny na liście serwerów tora, a dane o nim są udostępniane zainteresowanym dopiero po wysłaniu maila na specjalny adres (dla zainteresowanych dokładny opis procedury uzyskiwania informacji o bridge-nodes.

Do rzeczy. Cała konfiguracja dla bridge-node składa się z 4 linii:

SocksPort 0ORPort 443               # port na którym nasłuchujemyBridgeRelay 1            # włączenie trybu bridge-nodeExitpolicy reject *:*    # blokada bezpośrednich połączeń wychodzących

Ja polecam – szczególnie posiadaczom słabszych łącz – na dodanie ograniczenia prędkości przesyłanych danych:

RelayBandwidthRate 20 KBytesRelayBandwidthBurst 30 KBytes

Trzeba też pamiętać o tym, by port na którym nasłuchujemy był dostępny z zewnątrz (publiczne IP lub przekierowanie na routerze). Zaleca się używanie popularnych portów (80, 443, itp.) – trudniej będzie je wychwycić i zablokować. Polecam też przeczytanie mojego poprzedniego wpisu na temat tora. Dotyczy co prawda innej konfiguracji, ale jest opisana część opcji.

Źródła: artykuł na heise-online, blog projektu tor, opis bridge-nodes na stronie projektu.

UPDATE: Tor posiada wersje dla większości systemów operacyjnych: OS X, Windows oraz Linuksa. tu możesz pobrać tora, a tu, dla wymagających tu więcej opcji. Jeśli chodzi o Linuksa, to zapewne znajduje się w repozytorium pakietów, z którego korzystasz.

UPDATE2: Nieco przydługi, ale ciekawy opis konfiguracji przekaźnika tora (dead link). Chyba głównie dla Windows przydatne – jakieś klikania opisane. 😉