uld


Nameuld JSON
Version 3.1.8 PyPI version JSON
download
home_pagehttps://github.com/setnicka/ulozto-downloader
SummaryUloz.to quick multiple sessions downloader. This is fork of original https://github.com/setnicka/ulozto-downloader for pre-release pull-requests
upload_time2023-01-28 18:40:28
maintainer
docs_urlNone
authorJiří Setnička, vladodriver and many others..
requires_python>=3.7
licenseMIT
keywords
VCS
bugtrack_url
requirements requests Pillow ansicolors numpy pysocks stem tflite-runtime
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Ulož.to downloader

Paralelní stahovač z [Ulož.to](http://ulozto.cz) inspirovaný
[Vžum](http://vzum.8u.cz/) (credits to Popcorn) s automatickým louskáním CAPTCHA
kódů pomocí TensorFlow modelu z projektu
[ulozto-captcha-breaker](https://github.com/JanPalasek/ulozto-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é vlastnosti

* Sá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 projektu
  [ulozto-captcha-breaker](https://github.com/JanPalasek/ulozto-captcha-breaker) (thx Jan Palasek)
  * Louská kódy pomocí natrénovaného TensorFlow modelu
* Download linky získává přes Tor, aby se vyhnul nové limitaci ze strany Uloz.to
* Umí 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í)
* 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 `.ucache` jenž 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.

## Instalace

Nejjednodušší je využít verzi uveřejněnou na [PyPI](https://pypi.org/project/ulozto-downloader/).
Pokud máte platformu, pro který existuje na PyPI validní balíček
[`tflite-runtime`](https://pypi.org/project/tflite-runtime/), můžete rovnou
instalovat speciální target s `[auto-captcha]` a ulehčit si tak instalaci
TensorFlow Lite.

[//]: <> (nazev bude platit jen pro tuto verzi urcenou pro testovani novych funkci a oprav)
```shell
$ pip3 install --upgrade uld
$ pip3 install --upgrade uld[auto-captcha]  # <-- doporučeno
```

### Instalace TORu

Program vyžaduje spustitelný tor, protože používá stem a očekává ho v `$PATH`.

* Na Linuxu stačí:

  ```shell
  $ sudo apt install tor
  # nebo...
  $ yum install tor
  # nebo podle vašeho balíčkovacího systému
  ```

* Na Windows lze instalovat [TorBrowser](https://www.torproject.org/download/)
  a dostat `tor.exe` do `%PATH%`

### Instalace TensorFlow Lite (automatické louskání CAPTCHA)

Pokud jste ho instalovali automaticky přes pip, již netřeba nic řešit. Pokud pro
vaší platformu není dostupný na [PyPI](https://pypi.org/project/tflite-runtime/),
postupujte podle instrukcí na stránce [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python),
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ím `python3 -V`).

### Instalace Tensorflow na windows (automatické louskání CAPTCHA)

V současnosti není možné instalovat tflite-runtime na Windows jako je to možné u některých verzí pythonu ma platformě Linux.
Existuje však řešení:

`pip install tensorflow`

Toto je na Windows suštěno při: `pip install uld[auto-captcha]`
Je třeba ale aktuální verzi MSVC knihoven a takto nainstalované zabere vše ~1.4Gb místa ve složkách python balíčků. Poté však `auto-captcha` funguje také.

### Instalace Tkinter (ruční opisování CAPTCHA)

Potřebujete na systému instalovaný Tkinter (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íčku
`python3-tk` (případně následujte instrukce na
[webu Tk](https://tkdocs.com/tutorial/install.html)).

## Instalace na dalších platformách

### [Android - Termux](doc/install.md)

## Použití

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-captcha` vynutí použití TensorFlow Lite
* `--manual-captcha` vynutí 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í.

```shell
$ ulozto-downloader --parts 50 "https://ulozto.cz/file/TKvQVDFBEhtL/debian-9-6-0-amd64-netinst-iso"
```

![Ukázka stahování](https://raw.githubusercontent.com/setnicka/ulozto-downloader/master/example-screenshot.png)

Při využití automatického louskání doporučuji využít velký počet částí, klidně
50 (spustíte `ulozto-downloader` a necháte ho pracovat, on si postupně louskne
další stahovací linky a postupně navyšuje počet najednou stahovaných částí).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/setnicka/ulozto-downloader",
    "name": "uld",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "",
    "author": "Ji\u0159\u00ed Setni\u010dka, vladodriver and many others..",
    "author_email": "setnicka@seznam.cz",
    "download_url": "",
    "platform": null,
    "description": "# Ulo\u017e.to downloader\n\nParaleln\u00ed stahova\u010d z [Ulo\u017e.to](http://ulozto.cz) inspirovan\u00fd\n[V\u017eum](http://vzum.8u.cz/) (credits to Popcorn) s automatick\u00fdm lousk\u00e1n\u00edm CAPTCHA\nk\u00f3d\u016f pomoc\u00ed TensorFlow modelu z projektu\n[ulozto-captcha-breaker](https://github.com/JanPalasek/ulozto-captcha-breaker)\n(credits to Jan Palasek).\n\nNarozd\u00edl od origin\u00e1ln\u00edho V\u017eum je tato verze napsan\u00e1 v Pythonu, d\u00e1 se provozovat\njednodu\u0161e i na Linuxu a zdrojov\u00fd k\u00f3d je ve\u0159ejn\u011b dostupn\u00fd, co\u017e umo\u017e\u0148uje dal\u0161\u00ed\nforky a roz\u0161\u00ed\u0159en\u00ed do budoucna. Nap\u0159\u00edklad by mohla vzniknout \"serverov\u00e1\" verze\ns webov\u00fdm rozhran\u00edm.\n\n**N\u00e1pady na dal\u0161\u00ed vylep\u0161en\u00ed (p\u0159\u00edpadn\u011b rovnou pull requesty) v\u00edt\u00e1ny :-)**\n\n## Kl\u00ed\u010dov\u00e9 vlastnosti\n\n* S\u00e1m pozn\u00e1 downloady, kde Ulo\u017e.to umo\u017e\u0148uje stahovat bez CAPTCHA k\u00f3d\u016f\n* Dok\u00e1\u017ee p\u0159e\u010d\u00edst s\u00e1m CAPTCHA k\u00f3dy d\u00edky projektu\n  [ulozto-captcha-breaker](https://github.com/JanPalasek/ulozto-captcha-breaker) (thx Jan Palasek)\n  * Lousk\u00e1 k\u00f3dy pomoc\u00ed natr\u00e9novan\u00e9ho TensorFlow modelu\n* Download linky z\u00edsk\u00e1v\u00e1 p\u0159es Tor, aby se vyhnul nov\u00e9 limitaci ze strany Uloz.to\n* Um\u00ed opakovan\u011b vyu\u017e\u00edt stejn\u00fd stahovac\u00ed link pro v\u00edce \u010d\u00e1st\u00ed\n  * Ulo\u017e.to nyn\u00ed (podzim 2020) umo\u017e\u0148uje z\u00edskat jen dva stahovac\u00ed linky za\n    minutu, ale stejn\u00fd link je mo\u017en\u00e9 pou\u017e\u00edvat po dostahov\u00e1n\u00ed p\u016fvodn\u00ed \u010d\u00e1sti\n    opakovan\u011b pro stahov\u00e1n\u00ed dal\u0161\u00edch \u010d\u00e1st\u00ed\n* Um\u00ed navazovat p\u0159eru\u0161en\u00e1 stahov\u00e1n\u00ed (pokud se zachov\u00e1 stejn\u00fd po\u010det \u010d\u00e1st\u00ed)\n* Stahuje p\u0159\u00edmo do fin\u00e1ln\u00edho souboru, jednotliv\u00e1 stahov\u00e1n\u00ed zapisuj\u00ed na spr\u00e1vn\u00e9\n  m\u00edsto v souboru (ne\u017e program ohl\u00e1s\u00ed dostahov\u00e1no, je soubor ne\u00fapln\u00fd)\n* Konzolov\u00fd status panel se statistikou \u00fasp\u011b\u0161nosti p\u0159i z\u00edsk\u00e1v\u00e1n\u00ed link\u016f\n* Celkov\u00fd pr\u016fb\u011bh sta\u017eeno / okam\u017eit\u00e1 rychlost stahov\u00e1n\u00ed ve druh\u00e9m \u0159\u00e1dku status panelu (save progress monitor)\n* Cache soubor download link\u016f pro pokra\u010dov\u00e1n\u00ed nebo op\u011btovn\u00e9 sta\u017een\u00ed, po restartu se bez nov\u00e9ho\n  z\u00edsk\u00e1v\u00e1n\u00ed download link\u016f rovnou stahuje a nov\u00e9 download linky se z\u00edsk\u00e1vaj\u00ed jen kdy\u017e jich nen\u00ed\n  v cache souboru dostatek. Vytv\u00e1\u0159\u00ed mal\u00fd textov\u00fd soubor `.ucache` jen\u017e je mo\u017en\u00e9 pou\u017e\u00edt znovu\n  a stahovat maxim\u00e1ln\u00ed rychlost\u00ed ihned bez z\u00edsk\u00e1v\u00e1n\u00ed link\u016f. Tento soubor m\u00e1 malou velikost\n  a lze ho nap\u0159. sd\u00edlet. U velk\u00fdch soubor\u016f (100ky MB) je platnost linku 48 hodin.\n\n## Instalace\n\nNejjednodu\u0161\u0161\u00ed je vyu\u017e\u00edt verzi uve\u0159ejn\u011bnou na [PyPI](https://pypi.org/project/ulozto-downloader/).\nPokud m\u00e1te platformu, pro kter\u00fd existuje na PyPI validn\u00ed bal\u00ed\u010dek\n[`tflite-runtime`](https://pypi.org/project/tflite-runtime/), m\u016f\u017eete rovnou\ninstalovat speci\u00e1ln\u00ed target s `[auto-captcha]` a uleh\u010dit si tak instalaci\nTensorFlow Lite.\n\n[//]: <> (nazev bude platit jen pro tuto verzi urcenou pro testovani novych funkci a oprav)\n```shell\n$ pip3 install --upgrade uld\n$ pip3 install --upgrade uld[auto-captcha]  # <-- doporu\u010deno\n```\n\n### Instalace TORu\n\nProgram vy\u017eaduje spustiteln\u00fd tor, proto\u017ee pou\u017e\u00edv\u00e1 stem a o\u010dek\u00e1v\u00e1 ho v `$PATH`.\n\n* Na Linuxu sta\u010d\u00ed:\n\n  ```shell\n  $ sudo apt install tor\n  # nebo...\n  $ yum install tor\n  # nebo podle va\u0161eho bal\u00ed\u010dkovac\u00edho syst\u00e9mu\n  ```\n\n* Na Windows lze instalovat [TorBrowser](https://www.torproject.org/download/)\n  a dostat `tor.exe` do `%PATH%`\n\n### Instalace TensorFlow Lite (automatick\u00e9 lousk\u00e1n\u00ed CAPTCHA)\n\nPokud jste ho instalovali automaticky p\u0159es pip, ji\u017e net\u0159eba nic \u0159e\u0161it. Pokud pro\nva\u0161\u00ed platformu nen\u00ed dostupn\u00fd na [PyPI](https://pypi.org/project/tflite-runtime/),\npostupujte podle instrukc\u00ed na str\u00e1nce [TensorFlow Lite](https://www.tensorflow.org/lite/guide/python),\nkde si bu\u010f instalujte bal\u00edk do syst\u00e9mu a nebo si st\u00e1hn\u011bte z odkazu spr\u00e1vn\u00fd Wheel\nsoubor podle sv\u00e9 verze Pythonu (zjist\u00edte zavol\u00e1n\u00edm `python3 -V`).\n\n### Instalace Tensorflow na windows (automatick\u00e9 lousk\u00e1n\u00ed CAPTCHA)\n\nV sou\u010dasnosti nen\u00ed mo\u017en\u00e9 instalovat tflite-runtime na Windows jako je to mo\u017en\u00e9 u n\u011bkter\u00fdch verz\u00ed pythonu ma platform\u011b Linux.\nExistuje v\u0161ak \u0159e\u0161en\u00ed:\n\n`pip install tensorflow`\n\nToto je na Windows su\u0161t\u011bno p\u0159i: `pip install uld[auto-captcha]`\nJe t\u0159eba ale aktu\u00e1ln\u00ed verzi MSVC knihoven a takto nainstalovan\u00e9 zabere v\u0161e ~1.4Gb m\u00edsta ve slo\u017ek\u00e1ch python bal\u00ed\u010dk\u016f. Pot\u00e9 v\u0161ak `auto-captcha` funguje tak\u00e9.\n\n### Instalace Tkinter (ru\u010dn\u00ed opisov\u00e1n\u00ed CAPTCHA)\n\nPot\u0159ebujete na syst\u00e9mu instalovan\u00fd Tkinter (bohu\u017eel nen\u00ed na PyPI, tak\u017ee je\npot\u0159eba instalovat ru\u010dn\u011b).\n\n\u010casto u\u017e je instalovan\u00fd, ale pokud by n\u00e1hodou nebyl, tak b\u00fdv\u00e1 v bal\u00ed\u010dku\n`python3-tk` (p\u0159\u00edpadn\u011b n\u00e1sledujte instrukce na\n[webu Tk](https://tkdocs.com/tutorial/install.html)).\n\n## Instalace na dal\u0161\u00edch platform\u00e1ch\n\n### [Android - Termux](doc/install.md)\n\n## Pou\u017eit\u00ed\n\nOd verze 3.1 je v defaultu aktivovan\u00e1 autodetekce TensorFlow a pokud je instalovan\u00e9,\ntak se pou\u017eije pro automatick\u00e9 lousk\u00e1n\u00ed lousk\u00e1n\u00ed CAPTCHA k\u00f3d\u016f, jinak se vypisuje\nru\u010dn\u00ed opisov\u00e1n\u00ed. Pro vynucen\u00ed chov\u00e1n\u00ed m\u016f\u017eete pou\u017e\u00edt p\u0159ep\u00edna\u010de:\n\n* `--auto-captcha` vynut\u00ed pou\u017eit\u00ed TensorFlow Lite\n* `--manual-captcha` vynut\u00ed pou\u017eit\u00ed manu\u00e1ln\u00edho opisov\u00e1n\u00ed\n\nPokud nen\u00ed dostupn\u00fd \u017e\u00e1dn\u00fd solver, lze stahovat jen soubory bez CAPTCHA.\n\nPro volbu po\u010dtu \u010d\u00e1st\u00ed slou\u017e\u00ed p\u0159ep\u00edna\u010d `--parts N`, default je 20 \u010d\u00e1st\u00ed.\n\n```shell\n$ ulozto-downloader --parts 50 \"https://ulozto.cz/file/TKvQVDFBEhtL/debian-9-6-0-amd64-netinst-iso\"\n```\n\n![Uk\u00e1zka stahov\u00e1n\u00ed](https://raw.githubusercontent.com/setnicka/ulozto-downloader/master/example-screenshot.png)\n\nP\u0159i vyu\u017eit\u00ed automatick\u00e9ho lousk\u00e1n\u00ed doporu\u010duji vyu\u017e\u00edt velk\u00fd po\u010det \u010d\u00e1st\u00ed, klidn\u011b\n50 (spust\u00edte `ulozto-downloader` a nech\u00e1te ho pracovat, on si postupn\u011b louskne\ndal\u0161\u00ed stahovac\u00ed linky a postupn\u011b navy\u0161uje po\u010det najednou stahovan\u00fdch \u010d\u00e1st\u00ed).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Uloz.to quick multiple sessions downloader. This is fork of original https://github.com/setnicka/ulozto-downloader for pre-release pull-requests",
    "version": "3.1.8",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "26c1b710456e2ced7391aebcdf431178844386df39befb0d0701d92fbb9263c1",
                "md5": "33477e61ad8e76385575eb32503b50b0",
                "sha256": "221b4d1ea876d404855ad11af31502d0b05023e747dbcba563090199227fe1e0"
            },
            "downloads": -1,
            "filename": "uld-3.1.8-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "33477e61ad8e76385575eb32503b50b0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 13172500,
            "upload_time": "2023-01-28T18:40:28",
            "upload_time_iso_8601": "2023-01-28T18:40:28.050754Z",
            "url": "https://files.pythonhosted.org/packages/26/c1/b710456e2ced7391aebcdf431178844386df39befb0d0701d92fbb9263c1/uld-3.1.8-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-28 18:40:28",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "setnicka",
    "github_project": "ulozto-downloader",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "Pillow",
            "specs": []
        },
        {
            "name": "ansicolors",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": []
        },
        {
            "name": "pysocks",
            "specs": []
        },
        {
            "name": "stem",
            "specs": []
        },
        {
            "name": "tflite-runtime",
            "specs": []
        }
    ],
    "lcname": "uld"
}
        
Elapsed time: 0.03519s