Portál AbcLinuxu, 6. května 2025 07:19

Novinky o FatRatu - stahovatelné pluginy

8.10.2010 01:54 | Přečteno: 1349× | FatRat | Výběrový blog | poslední úprava: 8.10.2010 01:55

Aby se FatRat mohl více vyrovnat různým stahovátkům ze serverů "jako RapidShare", přinese FatRat 1.2 podporu stahovatelných pluginů.

Java pluginy

Odpadne tak hlavně situace, kdy vydám novou verzi FatRatu, nějaký web změní strukturu a můžu vydávat znovu, jako se teď stalo s RapidShare.com FREE downloady. Tyto pluginy budou psány v Javě a začal jsem proto psát C++/Qt wrapper nad JNI (Java Native Interface).

Dříve, než se zděsíte, že se z tohoto rychlého a málo paměťově náročného programu stane "opravdu tlustá krysa", zadržte. Jednak i toto bude volitelná funkce a druhak se JVM ukázalo jako dosti nenáročně, pokud je používáno právě tak, jak bude. Samotný wrapper už je přes 2000 řádek kódu a obaluje už prakticky vše, co může:

Rád bych v nejbližších dnech napsal a vydal krátkou sérii článků o práci s JNI, protože je to takové dost opomínané rozhraní, ačkoliv je velmi mocné. Snad to zaujme. Takhle s mým wrapperem vypadá volání Hello world:

JClass system("java.lang.System");
JObject out = system.getStaticValue("out", JSignature::sig("java.io.PrintStream")).value<JObject>();
out.call("println", JSignature().addString(), JArgs() << "Hello JNI world");

Javisté v tom jistě poznali System.out.println("Hello JNI world"); Přemýšlím, jak se zbavit QVariantů a JSignature zároveň za pomoci šablon C++ a umožnit psaní kratšího kódu, ale to je až další meta. Zatím je to tedy takové "kostrbatější".

FatRat jako semestrální a bakalářská práce

V současnosti už si vyjednávám u jednoho unixového profíka z FEL ČVUT vedení semestrální a bakalářské práce, které by měly jako téma FatRat. Snad mi na to kývne :-)

Tématem práce by bylo (obecně): segmentové stahování v kompletní podobě, kompletní AJAX rozhraní, možnost konfigurace FatRatu z AJAX rozhraní, podpora Metalinků, implementace Java pluginů, XML-RPC via XMPP a jednoduchý Android klient s podporou XML-RPC via HTTP a via XMPP a možná ještě více.

FatRat na Macu

Kamarád z Turecka začal experimentovat s FatRatem na Mac OS X a po určitých úpravách se mu podařilo FatRat zkompilovat a spustit. HTTP/FTP přenosy nefungovaly, BitTorrent ano, ale mám zájem to řešit a vyřešit. Ve výsledku by se tak FatRat rozšířil na další unixovou platformu.

       

Hodnocení: 94 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

grubber avatar 8.10.2010 09:16 grubber | skóre: 6 | blog: grubber | Břeclav / Brno
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Odpovědět | Sbalit | Link | Blokovat | Admin
Zajímalo by mě, proč zrovna Java? Nebyl by lepší např. Python nebo Lua? (Python má nainstalovaný většina lidí, oba se běžně používají jako skriptovací jazyky, nejsou to takoví "macci" jako Java, ...)
mirec avatar 8.10.2010 09:36 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Kvôli kompatibilite s inými programami na sťahovanie. Inak tiež by som bol rád za niečo typu python, okrem toho Javu na desktope ani nemám ak nerátam nejaké priblblé gcj, ktoré malo problémy aj so spustením hello world-u. S pluginmi v pythone by som mohol aj pomôcť, sám som si kedysi písal downloader pre rapidshare, pre najbežnejšie servery by sa dalo ako-tak spraviť. Okrem toho možno budem do školy robiť rozpoznávač captcha (ak áno tak v jazyku C++), takže potom by som mohol poskytnúť a integrovať. Zatiaľ ale nič nesľubujem ...
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
Luboš Doležel (Doli) avatar 8.10.2010 11:20 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Problémem většiny stahovacích programů je jejich synchronní (blokující) režim fungování (FatRat je plně asynchronní) a dotazování uživatele na captchu (FatRat nemusí mít žádné GUI + to také skrytě blokuje). Obojí je ve FatRatu přísně zapovězeno, stejně tak jako například implementovat třídu přenosu, která neumí omezování rychlosti.

