Poslední dobou jsem se ve volném čase věnoval vývoji software TorrentControl. Všichni jistě znáte populární protokol BitTorrent, který slouží k optimalizované distribuci dat v síti Internet. Základním principem je vzájemná distribuce dat mezi všemi připojenými uživateli a tuto komunikaci částečně koordinuje tzv. tracker, což je server, který obsahuje soubory metadat (*.torrent) potřebné pro BitTorrent klienty.
Trackery jsou veřejné a soukromé, což je většinou uzavřená komunita kam není lehké se dostat. Na takových trackerech je obvykle nutné dodržovat určitá pravidla sdílení, například je nutné odeslat stejně nebo více dat, než bylo staženo. Vzhledem k principu BitTorrent protokolu každý uživatel při stahování zároveň sdílí to co už stáhl. Problém nastává u uživatelů, kteří mají pomalé připojení, nebo u uživatelů bez veřejné IP adresy, ke kterým se nelze připojit přímo.
Tento fakt mě inspiroval k vytvoření aplikace, která by takovým uživatelům usnadnila dodržování pravidel pro sdílení na soukromých trackerech. Funguje to tak, že TorrentControl zachytí požadavek na komunikaci s trackerem pokaždé, když si to vyžádá BitTorrent klient (TorrentControl podporuje všechny BitTorrent klienty, kteří se mohou připojovat přes HTTP Proxy) a tento požadavek, který mimo jiné obsahuje i množství odeslaných dat modifikuje podle definovaných pravidel. Pravidla se vytvářejí automaticky podle adresy trackeru a později je lze ručně upravit nebo přidat nová.
Aplikace je kompletně napsaná ve Visual Basicu .NET 9.0 (Visual Studio 2008) a v operačních systémech Windows Vista nebo lepší využívá modernizované uživatelské rozhraní s pomocí knihovny Windows API Code Pack. S implementací této knihovny jsem si velmi užil, nakonec bylo nutné vypnout možnost Enable the Visual Studio hosting process na kartě Debug ve vlastnostech projektu.
Zdrojové kódy k aplikaci neuvolním, ale rád poradím s jakoukoliv věcí, kterou aplikace využívá.
Aplikaci můžete stahovat z oficiálních stránek (omluvte jejich kvalitu, nejsem webdesignér), po stažení se řiďte pokyny instalačního programu. Na uvedenou adresu budu umisťovat vždy nejnovější verzi, v případě dotazů, žádostí o novou licenci, nebo námětů jak aplikaci vylepšit pište na [email protected]
Obrázky z aplikace (obsahuje kromě češtiny i anglickou lokalizaci)