Download multiple episodes from streaming sites
Warning: This project has been only tested on Linux, and is generally not well tested.
- Doodstream
- Filemoon
- Speedfiles
- Streamtape
- Vidmoly
- Vidoza
- Voe
By URL:
sdl 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily/staffel-1/episode-1'
By specifying it explicitly:
sdl -e 11 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily/staffel-2'
By URL:
sdl 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily/staffel-2'
sdl 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily/filme'
By specifying it explicitly:
sdl -s 2 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily'
sdl -s 0 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily'
sdl -e 1,2-6,9 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily/staffel-2'
sdl -s 1-2,4 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily'
sdl 'https://aniworld.to/anime/stream/yuruyuri-happy-go-lily'
sdl -t gersub 'https://s.to/serie/stream/higurashi-no-naku-koro-ni/staffel-1/episode-1'
Either dub or sub:
sdl -t ger 'https://s.to/serie/stream/higurashi-no-naku-koro-ni/staffel-1/episode-1'
sdl -t german 'https://s.to/serie/stream/higurashi-no-naku-koro-ni/staffel-1/episode-1'
If an episode has multiple languages, the general language preference is as follows:
- English Anime Website: EngSub > EngDub
- German Anime Website: GerDub > GerSub > EngSub > EngDub
- German non-Anime Website: GerDub > GerSub > EngDub > EngSub
sdl -u 'https://streamtape.com/e/DXYPVBeKrpCkMwD'
sdl -u=voe 'https://prefulfilloverdoor.com/e/8cu8qkojpsx9'
Usage: sdl [OPTIONS] <URL>
Arguments:
<URL> Download URL
Options:
--type <VIDEO_TYPE>
Only download specific video type [possible values: raw, dub, sub]
--lang <LANGUAGE>
Only download specific language [possible values: english, german]
-t <TYPE_LANGUAGE>
Shorthand for language and video type
-e, --episodes <RANGES>
Only download specific episodes
-s, --seasons <RANGES>
Only download specific seasons
-u, --extractor[=<NAME>]
Use underlying extractors directly
-N, --concurrent-downloads <INF|NUMBER>
Concurrent downloads [default: 5]
-r, --retries <INF|NUMBER>
Number of download retries [default: 5]
--ddos-wait-episodes <NEVER|NUMBER>
Amount of requests before waiting [default: 4]
--ddos-wait-ms <MILLISECONDS>
The duration in milliseconds to wait [default: 60000]
--mpv
Play in mpv
-d, --debug
Enable debug mode
-h, --help
Print help
-V, --version
Print version
If FFmpeg and ChromeDriver are not found in the PATH
, they will be downloaded automatically.
Also, I don't plan to add new sites or extractors, but you're welcome to create a Pull Request if you want to add one.
By the way, it's also possible to use sdl
as a library.
Currently, Rust 1.75 or newer is required.
cargo build --release
The resulting executable is found at target/release/sdl
.
- aniworld_scraper for the inspiration and showing how it could be done