Skip to content

A telegram bot that will give instant stream links for telegram files without the need of waiting till the download completes.

License

Notifications You must be signed in to change notification settings

snakexgc/TGlinkToAria2

 
 

Repository files navigation

本项目产生的原因

本项目 TGlinkToAria2 是在 TG-FileStreamBot 的基础上,增加了一个自动将生成的直链加入到aria2中进行下载的功能,它产生的原因是在我的使用过程中,我每次都需要复制它给我生成的链接,然后手动发送到 aria2控制机器人 中进行下载,如果文件比较多,就要重复复制,粘贴,发送的操作,而且有时候容易搞错,导致重复下载或者漏下载。

因此,我在想能不能在生成后直接后直接发送到aria2中下载,近几日在修复隔壁项目aria2bot的过程中,发现了一个很适合的python库—aria2p,这个库非常的精简,很小的体积就能完成我需要的工作,于是我在查看了 TG-FileStreamBot 的代码后,对代码做了适当修改,让它能够自动将链接发送到aria2进行下载。

原项目介绍

原项目是 TG-FileStreamBot ,这个项目是用于生成telegram文件直连的项目,将你需要下载的telegram文件转发给机器人,你就可以得到一个链接,访问链接就可以直接下载文件。

Telegram File Stream Bot

Cover Image

A Telegram bot to generate direct link for your Telegram files.
Demo Bot »
Report a Bug | Request Feature

区别

  1. 加入自动添加aria2下载任务的功能

本项目最大区别就是加入aria2的支持,所以新增了四个环境变量:

ARIA2=True
RPC_URLS=http://1.1.1.1
RPC_PORTS=6800
RPC_TOKENS=youraria2tocken

四个环境变量的解释

  • 第一个是控制是否启用aria2的,如果不用aria2,那我建议您用 原项目
  • 第二个是你aria2的链接,请务必按格式更改
  • 第三个是aria2的对外监听端口,一般是6800
  • 第四个是aria2的秘钥
  1. 优化输出
  • 输出的主要信息修改成了aria2的返回信息,长短链接以按钮形式承载。

部署

安装docker

curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh && systemctl enable docker && systemctl start docker

拉取仓库

cd /root

git clone https://github.com/snakexgc/TGlinkToAria2

cd TGlinkToAria2

构建docker镜像

docker build . -t stream-bot

配置参数

TGlinkToAria2 文件下创建.env文件

文件内容如下:

API_ID=452525
API_HASH=esx576f8738x883f3sfzx83
BOT_TOKEN=55838383:yourtbottokenhere
MULTI_TOKEN1=55838383:yourfirstmulticlientbottokenhere
ARIA2=True
RPC_URLS=http://1.1.1.1
RPC_PORTS=6800
RPC_TOKENS=youraria2tocken
BIN_CHANNEL=-100
PORT=8080
FQDN=yourserverip
HAS_SSL=False

对于这些环境变量的意义,我想大家应该都懂,不懂可以看项目的 readme#setting-up-things

创建容器

docker run -d --restart unless-stopped --name fsb \
-v /root/TGlinkToAria2/.env:/app/.env \
-p 8080:8080 \
stream-bot

注意事项

  • 您在.env文件中设置的 PORT 变量必须与容器的公开端口一致,因为它用于生成URL。所以请记住,如果您更改了“PORT”变量,您的docker run命令也会更改。(例如:PORT=9000 --> -p 9000:9000

    这里您需要注意,修改端口就需要一次修改两个地方的端口,而不是想之前的青龙之类的一样,只用修改启动命令,您需要修改

    1. .env文件中的 PORT ,不是RPC_PORTS 请看清楚!
    2. 修改创建容器的命令中的-p 而且是全部需要改!

    例如您想使用1111端口,那么 .env中的 PORT 修改成1111,然后 创建docker容器的命令也需要修改成 -p 1111:1111 \

  • -v /root/TGlinkToAria2/.env:/app/.env \ ,这句代码的前半部夫需要根据您的具体情况进行修改,本文只适用于root用户,如果您不是root用户,那么相应的文件位置也需要进行修改。(例如您是abc身份,那么这句需要需改成 -v /home/abc/TGlinkToAria2/.env:/app/.env \ )

  • 如果您需要在bot启动后更改“.env”文件中的变量,您所需要做的就是重新启动容器以更新bot设置:

docker restart fsb

结束

不出意外的话,您向机器人发送文件后,文件生成直链的同时就会同步将链接发送到aria2中进行下载!您可以通过返回消息中的aria2返回值来判断是否配置出现错误!

最终目的

​ 如果有时不时瞅一眼的朋友应该发现了,之前我修改了aria2bot这个项目,最近又修改了这个项目,我最终的目的是将这两个项目合并,并且加入rclone的功能,只不过由于水平问题,目前还不能实现这些功能,只能先这样使用了,耐心等待吧!

About

A telegram bot that will give instant stream links for telegram files without the need of waiting till the download completes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Dockerfile 0.6%