huangjia 发表于 2023-10-18 18:48:39

搭建基于telegram的无限网盘

telegram里面用户是可以无限上传文件的,但是我们在国内无法直接访问telegram,所以有大佬开发了个项目,可以通过机器人获取telegram里的文件直链,只需要一台vps即可


原项目地址:https://github.com/EverythingSuckz/TG-FileStreamBot


环境要求:
python3

首先我们通过git拉取项目:git clone https://github.com/EverythingSuckz/TG-FileStreamBot
进入项目地址
cd TG-FileStreamBot
virtualenv -p /usr/bin/python3 venv
如果这一步报错“Command 'virtualenv' not found”,说明没有安装virtualenv,执行:
pip3 install virtualenv
安装好virtualenv后,再执行:
virtualenv -p /usr/bin/python3 venv
. ./venv/bin/activate
pip3 install -r requirements.txt
然后我们telegram里面搜索botfather并添加机器人:


向bot发送/newbot指令来新建一个bot,以下带#号为bot回复的语句
#Alright, a new bot. How are we going to call it? Please choose a name for your bot.
输入你的bot名称
#Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
然后输入你的bot用户名,之后你会用这个用户名搜索你的bot,bot名必须以**_bot**结尾,比如zhangsan_bot
输入用户名后,botfather会回复给你一串机器人密钥,我们要保存好,图中圈出来的部分就是密钥


接下来我们新建一个频道,公开频道或者私人频道都可以搜索添加@get_id_bot 再将bot添加到频道中,它会回复一个负数给你,那个就是你频道的id,id格式为-100xxxxxxxxxx
我们再到浏览器打开https://my.telegram.org/,登录我们的telegram账号,注册获取一个app id和app hash,这一步就不详细写了,按流程走就行了现在我们拥有一个机器人密钥,一个app id和一个app hash和一个频道id然后在项目目录下新建一个名为.env的文件,注意不要忘记前面那个.按照以下格式编辑.env文件,注意#号后面的内容不要输入到文件中:API_ID=     #这里写你的app id
API_HASH=   #这里写你的app hash
BOT_TOKEN=  #这里写你的机器人密钥
BIN_CHANNEL=  #这里写你的频道id
PORT=         #这里写你想要使用的端口号
FQDN=         #这里填你的域名
HAS_SSL=False  #这里是ssl选项,最好填默认的False
编辑好后,保存,我们再在ssh内执行
python3 -m WebStreamer
现在我们只要把tg内的文件转发给我们新建的机器人,或者上传文件给机器人,机器人就会返回一条文件直链供我们下载,下载文件会经过我们的vps中转,如图



注册成服务,首先在当前路径下,创建WebStreamer.sh,内容如下:#!/bin/bash

. ./venv/bin/activate
python3 -m WebStreamer

然后创建,并编辑对应服务: vim /etc/systemd/system/webstreamer.service
内容如下:
Description=telegram online download
Documentation=https://github.com/EverythingSuckz/TG-FileStreamBot
After=network-online.target
Wants=network-online.target


Type=simple
User=root
Group=root
WorkingDirectory=/root/TG-FileStreamBot
ExecStart=/usr/bin/bash WebStreamer.sh
Restart=always


WantedBy=multi-user.target
最后启动服务:systemctl start webstreamer注意:上面的图片链接资源没有保存在你的服务器。链接也会在一定的时间内失效的,想下载,要尽快
页: [1]
查看完整版本: 搭建基于telegram的无限网盘