Při nejlepší vůli a čistém svědomí by neměl být nejmenší důvod rozjíždět na jednom stroji víc než jeden kanál připojený do Toru. Alespoň tedy pro soukromé a nedivotvorné účely. Přesto se ale najdou i situace, kdy by se mít více otevřených nezávislých smyček celkem hodilo.
V takových případech nepůjde o účelové chainování nebo pokusy zajistit lepší anonymitu provozu, ale spíš poskytnout mnohem volnější prostředí pro časově náročné operace. Typické Use-case - masivně paralelní dolování dat z ohromných webových kup sena pomocí wgetového pavouka/crawleru, která nejsou jinak dostupná přes nějaké to API a/nebo právě API a konfigurace cílových serverů znemožňuje přehazování sena vidlemi - procházet data co nejrychleji v neomezeném množství.
Tor prakticky není potřeba ve výchozím stavu nijak konfigurovat, pro rychlá použití poskytuje wrapper torify pro torsocks, což prakticky nastaví dále zmíněnému programu SOCKS proxy skrzevá síť Tor, protože tor proces sám o sobě proxy není. Potíží ale může být, že se zatorovaná identita nemění dostatečně rychle, aby nabízela jen v jednom jediném kanálu dostatečnou entropii simulující chování obyčejné celosvětové sítě. V ten okamžik přichází na řadu snaha vypustit víc nezávislých tor procesů, každý pěkně na svém portu.
Konfigurace, alespoň v Debianu, leží v /etc/tor/torrc. To je nastavení hlavního démona. Aby jich mohlo běžet víc, je potřeba každému zvlášť vnutit samostatný konfigurační soubor, odvozený třeba kopií od toho hlavního, a změnit v něm naslouchací port a hlavně DataDirectory, kam se ukládají všechny klíče a podobně věci pro běh.
# torrc.1 SocksPort 9054 DataDirectory /var/lib/tor/1 # torrc.2 SocksPort 9055 DataDirectory /var/lib/tor/2 # torrc.3 SocksPort 9056 DataDirectory /var/lib/tor/3
Pokud to je hotové, je možné nové jednotlivé kanály vypustit do světa. Tor může a nemusí běžet jako root, ovšem pokud neběží, je potřeba taky konfiguračním souborům nastavit patřičná oprávění - 0644.
$ tor -f /etc/tor/torrc.1 & $ tor -f /etc/tor/torrc.2 & $ tor -f /etc/tor/torrc.3 &
V tuhle chvíli běží na uvedených portech samostatné instance, ale není možné se k nim původním úplně snadným způsobem, tedy prostým použitím torify, dostat. Uvažme, že jednotlivé instance pro wget jsou pro přehlednost odpalovány shellovými skripty, kde jim je možné pohodlně měnit běhové prostředí. Běhové prostředí bude důležité pro nastavení torsocks, pro nějž je torify, jak už bylo řečeno, pouhým wrapperem.
Tady je to poněkdu zapeklitější, protože konfigurace torsocks je, opět alespoň v Debianu, v jediném sobouru přímo v /etc, což není úplně hezké pro přehlednost. Ale není nic snazšího, než si prostřě vytvořit nový adresář /etc/torsocks a konfigurace si do něj nakopírovat.
# cd /etc # mkdir torsocks # cp torsocks.conf torsocks/torsocks.1.conf # cp torsocks.conf torsocks/torsocks.2.conf # cp torsocks.conf torsocks/torsocks.3.conf # chmod 0755 torsocks # chmod 0644 torsocks/*.conf
V těchto nových souborech stačí provést jen odpovídající změny dříve nastavených portů.
# torsocks.1.conf server_port = 9054 # torsocks.2.conf server_port = 9055 # torsocks.3.conf server_port = 9056
Samotné odpálení potřebuje specifikovat cestu ke konfiguraci v TORSOCKS_CONF_FILE. Ta se přihodí každému odpalovači wgetu a rázem se může malovat.
#!/bin/bash export TORSOCKS_CONF_FILE=/etc/torsocks/torsocks.1.conf torsocks wget ... &
Po dokončení operace, která může zabrat klidně i několik týdnů, se tor procesy mohou prostě nechat takhle spuštěny pro nějaké další budoucí použití, nebo je možné je jednoduše sestřelit. Záleží na situaci. Pomocí vytvořených konfigurací je už ale jednoduché připravit stroj na podobné použití v budoucnu znovu velmi rychle.
Nutno dodat, že spouštění více instancí a vícenásobné připojení do Toru může být potenciálně nebezpečné a ve finále může poskytnout horší bezpečnostní vlastnosti, proto není úplně vhodné tento postup využívat například pro dynamické proxy pro běžné prohlížení webu a podobné věci.