发现了一个非常好玩的自动离线下载项目

我期待的不是雪 2026-06-08 19:41 1

项目链接


https://github.com/anasty17/mirror-leech-telegram-bot

来自Gemini的分析:


通过对您提供的 requirements.txtconfig_sample.py 文件进行分析,这是一个功能非常全面且高度可定制的 Telegram 镜像与离线下载机器人 (Mirror/Leech Telegram Bot)。它的主要用途是接收用户的下载指令,将网络上的各类资源下载到运行该机器人的服务器上,然后再将这些文件上传到各种云盘(Mirror 镜像)或者直接分割回传到 Telegram 聊天中(Leech 搬运)。


以下是对该项目的详细分析:


1. 技术栈与底层架构



  • 开发语言与并发机制:项目基于 Python 开发,并且深度使用了异步编程(如 asyncioaiofilesuvloop 等依赖)来保证在高并发下载和上传时的性能表现。

  • Telegram 框架:使用了 kurigram 库(基于 MTProto 协议的 Telegram 客户端)以及 tgcrypto 提升加密解密性能。

  • Web 服务端:集成了 fastapiuvicorn,这表明机器人除了响应 Telegram 消息外,还提供了一个 Web 后端,可能用于查看下载状态、目录浏览或 Rclone 服务 (RCLONE_SERVE_PORT)。

  • 数据库:使用 MongoDB(通过 pymongo 库)进行数据持久化存储,默认数据库名为 mltb


2. 核心功能模块


A. 多协议下载能力

该机器人支持几乎所有主流的文件下载协议,充当一个全能的离线下载中心:



  • BT与磁力链:支持 qBittorrent 和 Aria2c(通过 aioqbtaioaria2 库控制)。配置中还可以设定种子超时时间 (TORRENT_TIMEOUT)。

  • 流媒体与图集提取:内置了 yt-dlp(配合 curl-cffi 绕过风控)用于下载 YouTube 等视频网站的高清视频,以及 gallery-dl 用于抓取网页图片画廊。

  • Usenet (新闻组):支持 Sabnzbd 客户端对接,并使用 par2cmdline-turbo 进行错误修复和校验。

  • 网盘解析支持:支持配置 JDownloader 账户(JD_EMAIL, JD_PASS)以突破各种国外网盘的下载限制,并且支持 AllDebrid 这样的中转解析服务 (ALLDEBRID_API_KEY)。


B. 丰富的上传与转存系统 (Mirror)

下载完成后,机器人可以自动将文件推送到多种目标平台:



  • Google Drive:官方 API 深度集成,支持个人盘和团队盘 (IS_TEAM_DRIVE),支持使用服务账号 (USE_SERVICE_ACCOUNTS) 绕过单账号上传限额,并且可以配合自定义索引站点 (INDEX_URL) 直接生成直链。

  • 万能网盘工具 Rclone:通过 Rclone 挂载和标志位 (RCLONE_FLAGS),理论上可以将文件转存到 OneDrive、Dropbox 等几十种第三方云存储中。

  • 托管分享平台:支持自动上传至 Gofile、Filelion、Streamwish、Buzzheavier 等临时文件托管和流媒体播放服务。


C. Telegram 回传机制 (Leech)

如果用户想直接在 Telegram 中获取文件:



  • 可以根据 Telegram 的限制自定义分卷压缩大小 (LEECH_SPLIT_SIZE),支持强制以文档格式发送 (AS_DOCUMENT) 或媒体组格式发送 (MEDIA_GROUP)。

  • 可以通过预设的聊天 ID 将文件自动转存到特定的频道或群组备份 (LEECH_DUMP_CHAT)。


D. 自动化与媒体处理扩展


  • 资源检索:自带 BT 搜索引擎集成,预设了十几个主流资源站(如 PirateBay, Nyaa, 1337x, YTS 等)的 qBittorrent 搜索插件。

  • RSS 订阅:内置 RSS 源监控(基于 feedparser 库),支持检测到新资源后自动推送到频道 (RSS_CHAT) 并触发下载。

  • 视频/媒体处理:可以直接调用后端的 FFmpeg 工具(如自动合并切片视频、提取或封装)和 Pillow 库处理缩略图。


总结


这是一个为重度资源玩家准备的“自动化服务器下载中转枢纽”。用户只需要在 Telegram 发送一条链接,该机器人就能自动调用服务器带宽将其下载下来,并根据配置稳妥地打包、分片,最终上传至私人云盘或直接推送到 Telegram 频道中。

最新回复 (0)
    没有回复
* 帖子来源NodeSeek
返回