1/1/ Rozšíření aplikace FatRat Luboš Doležel Vedoucí práce: Ing. Jan Žďárek, PhD. Oponent: Ing. Tomáš Kadlec
2/2/ Co je FatRat? ● FatRat je především download manager pod GNU GPL v2 ● Běží na Linuxu, používá Qt framework, je napsaný v C++ ● Dá se s ním stahovat přes HTTP/FTP, BitTorrent a další ● Je ve vývoji od roku 2006 ● Součástí repozitářů Ubuntu, Debianu, Arch Linuxu, Fedory... ● Populární zejména v ČR, USA, Rusku a Indii
3/3/ Co bylo cílem BP? ● Vytvořit nové webové rozhraní užívající AJAX ● Umožnit psaní rozšíření v jazyce Java ● Implementovat segmentové stahování
4/4/ Nové webové rozhraní ● Lepší náhrada GUI ● FatRat jako daemon na serveru ● Aktualizace dat bez obnovení stránky ● Bohatší na funkce ● Například umožnění nastavení priorit souborů při stahování přes BitTorrent ● XML-RPC jako komunikační protokol ● Rovnou umožňuje napsat další aplikace jako klienta pro Android
5/5/ Nové webové rozhraní
6/6/ Rozšíření v Javě ● Použití Java Native Interface (JNI) ● Rozšíření mohou implementovat stahování/upload na file sharing servery ● Aktualizace mimo distribuční repozitáře ● Rychlejší rozšíření aktualizací ● Snazší psaní díky API navrženému specificky pro tento účel ● Mechanismus pro zadávání CAPTCHA ● C++ wrapper nad JNI
7/7/ Rozšíření v Javě
8/8/ Segmentové stahování ● Lepší využití rychlého připojení ● Funkce velmi žádaná uživateli z Ruska a obecně lidmi ze zemí s horší konektivitou ● Zajímavá výzva ● Konkurenční aplikace tuto funkci mají
9/9/ Segmentové stahování
10/ Výsledek práce ● Webové rozhraní s AJAX je plně funkční ● Připraveno i speciální rozšíření pro Google Chrome ● Zadávání captcha „na dálku“ ● Rozšíření v Javě jsou podporována (pro stahování, upload a extrakci tzv. „link folders“) ● Zhotovena rozšíření pro YouTube, FileShare, MegaUpload, Ulož.to a řadu dalších ● Segmentové stahování taktéž dokončeno ● Včetně hledání zrcadel, testování latence a počtu „hopů“