Tenhle vyšší standard představuje problém s používáním cizích pluginů, ale přesto s ohledem na toto to bylo další plus pro Javu.
Luboš Doležel (Doli) avatar 8.10.2010 11:16 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Nemám rád dynamicky typované jazyky. Navíc, jak jsem psal, Java se zde nechová jako žádný macek, naopak se zdá být úsporná (a to i v porovnání s runtimem Pythonu, který jsem dřív také už používal).

Drobnost pak je, že u Javy nemusím řešit, že uživatel nemá nainstalovaný tisíc prvý wrapper balíček pro Python.
xkucf03 avatar 8.10.2010 13:44 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Odpovědět | Sbalit | Link | Blokovat | Admin
Jako cvičení dobré a inspirativní, ale jinak mi tam na Java přijde dost zbytečná (a to jsem Javista). Nestačil by QtScript?

Ad webové rozhraní: bude to schopné běžet i jako démon na serveru bez grafiky?

Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
Luboš Doležel (Doli) avatar 8.10.2010 14:04 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
QtScript velmi dobře znám, stavěl jsem s ním staré webové rozhraní, a přesto se mu rád vyhnu :-)
Ad webové rozhraní: bude to schopné běžet i jako démon na serveru bez grafiky?
To může už dlouho :-)
Limoto avatar 8.10.2010 14:39 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Odpovědět | Sbalit | Link | Blokovat | Admin

Paráda, že se to zase trochu hýbe. Ale Java mi taky radost neudělala...

Luboš Doležel (Doli) avatar 8.10.2010 14:41 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Já fakt nechápu tu averzi. Podle testů to žere míň a je to rychlejší než Python...
8.10.2010 15:19 ZS-Man | skóre: 31 | blog: B26
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Odpovědět | Sbalit | Link | Blokovat | Admin
FatRat jsem skusil teprve nedavno, zda se to byt hoodne slusny projekt :-) Tesim se na toho Android klienta. Proto zatim pouzivam Transdroid + Transmission, ale jestli ten tvuj klient bude podporovat stahovani jak z torrentu tak z http/ftp, rapidu atd. tak to bude super. A kdyz to pujde integrovat do prohlizece jako DL manager, budu chrochtat blahem.
Luboš Doležel (Doli) avatar 8.10.2010 15:22 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
To bych taky chrochtal, ale v Opeře není jak, ve Firefoxu je šílené se naučit vyvíjet rozšíření a v Chrome je to API zkriplené :-(
8.10.2010 16:48 ZS-Man | skóre: 31 | blog: B26
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Možná jsem to napsal špatne. Tou intergací jsem myslel to, ze když v Androidu v prohlížeči tapnu na odkaz se souborem, systému mi ukáže nabídku, čím akci dokončit. A na výběr bych mel bud prohlizec a stahoval bych primo do telefonu, nebo toho fatrat klienta a poslu si to primo domu na komp. No, nejsem programátor, takže vůbec netuším co to obnáší.
Luboš Doležel (Doli) avatar 8.10.2010 16:55 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Jo takhle, já myslel, že myslíš integraci s prohlížeči na desktopu. Tady popravdě nevím.
8.10.2010 18:58 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
Aplikace pro Android může o sobě deklarovat, že poskytuje určité služby (např. mapu, kalendář, zaslání SMS). Jiná aplikace pak může požadovat použití takové služby, a pokud je v systému víc poskytovatelů, dostane uživatel na výběr. Android pak příslušnou aplikaci spustí a předá jí tzv. „intent“, kde jsou data k té požadované službě.
8.10.2010 19:00 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: Novinky o FatRatu - stahovatelné pluginy
V Opere je jednoduche si poeditovat kontextove menu pre hypertextove linky (aj ostatne kont. menu) a pridat polozku, ktora spusti FR a ako argument mu podhodi link.
If you hold a Unix shell up to your ear, you can you hear the C.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.