Package: ulozto-downloader
Ulož.to downloaderLanguage disclaimer (English)This is a parallel downloader fromUlož.towith automatic
CAPTCHA solving. This README is in Czech but the program itself and its help are
in English (try to run it with--helpoption).When contributing to this project, please use English in the code. Issues and
pull request comments could be in Czech or English, I will discuss them
according to the thread language :)ÚvodParalelní stahovač zUlož.toinspirovanýVžum(credits to Popcorn) s automatickým louskáním CAPTCHA
kódů pomocí TensorFlow modelu z projektuulozto-captcha-breaker(credits to Jan Palasek).Narozdíl od originálního Vžum je tato verze napsaná v Pythonu, dá se provozovat
jednoduše i na Linuxu a zdrojový kód je veřejně dostupný, což umožňuje další
forky a rozšíření do budoucna. Například by mohla vzniknout "serverová" verze
s webovým rozhraním.Nápady na další vylepšení (případně rovnou pull requesty) vítány :-)Klíčové vlastnostiSám pozná downloady, kde Ulož.to umožňuje stahovat bez CAPTCHA kódůDokáže přečíst sám CAPTCHA kódy díky projektuulozto-captcha-breaker(thx Jan Palasek)Louská kódy pomocí natrénovaného TensorFlow modeluDownload linky získává přes Tor, aby se vyhnul nové limitaci ze strany Uloz.toUmí opakovaně využít stejný stahovací link pro více částíUlož.to nyní (podzim 2020) umožňuje získat jen dva stahovací linky za
minutu, ale stejný link je možné používat po dostahování původní části
opakovaně pro stahování dalších částíUmí navazovat přerušená stahování (pokud se zachová stejný počet částí)Umí stahovat zaheslované soubory (na straně Ulož.to)Stahuje přímo do finálního souboru, jednotlivá stahování zapisují na správné
místo v souboru (než program ohlásí dostahováno, je soubor neúplný)Konzolový status panel se statistikou úspěšnosti při získávání linkůCelkový průběh staženo / okamžitá rychlost stahování ve druhém řádku status panelu (save progress monitor)Cache soubor download linků pro pokračování nebo opětovné stažení, po restartu se bez nového
získávání download linků rovnou stahuje a nové download linky se získávají jen když jich není
v cache souboru dostatek. Vytváří malý textový soubor.ucachejenž je možné použít znovu
a stahovat maximální rychlostí ihned bez získávání linků. Tento soubor má malou velikost
a lze ho např. sdílet. U velkých souborů (100ky MB) je platnost linku 48 hodin.InstalaceUlož.to downloader je napsaný v Pythonu a je distribuovaný v podobě zdrojových
kódů, které si každý může spustit, pokud má nainstalovaný Python. Předtím než
s čímkoliv začnete, ujistěte se prosím, že máte:Nainstalovaný Python 3– externínávod na instalaciUmíteinstalovat Python balíky pomocí příkazupipnebopip3v příkazové řádce– malý externínávod na PipProtože Ulož.to downloader závisí na několika externích projektech, bude mimo
instalace samotného ulozto-downloaderu potřeba zajistit ještě několik dalších věcí:TORpro získávání download linků z různých IP adres a vyhnutí se limitaciJeden z:TensorFlow Litepro automatické louskání CAPTCHA kódůTkinterkdyž budete používat ruční opisování CAPTCHA kódůInstalace TORuTor je program umožňující přistupovat na cílovou stránku přes jiné počítače a tím
obejít limitaci na počet stahovacích linků z jedné IP adresy.Ulož.to downloader vyžaduje spustitelný příkaztor(vnitřně používá stem)
a očekává tento příkaz v$PATH.Na Linuxu:sudoaptinstalltor# nebo...yuminstalltor# nebo podle vašeho balíčkovacího systémuNa Windows lze instalovatTorBrowsera dostattor.exedo%PATH%, tedy přidat do systémové proměnné%PATHsložku stor.exez instalace TorBrowseru (typickyC:\Program Files\Tor Browser\Browser\TorBrowser\Tor).Náhodný externínávod na přidání do%PATH%.Instalace TensorFlow Lite (automatické louskání CAPTCHA)TensorFlow Lite je balíček, který umožní spouštět na CAPTCHA obrázcích
natrénovanou neuronovou síť a tím je automaticky louskat.Dá se použít buď odlehčený Python balíčektflite-runtime, nebo plnotučný
Python balíčkutensorflow(vydávánítflite-runtimese často opožďuje, proto
je často potřeba s novým Pythonem sáhnout po plnotučné verzi).Oba balíky se dají instalovat přes Python instalátorpip3. Správný balík pro
danou verzi Pythonu by se měl dát instalovat společně s celým Ulož.to
downloaderem, když použijete při instalaciulozto-downloader[auto-captcha](viz níže), případně ručně takto:pip3installtflite-runtime
pip3installtensorflowVerzi pro Windows(nebo pokud vám instalace hází chybu) stáhněte z repozitářepycoralPokud vám tato metoda nefunguje (instalace vypisuje "Could not find a version
that satisfies the requirement"), je potřeba instalovat plnotučnýtensorflow(pozor, zabere po instalaci asi 1GB):pip3installtensorflowPokud vám žádná z metod výše nefunguje, postupujte podle instrukcí na stránceTensorFlow Lite, kde si buď
instalujte balík do systému a nebo si stáhněte z odkazu správný Wheel soubor
podle své verze Pythonu (zjistíte zavolánímpython3 -V).Instalace Tkinter (ruční opisování CAPTCHA)Pokud se vám nepovede rozchodit TensorFlow Lite pro automatické louskání (nebo
chcete poměřit síly s natrénovaným modelem a louskat ručně), potřebujete na
systému instalovaný Tkinter na zobrazení okénka s obrázkem.Bohužel není na PyPI, takže je potřeba instalovat ručně. Často už je instalovaný,
ale pokud by náhodou nebyl, tak bývá v balíčkupython3-tk(případně následujte
instrukce nawebu Tk).Instalace Ulož.to downloaderuTeď už byste měli mít vše připraveno. Stačí jen instalovat samotný Ulož.to
downloader.Nejjednodušší je využít verzi uveřejněnou naPyPI.
Pokud máte platformu, pro který existuje na PyPI validní balíčektflite-runtime, můžete rovnou
instalovat speciální target s[auto-captcha]a ulehčit si tak instalaci
TensorFlow Lite.pip3install--upgradeulozto-downloader
pip3install--upgradeulozto-downloader[auto-captcha]# <-- doporučenoInstalace na dalších platformáchAndroid - TermuxMacOSPoužitíPři zavolání s-hnebo--helpvypíše Ulož.to downloader popis všech svých
přepínačů a nastavítek. Zde jsou vyjmenována základní nastavení, ale výčet není
rozhodně kompletní.Od verze 3.1 je v defaultu aktivovaná autodetekce TensorFlow a pokud je instalované,
tak se použije pro automatické louskání louskání CAPTCHA kódů, jinak se vypisuje
ruční opisování. Pro vynucení chování můžete použít přepínače:--auto-captchavynutí použití TensorFlow Lite--manual-captchavynutí použití manuálního opisováníPokud není dostupný žádný solver, lze stahovat jen soubory bez CAPTCHA.Pro volbu počtu částí slouží přepínač--parts N, default je 20 částí. Ve
výchozím nastavení Ulož.to downloader zobrazuje pouze sumární stav. Pokud chcete
zobrazit stav stahování jednotlivých částí, použijte přepínač--parts-progress.ulozto-downloader--parts30--parts-progress"https://ulozto.cz/file/TKvQVDFBEhtL/debian-9-6-0-amd64-netinst-iso"Lze specifikovat ivíce URL ke stažení, v takovém případě probíhá stahování
sekvenčně (po dostahování prvního se začne stahovat druhý atd.):ulozto-downloader--parts30"https://ulozto.cz/file/TKvQVDFBEhtL/debian-9-6-0-amd64-netinst-iso""https://ulozto.cz/file/YPivhc3Jyn9r/debian-live-11-1-0-amd64-mate-iso"Pro zadání hesla slouží přepínač--password <heslo>:ulozto-downloader--parts30--passwordakcniset"https://uloz.to/file/FFwsQeBeMdcY/debian-9-6-0-amd64-netinst-iso"Pokud chcete ukládat log do souboru, použijte přepínač--log <název souboru>(v defaultním nastavení se log neukládá).Při využití automatického louskání doporučuji využít velký počet částí, klidně
50 (spustíteulozto-downloadera necháte ho pracovat, on si postupně louskne
další stahovací linky a postupně navyšuje počet najednou stahovaných částí).Další návody a dokumentaceVytvoření Windows EXE