A Python-based downloader for videos hosted on voe.sx.
| Source | Version |
|---|---|
| Upstream | |
| MPZ-00's Fork |
Voe frequently updates their website to break download scripts.
Make sure you are using the latest version ofvoe-dlto ensure compatibility.
-
Open Command Prompt
PressWin + R, typecmd, and press Enter. -
Navigate to the folder with
voe-dl.exe
Example:cd "C:\Users\YourName\Downloads"
-
Download a video
voe-dl.exe -u https://voe.sx/yourvideo
π You donβt need to add
voe-dl.exeto your system PATH. Just navigate to the folder in CMD.
-
Install uv
A fast Python package/project manager. It installs its own Python if needed, so a separate Python install isn't required. -
Clone or download the repository
-
Install dependencies
In the project folder:uv sync
-
Run the script
uv run voe-dl -u https://voe.sx/yourvideo
or equivalently:
uv run python -m voe_dl -u https://voe.sx/yourvideo -
See all options
uv run voe-dl -h
Prefer plain
pip?pip install .also works, since dependencies are declared inpyproject.toml.
voe-dl -u https://voe.sx/yourvideoCreate a links.txt file:
https://voe.sx/xxxxxxx
https://voe.sx/yyyyyyy
Run:
voe-dl -l links.txtYou can specify a custom title for all files by adding a special comment at the start of your list file:
#: My Series Title
https://voe.sx/xxxxxxx
https://voe.sx/yyyyyyy
This title will be used when combined with --numbering instead of the --name argument.
Set a custom name for downloaded files:
voe-dl -u https://voe.sx/yourvideo --name "MyVideo"With episode numbering (extracts S##E## from URL or numbers sequentially):
voe-dl -l links.txt --name "ShowName" --numberingThis creates files like: ShowName_S01E01.mp4, ShowName_S01E02.mp4, etc.
If you use --numbering without --name, it defaults to "Episode":
voe-dl -l links.txt --numberingCreates: Episode_S01E01.mp4, Episode_S01E02.mp4, etc.
Set the number of parallel workers (default is 4):
voe-dl -l links.txt -w 8Test the download process without actually downloading:
voe-dl -l links.txt --dry-runPress Ctrl+C to gracefully abort downloads. You'll be prompted to either:
- Keep
.partfiles to resume later - Delete
.partfiles to start fresh next time
When stdout is piped, voe-dl resolves the video and prints only the direct download link instead of downloading it:
voe-dl -u https://voe.sx/yourvideo | xargs -I{} wget {}Downloaded videos will be saved in the same folder where you run the command.
But this can be changed using the -d option to specify a target directory.
voe-dl -d downloadsAttention: The target directory must be existent when running the script
Make sure you run commands in CMD/Terminal, not in the Python shell (>>> prompt).
Open CMD manually and run the tool from there to see error output.
Make sure the URL is valid and doesn't contain brackets or formatting issues.
β Correct:
https://voe.sx/fi3fqtyh7932
Ensure the URL starts with http:// or https:// and doesn't contain strange characters.
Run:
voe-dl -hThis will print all available options:
-h, --help Show help message and exit
-u, --url Download single video from URL
-l, --list Download videos from a text file (one URL per line)
-w, --workers Number of parallel download threads (default: 4)
--name Custom filename for downloaded videos
--numbering Enable episode numbering (S##E## format)
--dry-run Test download process without actually downloading
Pull requests are welcome! If you fix a bug or add a feature, please update the README accordingly.