Ondřej Linhart

Vývojářský blog Ondřeje Linharta



Podle kategorie

Vývoj software TorrentControl

Ondřej Linhart       7. 3. 2011       VB.NET       6244 zobrazení

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 ol.projects@email.cz

Obrázky z aplikace (obsahuje kromě češtiny i anglickou lokalizaci)

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Diskuse: Vývoj software TorrentControl

Neuvažujete alespoň o zveřejnění nějakých "špeků" z kódu, třeba formou článku plus ukázek?

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Zajímá vás něco konkrétně?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

V podstatě hlavně ta komunikace s trackerem. Pokud jsem to dobře pochopil, tak TorrentControl je taková "transparentní" proxy pro Torrent.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

TorrentControl je HTTP Proxy pro BitTorrent klienty. V podstatě se vše točí kolem HttpListenerContext, HttpListenerRequest a WebResponse. Na SkyDrive jsem umístil i obrázky jak nastavit konkrétně µTorrent aby to fungovalo.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Diskuse: Vývoj software TorrentControl

Vzhledem k tomu, že jsme na webu, kde se dost striktně dbá na legálnost sostwaru atd., tak mi napadá otázka, co mohu pomocí toho prográmku legálně stahovat?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

1) TorrentControl není stahovací program, zřejmě jste nepochopil jeho účel.

2) Vzhledem ke svojí efektivitě přenosu dat se pomocí BitTorrent protokolu oficiálně distribuje i zcela legální software, například OpenOffice.org:

http://distribution.openoffice.org/p2p/

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback