搭建基于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]