abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 4
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 30
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (73%)
     (9%)
     (2%)
     (16%)
    Celkem 796 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    FatRat download manager (1)

    26.11.2006 15:58 | Přečteno: 3174× | FatRat | poslední úprava: 23.2.2008 17:44

    Od léta, co jsem začal pracovat v Qt 4, je tu můj třetí letošní open source projekt.

    Před rokem jsem začal dělat na download manageru FatRat. Práce na něm byla velmi složitá, byl pro GTK+ (GTKmm). Jakmile jsem poznal Qt 4, projekt jsem odložil a včera jsem začal psát vše od nuly. S Qt je vývoj úplně jiný... rychlý a jednoduchý, kód je krátký a přehledný. Původní FatRat měl naprosto šílené závislosti (gtk, gtkmm, libglademm, libxmlpp, libcurl, libtorrent, ...) - tento FatRat bude záviset jen na Qt 4, podporu BitTorrentu pravděpodobně založím na této ukázce.

    Cíle projektu

    Cílem projektu je download manager pro Linux s podporou HTTP/FTP/BitTorrentu a možná i dalších protokolů. Downloady se zařazují do front, samozřejmostí je omezování rychlostí front i samostatných přenosů. Plánuju webový interface (budu si muset oprášit Javu). K HTTP/FTP downloadům plánuju možnost paralelního stahování z více serverů, ale tak daleko ještě nejsem.

    Logo projektu

    Sesmolil jsem logo projektu:

    Screenshoty

    Od včerejška jsem dal dohromady toto:

    Hlavní zobrazení
    Detaily přenosu (není dokončené!)
    Nastavení fronty
    Přidání nového přenosu

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    David Watzke avatar 26.11.2006 16:02 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Will Rock, kamaráde... ;-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    26.11.2006 16:08 xxxxxxxx | skóre: 16 | blog: mrtvy blog | v nebi
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    V čem to programuješ?
    Luboš Doležel (Doli) avatar 26.11.2006 16:09 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    C++
    26.11.2006 17:04 xxxxxxxx | skóre: 16 | blog: mrtvy blog | v nebi
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    A v jakym vývojovym prostředí?
    Luboš Doležel (Doli) avatar 26.11.2006 17:21 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    V žádném.
    eXces avatar 26.11.2006 16:12 eXces | skóre: 15 | blog: i hate mondays;) | Jihlava
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Super. Jen jak jsem tam viděl time left, tak mě napadla jedna věc.. Znám spoustu programů, který to počítají z aktuální rychlosti, případně hodně podivně. Přimluvil bych se pro nějakou průměrnou rychlost, nebo inteligentní odhad budoucnosti:-)
    Only two things are infinite, the universe and human stupidity, and I'm not sure about the former. --Albert Einstein
    Luboš Doležel (Doli) avatar 26.11.2006 16:13 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Rychlost je počítána podle průměru za posledních 7 sekund (tohle číslo mě napadlo náhodou), odpovídá tomu tedy i zbývající čas.
    26.11.2006 16:17 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    tak to sa trba inspirovat libtorrent/rtorrent, ten to nejak inteligentne odhaduje...
    26.11.2006 16:36 Jmenomineverte | blog: Ukryta_42
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Zajímavé by mohlo být zkoušet fitovat polynom/nějakou exponencielu a extrapolovat :)
    26.11.2006 16:49 Kníže Ignor | skóre: 19 | blog: stoupa
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    bláblá blá napsal jsem příspěvěk se slovy fitovat a extrapolovat :-P

    Průměrná rychlost v intervalu [-t, 0] je určitě základ pro dobrý odhad, to co bych ale nechal program automaticky adjustovat :-D by byl parametr t, který by se program postupně naučil v průběhu (toho jednoho) přenosu.
    Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
    26.11.2006 16:32 kreten | skóre: 10 | blog: SUXLINUX
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Držím palce a jen tak dál! :-)
    26.11.2006 16:47 kreten | skóre: 10 | blog: SUXLINUX
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    A šup na kde-apps.org :-)
    Luboš Doležel (Doli) avatar 26.11.2006 16:55 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ještě to není na žádnou první verzi, první vydám příští týden. Pak to dám na kde-apps.org :-)
    Josef Kufner avatar 26.11.2006 17:48 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Nojo, ale k čemu mi to je, když download poběží na routeru a notebook s Xkama bude vypnutej na stole? Když už, tak ať to umí víc než ssh+screen+wget ;-)
    Hello world ! Segmentation fault (core dumped)
    26.11.2006 17:54 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    +rtorrent
    Luboš Doležel (Doli) avatar 26.11.2006 18:00 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Tohle má být GUI program. Headless běh bude až bude web interface (to má nejnižší prioritu).
    Josef Kufner avatar 26.11.2006 18:07 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Takže počítáš už teď s tím, že to bude mít oddělený backend, který poběží úplně někde jinde, a že jediné čím ty dvě části můžeš jednoduše spojit je unix socket?
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 26.11.2006 18:12 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ne, počítám s tím, že se klient spustí bez GUI a poběží jen smyčka front a webserver/server na příjem požadavků.
    Luboš Doležel (Doli) avatar 26.11.2006 18:13 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Tím chci říct: psát celé GUI tak, aby mohlo fungovat i přes socket, by bylo šílené a je to úplně mimo mé potřeby
    Josef Kufner avatar 27.11.2006 00:11 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Nejde o to aby fungovalo "i" přes socket, stačí, aby fungovalo "jen" přes socket. Šílené to není. Vlastně se ti to tím i zjednodušší. Stačí si zapouzdřit socket do nějakého jednoduchého API ve stylu "pošli příkaz", "vyzvedni události" a gui tohle bude jen zobrazovat a backend jen provádět. Obojí budou jednoduché a nezávislé programy. Jako bonus získáš možnost napsat velmi lehce GUI v jakémkoliv jazyce a prostředí, což výrazně zvedne životaschopnost programu. Je to malá investice, která se bohatě vyplatí. Hlavně si na tom rozhraní dej záležet, je to vpodstatě jedna z nejdůležitějších částí.
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 27.11.2006 00:35 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Vzhledem k tomu, jak velké množství informací by se muselo přenášet a kolik tříd bych pro něco takového musel připravit, se mi to nevyplatí - sám o to nestojím.

    Pošli příkaz není tak jednoduché - tady máte hromady různých objektů různých tříd s rozličnými argumenty metod.

    To, co chci připravit pro webinterface, má výt značně odlehčené.
    Josef Kufner avatar 27.11.2006 00:56 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Potřebuješ jednu třídu pro API zapouzdřující socket, nic víc.

    Pošli příkaz jednoduché je. Prostě máš akorát ten příkaz. Jedna třída. A klidně to udělej textové (ne API, ten protokol) - o to jednodušší to bude. Když to dobře navrhneš, opravdu bude stačit jedna funkce na poslání příkazu a druhá na vyzvednutí událostí.

    Informací se bude přenášet málo. Ty data se budou ukládat tam, kde poběží backend. Přenést 1x za sekundu "tam ten je na tolika %" je pár bytů i v textové podobě. To by plynule fungovalo i po sériovém portu. Nehledě na to, že by nemusel být problém to přes ten sériový port procpat.

    Ač se to možná na první pohled nezdá, na složitosti programu ti to nepřidá, spíš naopak. Nehledej v tom žádné složitosti a záludnosti. Základem úspěchu je to udělat jednoduché a univerzální. Klidně si to načmárej na papír, nakresli si kudy která data půjdou a co je kde potřeba. Jestli se ti to nevejde na jednu stranu A6, tak to máš zbytečně složité.
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 27.11.2006 05:56 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Vy se mě snažíte přesvědčovat o něčem, co není pravda. Napsat software, který místo přímého volání něco zapouzdřuje a tahá přes socket, není jednodušší. Tohle není přenášení nějakých hloupých procent - při segmentovém stahování se budou zobrazovat informace segmentech, bude tam správa mirrorů atd. Další hromada rozmanitých informací o Bittorrent downloadech (podívejte se, kolik toho zobrazuje Azureus). Tohle by práce každopádně přidělalo hodně a získal bych funkci, která je mi na nic (ano, jako neplacený autor budu takhle sobecký).

    Tohle je desktopový GUI program, tohle není a nebude server/klient software.
    Josef Kufner avatar 27.11.2006 12:16 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Hm, takže z toho bude další program, který nic nového nepřinese.
    Hello world ! Segmentation fault (core dumped)
    27.11.2006 14:13 Luboš Doležel
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Vám možná ne, mně ano.
    Josef Kufner avatar 27.11.2006 14:32 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Mám takový pocit, že ani Vám ne ;-)
    Hello world ! Segmentation fault (core dumped)
    27.11.2006 14:38 Luboš Doležel
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Tohle je v GTK+, nepodporuje segmentové stahování, nepodporuje BitTorrent, nemá webinterface, rozhraní je v ruské angličtině (dobře jsem se některým rádoby anglickým hláškám zasmál), nelíbí se mi systém front... mohl bych pokračovat.
    Josef Kufner avatar 27.11.2006 15:27 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ok, špatný příklad.

    Chceš tam webové rozhraní. Jak si tedy představuješ, že to do toho programu zakomponuješ?
    Hello world ! Segmentation fault (core dumped)
    27.11.2006 15:39 Luboš Doležel
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Budou se přes síť exportovat pouze základní informace společné pro všechny typy downloadů. Žádné komplikované specifické (pro tento typ přenosu) detaily, pouze jednoduchý společný základ. To je zatraceně velký rozdíl.
    Josef Kufner avatar 27.11.2006 16:39 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ale jak je budeš exportovat? Zabuduješ do toho programu i http server?
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 27.11.2006 17:18 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Velice primitivní HTTP server, který poskytne HTML stránku a aplet - aplet si pomocí jednoduchého požadavku požádá o výpis + může poslat nějakou základní změnu. Podívejte se na web rozhraní Azureusu, to je můj vzor.
    Josef Kufner avatar 27.11.2006 17:28 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ok. Jak si představuješ spolupráci web a qt rozhraní s backendem, který bude stahovat data?
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 27.11.2006 17:59 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Velmi snadno - všechno je chráněno pomocí QReadWriteLock, takže se o přístup prát nebudou.

    GUI si bude volat co chce, od web serveru budou přicházet jen základní povely.
    Josef Kufner avatar 27.11.2006 18:45 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Takže to bude mít více vláken. Co rozhraní to vlákno + vlákno s backendem (případná vlákna co si backend vytvoří pro sebe nepočítám)? Pokud ano, tak stejnak budeš muset definovat nějaké API, které bude mezi backendem a rozhraními. Proč tedy už předem ochuzuješ webové rozhraní o velké množství funkcí, když může mít stejné schopnosti jako Qt rozhraní?
    Hello world ! Segmentation fault (core dumped)
    Luboš Doležel (Doli) avatar 27.11.2006 19:04 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Tady není žádné "rozhraní". Existuje pouze generic třída Download s několika metodami, které jsou pure virtual. Qt frontend, pokud má např zobrazit detailní informace o downloadu, zavolá virtuální metodu z třídy Download a získá tak megaWidget o jehož naplnění údaji se stará třída z backendu (GUI dá megaWidgetu vědět, kdy se aktualizovat).

    Dvojklikněte si na torrent v Azureusu (zobrazení detailů) a to, co uvidíte, si zkuste naimplementovat a data si přenášejte přes TCP - budete mít práce nad hlavu, to mi věřte. Proč ho ochuzuji? Protože takové detailní informace ve web interface jsou NAPROSTO ZBYTEČNÉ - účelem tohoto rozhraní je zkontrolovat si stav přenosů, případně přihodit nějaký torrent (=účely,které od toho požaduji já).

    Pokud chcete víc, běžte a naprogramujte si/doprogramujte si to/babrejte se s tím sám, patche od vás uvítám. Já tohle prostě dělat nebudu a nehodlám o tom ani diskutovat - ať už tuto debatu "vyhrajete", nic to na tomto faktu nezmění. Běžte a chtějte něco podobného od autorů KGetu, zaklepají si na čelo...
    27.11.2006 14:39 Luboš Doležel
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Z vás jde velmi zajímavý pocit: nemá to funkci, co chci já => je to úplně na nic, nepřináší to nic a nepotřebuje to ani autor (ten tedy asi není soudný a neví, co chce).
    Luk avatar 26.11.2006 18:13 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Proč unix socket? Proč ne TCP socket (např. tunelovaný skrz SSH)?
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    Josef Kufner avatar 27.11.2006 00:04 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Protože na zabezpečení unix socketu stačí chmod 600. U TCP socketu se to nedá omezit pod všechny uživatele na localhostu. Ale vpodstatě je to jedno, změny v kódu tcp vs. unix jsou minimální.
    Hello world ! Segmentation fault (core dumped)
    Luk avatar 27.11.2006 12:24 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ale mně šlo o něco jiného - unixový socket je jen lokální, kdežto TCP lze využít i odjinud.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    Josef Kufner avatar 27.11.2006 12:57 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Když to nejdřív udělá po unix socketu, nebude se muset zatěžovat zabezpečením a lehkou oklikou jej lze po síti využít taky (ssh + miniaturní klient). Takže bude mít něco, co funguje hned a kam lze velmi jednoduše doplnit komunikaci po síti – doplní nějaké to zabezpečení a změní typ socketu.

    Nehledě na to, že kominukace po TCP není pro tohle nezbytně nutná. Pokud bude chtít někdo používat jen webové rozhraní, tak je bezpečnější a plně vyhovující unix socket (viz mysql + php na jednom stroji).
    Hello world ! Segmentation fault (core dumped)
    kotyz avatar 26.11.2006 20:40 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    vypada to velice slibne. ja si sice vystacim s ktorrentem, kgetem a kftgrabberem. ale mit na to jeden peknej program by nebylo vubec od veci ... ;-)
    Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
    27.11.2006 17:25 ondrab | skóre: 12 | Milevsko
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    ta krysa se mi zda malo "fat", doporucil bych ji trochu roztahnout do sirky :)
    Keep on keepin' on.
    David Watzke avatar 27.11.2006 17:26 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    Ale ne moc, ať z ní není FAT32.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    12.7.2008 03:22 pedro
    Rozbalit Rozbalit vše Re: FatRat download manager (1)
    nešlo by do toho přidat možnost "vypnout pc po dokončení všech stahování", nebo alespoň "ukončit program po dokončení..." ? Za tohle funkci bych byl moc vděčný...

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.