Skip to content

Repository files navigation

vget

A small, focused downloader for media links and WebDAV resource libraries. Available as CLI and Docker.

简体中文 | 日本語 | 한국어 | Español | Français | Deutsch | Português

What it is

vget is a thin, simple interface over the resources behind it. Point it at a link or a WebDAV resource library and it fetches the file — with a progress bar in the terminal, or a web UI on your NAS.

The tool stays deliberately small. The value isn't the downloader; it's the resource libraries it connects to. So vget speaks standard protocols instead of scraping — it doesn't break when a site changes its markup, and any WebDAV server anyone runs becomes a library it can browse and pull from.

  • Media links — Twitter/X (video/image), podcasts (Xiaoyuzhou, Apple Podcasts), direct file URLs, m3u8/HLS streams
  • WebDAV resource libraries — PikPak, a NAS, a seedbox, or anyone's shared WebDAV library: browse, pick, download
  • Cloud drives without native WebDAV (Baidu, Quark, Aliyun, 115, …) — bridge them through OpenList/Alist, then point vget at the WebDAV endpoint

Direction and roadmap (one-command library hosting, a library client, a public directory) live in docs/PRD.md.

Installation

macOS

curl -fsSL https://github.com/guiyumin/vget/releases/latest/download/vget-darwin-arm64.zip -o vget.zip
unzip vget.zip
sudo mv vget /usr/local/bin/
rm vget.zip

Linux / WSL

curl -fsSL https://github.com/guiyumin/vget/releases/latest/download/vget-linux-amd64.zip -o vget.zip
unzip vget.zip
sudo mv vget /usr/local/bin/
rm vget.zip

Windows

Download vget-windows-amd64.zip from Releases, extract it, and add to your PATH.

Screenshots

Download Progress

Download Progress

Docker Server UI

Docker

The Docker image runs a web UI + HTTP API — handy on a NAS, where you paste links or browse WebDAV libraries from any device.

docker run -d -p 8080:8080 -v ~/downloads:/home/vget/downloads ghcr.io/guiyumin/vget:latest

Supported Sources

See sites.md for native extractors. Beyond those, any WebDAV server works out of the box.

Commands

Command Description
vget [url] Download media (-o, -q, --info)
vget ls <remote>:<path> List remote directory (--json)
vget init Interactive config wizard
vget update Self-update (use sudo on Mac/Linux)
vget search --podcast <query> Search podcasts
vget completion [shell] Generate shell completion script
vget config show Show config
vget config set <key> <value> Set config value (non-interactive)
vget config get <key> Get config value
vget config path Show config file path
vget config webdav list List configured WebDAV servers
vget config webdav add <name> Add a WebDAV server
vget config webdav show <name> Show server details
vget config webdav delete <name> Delete a server

Examples

# Media links
vget https://twitter.com/user/status/123456789
vget https://www.xiaoyuzhoufm.com/episode/abc123
vget https://example.com/video.mp4 -o my_video.mp4
vget --info https://example.com/video.mp4
vget search --podcast "tech news"

# WebDAV resource libraries
vget config webdav add pikpak       # add a library (url + user + pass)
vget ls pikpak:/Movies              # browse it
vget pikpak:/path/to/file.mp4       # download from it

Configuration

Config file location:

OS Path
macOS/Linux ~/.config/vget/config.yml
Windows %APPDATA%\vget\config.yml

Run vget init to create the config file interactively, or create it manually:

language: en # en, zh, jp, kr, es, fr, de

Note: Config is read fresh on every command. No restart required after changes (useful for Docker).

Updating

To update vget to the latest version:

macOS / Linux:

sudo vget update

Windows (run PowerShell as Administrator):

vget update

Languages

vget supports multiple languages:

  • English (en)
  • 中文 (zh)
  • 日本語 (jp)
  • 한국어 (kr)
  • Español (es)
  • Français (fr)
  • Deutsch (de)

License

Apache License 2.0

About

Versatile downloader for audio, video, podcasts, PDFs and more. Available as CLI and Docker | 多功能下载工具,支持音视频、播客、PDF等,提供 CLI 和 Docker 两种方式

Resources

Stars

466 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages