SaveAny-Bot

krauAGPL-3.0活跃维护

把 Telegram 里的文件转存到 Alist、WebDAV、S3、Rclone 或本地磁盘的机器人,还能保存受限制频道的内容。

Save Any Telegram File to Anywhere 📂 (Alist, Disk, Webdav, S3, Rclone...) . Support restrict saving content and files beyond telegram.

v1.0.0-beta.5发布于 2026-11-09 08:06 UTC2,599star +1 / 7 天300fork同步于 2026-11-10 11:43 UTC

怎么上手

从 README 代码块原样提取,可能是其中一种安装方式
docker run -d --name saveany-bot \
docker logs saveany-bot | grep -E "Web UI available at|Generated web admin password"
硬件要求按 README 关键词推断
有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

这个项目的说明还在生成中,先参考下面「最近发版」和 README。

最近发版

5 个版本v1.0.0-beta.5
  1. v1.0.0-beta.5pre-release最新正式版2026-11-09 · 2026-11-09 08:06 UTC

    [!NOTE] This is a beta release for testing. Back up data/ before upgrading. Use ghcr.io/krau/saveany-bot:v1-beta for the moving beta channel, or an exact image tag for reproducible deployments.

    What's changed

    • Upgraded the embedded JavaScript parser runtime to moejs 0.1.0.
    • Includes moejs 0.1.0's interpreter, regular-expression, string, and memory improvements.
    • No host API changes were needed.
        View changes on GitHub
  2. v1.0.0-beta.4pre-release2026-11-07 · 2026-11-07 10:42 UTC
    查看更新说明

       🚀 Features

    • docker: Added v1 beta image channel  -  by @krau (63768)

       🐞 Bug Fixes

    • web: Showed IPv4 loopback for wildcard listeners  -  by @krau (3ae3b)
        View changes on GitHub
  3. v1.0.0-beta.3pre-release2026-11-07 · 2026-11-07 05:04 UTC
    查看更新说明

       🐞 Bug Fixes

    • database: Fixed Windows SQLite file URL  -  by @krau (daf04)
        View changes on GitHub
  4. v1.0.0-beta.2pre-release2026-11-06 · 2026-11-06 02:28 UTC
    查看更新说明

       🐞 Bug Fixes

    • update: Avoided downgrades as major upgrades  -  by @krau (69102)
        View changes on GitHub
  5. v1.0.0-beta.1pre-release2026-11-05 · 2026-11-05 15:18 UTC
    查看更新说明

       🚀 Features

    • Rebuilt configuration, Telegram clients, and web console  -  by @krau (3f599)
    • Redrew logo as a folder download mark  -  by @krau (1e5d2)
    • bot:
      • Enabled group and supergroup chats  -  by @krau (e95ab)
    • config:
      • Exposed transfer tuning limits  -  by @krau (00164)
    • download:
      • Added resumable telegram chunk downloads  -  by @krau (d0e27)
    • media:
      • Added instance-wide media type filtering  -  by @krau (ba39d)
    • metadata:
      • Added Telegram message metadata and sidecar handling  -  by @krau (b0689)
    • relay:
      • Persisted relay state for resumable downloads  -  by @krau (a071e)
    • rules:
      • Accepted storage ids in rule commands  -  by @krau (bd967)
    • tasks:
      • Reported failed files and added retry for telegram downloads  -  by @krau (e2246)
      • Resumed queued tasks after restart  -  by @krau (4cd4f)
      • Resumed interrupted downloads after restart  -  by @krau (1d36d)
      • Added readable metadata dialog  -  by @krau (13e5b)
    • telegram:
      • Added optional helper bot workers  -  by @krau (2c759)
      • Added relay-based multi-bot downloads  -  by @krau (b5dce)
    • v1:
      • Adopted storage IDs and canonical Telegram chat IDs  -  by @krau (5283e)
    • web:
      • Added mobile card layouts and refined admin UI  -  by @krau (47a6f)
      • Reworked login and stabilized interaction feedback  -  by @krau (a6050)
      • Added coordinated motion across the console  -  by @krau (dfbad)
      • Added persistent light and dark themes  -  by @krau (695f1)
      • Added Chinese and English localization  -  by @krau (96383)
      • Added first-run onboarding  -  by @krau (3d0f8)
      • Added server-side path picker  -  by @krau (a84c0)
      • Added tokenized web UI access  -  by @krau (b4e46)
      • Added helper bot and relay settings UI  -  by @krau (202d5)
      • Added automation, parser, update, peer sync and batch save controls  -  by @krau (99729)
      • Moved console to storage-ID contracts and refreshed copy  -  by @kra

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Save Any Bot

    English | 简体中文

    Save Any Telegram File to Anywhere 📂. Support restrict saving content and beyond telegram.

    Release Date tag Build Status Stars Downloads Issues Pull Requests License

    🎯 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:

    1. Connect your Telegram bot.
    2. Add a storage destination.
    3. 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

    • Group
    • Discussion
    • PersonalChannel