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 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

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

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

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

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 18
    2.5. 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 2
    2.5. 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    2.5. 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 2
    2.5. 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 3
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 23
    1.5. 22:22 | Nová verze

    Byla vydána nová verze 12.0 minimalistické linuxové distribuce (JeOS, Just enough Operating System) pro Kodi (dříve XBMC) a multimediálního centra LibreELEC (Libre Embedded Linux Entertainment Center). Jedná se o fork linuxové distribuce OpenELEC (Open Embedded Linux Entertainment Center). LibreELEC 12.0 přichází s Kodi 21.0 "Omega".

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (36%)
     (17%)
     (29%)
     (19%)
    Celkem 42 hlasů
     Komentářů: 8, poslední dnes 08:25
    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.