Save Any Bot
English | 简体中文
Save Any Telegram File to Anywhere 📂. Support restrict saving content and beyond telegram.

🎯 Features
- Support documents / videos / photos / stickers… and even Telegraph
- Bypass "restrict saving content" media
- Batch download
- Streaming transfer
- Multi-user support
- Auto organize files based on storage rules
- Watch specified chats and auto-save messages, with filters
- Transfer files between different storage backends
- Integrate with yt-dlp to download and save media from 1000+ websites
- Aria2 integration to download files from URLs/magnets and save to storages
- Write JS parser plugins to save files from almost any website
- Storage backends:
- Alist
- S3
- WebDAV
- Local filesystem
- Rclone (via command line)
- Telegram (re-upload to specified chats)
📦 Quick Start
SaveAny-Bot is configured in the web console. Start it with empty data, downloads, and cache directories:
docker run -d --name saveany-bot \
-p 28080:28080 \
-e SAVEANY_LISTEN=0.0.0.0:28080 \
-v ./data:/app/data \
-v ./downloads:/app/downloads \
-v ./cache:/app/cache \
ghcr.io/krau/saveany-bot:v1-beta
The web UI listens on 127.0.0.1:28080 by default. The startup log prints a direct URL with an access token:
docker logs saveany-bot | grep -E "Web UI available at|Generated web admin password"
The logged 127.0.0.1 URL is the host-side address when the port is published. If Docker runs on another machine, replace 127.0.0.1 with that machine's IP.
v1-beta is the moving beta channel. Pin an exact image tag when you need a reproducible deployment.
For a binary deployment, pass the address directly:
./saveany-bot --listen 0.0.0.0:28080
Open the URL to sign in. On the first start, the same log also contains the generated admin password; use it to change the password from the sidebar after signing in. Unless an access token is set under Settings → Web, a new token is generated on every start. The Guide page covers the required setup:
- Connect your Telegram bot.
- Add a storage destination.
- Allow your Telegram account.
Then send files or message links to the bot and watch them in the Tasks page.
To run the binary, download a release, extract it, and start it. It creates data/ and prints the same tokenized URL:
./saveany-bot
Please read the docs for storage backends and usage.
Sponsors
This project is supported by YxVM and NodeSupport.
If this project is helpful to you, consider sponsoring me via:
Thanks To
Contact