krau/SaveAny-Bot
krau/SaveAny-Bot has 2,597 GitHub stars and 300 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-07 20:12 UTC. Last push 2026-11-02.
Save Any Telegram File to Anywhere 📂 (Alist, Disk, Webdav, S3, Rclone...) . Support restrict saving content and files beyond telegram.
What you can do
- Support documents / videos / photos / stickers… and even Telegraph
- Bypass "restrict saving content" media
- Streaming transfer
- Multi-user support
Measured star growth
- in 24h
- +1
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
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:latest
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"
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
- gotd
- TG-FileStreamBot
- gotgproto
- tdl
- All the dependencies, contributors, sponsors and users.
Contact
Explore related projects
freeCodeCamp/freeCodeCamp
freeCodeCamp.org's open-source codebase and curriculum. Learn math, programming, and computer science for free.
458,745 starsdonnemartin/system-design-primer
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
377,314 starsreact/react
The library for web and native user interfaces.
252,408 starsvuejs/vue
This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
212,630 stars