基于TG搭建无限容量网盘
Telegram里面用户是可以无限上传文件的,但是我们在国内无法直接访问telegram,所以有大佬开发了个项目,可以通过机器人获取telegram里的文件直链,只需要一台vps即可,但是需要注意可能存在封号的风险!
EverythingSuckz/TG-FileStreamBot:一个电报机器人,它将提供电报文件的即时流链接,而无需等到下载完成。 (github.com)
感谢大佬的无私奉献!
我这里docker进行搭建,docker安装可以参考这里:docker安装教程
在搭建过程中需要获取TG的API,具体过程参考这里的:TG的API获取教程
新建群组
点击左上角的三横线,新建群组
获取bot和id
在搭建过程中还需要你新建群组和bot以及获取你的TG的id
在Tg里搜索@botfather
,发送/newbot
在Tg里搜索@getidsbo
,再将bot添加到频道中,它会回复一个负数给你,那个就是你频道的id,id格式为-100xxxxxxxxxx
部署容器
首先选取合适的位置,克隆存储库
git clone https://github.com/EverythingSuckz/TG-FileStreamBot
进入文件目录
cd TG-FileStreamBot
然后构建 Docker 镜像
docker build . -t stream-bot
新建.env
文件,具体的配置文件在后面有写
vi .env
使用变量创建文件。并启动容器:.env
docker run -d --restart unless-stopped --name fsb \
-v /PATH/TO/.env:/app/.env \
-p 8000:8000 \
stream-bot
这里的/PATH/TO路径修改为你自己的路径,端口可以修改但是必须左右一致
如果需要在机器人启动后更改文件中的变量,只需重启容器,即可更新机器人设置:.env
docker restart fsb
.env文件
我这里提供两种.env
文件,一种是最后文件地址格式是ip:端口
,另外一种是域名
ip:端口
API_ID= #这里写你的app id
API_HASH= #这里写你的app hash
BOT_TOKEN= #这里写你的机器人密钥
BIN_CHANNEL= #这里写你的频道id
PORT= #这里写你想要使用的端口号
FQDN= #这里填你的域名
域名
API_ID= #这里写你的app id
API_HASH= #这里写你的app hash
BOT_TOKEN= #这里写你的机器人密钥
BIN_CHANNEL= #这里写你的频道id
PORT= #这里写你想要使用的端口号
FQDN= #这里填你的域名
HAS_SSL= true #这里是ssl选项
NO_PORT= true #如果设置为 True,则不会显示该端口。
强制变量
在运行机器人之前,需要设置以下必需变量:
-
API_ID
:这是您的 Telegram 帐户的 API ID,可以从 my.telegram.org 获取。 -
API_HASH
:这是您的 Telegram 帐户的 API 哈希值,也可以从 my.telegram.org 获得。 -
BOT_TOKEN
:这是 Telegram Media Streamer Bot 的机器人令牌,可以从 @BotFather 获得。 -
BIN_CHANNEL
:这是日志通道的通道 ID,机器人将在其中转发媒体消息并存储这些文件,以使生成的直接链接正常工作。要获取频道 ID,请创建一个新的电报频道(公共或私有),在频道中发布内容,将消息转发给@missrose_bot并使用 /id 命令回复转发的消息。复制转发的频道 ID 并将其粘贴到 this 字段中。
可选变量
除了必填变量外,还可以设置以下可选变量:
-
ALLOWED_USERS
:机器人仅回复的用户的用户 Telegram ID。
注意:将
ALLOWED_USERS
留空,任何人都可以使用你的机器人实例。 您还可以通过添加以逗号 (,) 分隔的 ID 来添加多个用户
-
HASH_LENGTH
:这是生成的 URL 的自定义哈希长度。哈希长度必须大于 5 且小于 64。 -
SLEEP_THRESHOLD
:这将为机器人实例中全局发生的泛滥等待异常设置睡眠阈值。引发泛滥等待异常低于此阈值的请求将在休眠所需时间后再次自动调用。将引发需要更长等待时间的洪水等待异常。默认值为 60 秒。最好将此字段留空。 -
WORKERS
:这将设置用于处理传入更新的最大并发工作线程数。默认值为 3。 -
PORT
:这将设置 Web 应用将侦听的端口。默认值为 8080。 -
WEB_SERVER_BIND_ADDRESS
:这将设置您的服务器绑定地址。默认值为 0.0.0.0。 -
NO_PORT
:这可以是 True 或 False。如果设置为 True,则不会显示该端口。
注意:要使用
NO_PORT
设置,您必须将 HTTP 协议指向 80 或指向 HTTPS 协议的 443 才能使生成的链接正常工作。
-
FQDN
:完全限定域名(如果存在)。默认为WEB_SERVER_BIND_ADDRESS
-
HAS_SSL
:这可以是 True 或 False。如果设置为 True,则生成的链接将采用 HTTPS 格式。 -
KEEP_ALIVE
:如果要使服务器每秒 ping 一次以避免休眠。在 PaaS 免费层中很有帮助。默认为PING_INTERVAL``False
-
PING_INTERVAL
:您希望每次 ping 服务器以避免休眠的时间(以毫秒为单位)(如果您使用的是某些 PaaS)。默认值为 或 20 分钟。1200
-
USE_SESSION_FILE
:将会话文件用于客户端,而不是将 pyrogram sqlite 数据库存储在内存中
写在最后
可以向你的bot发送/start
,检测是否成功搭建,如果返回Send me a file to get an instant stream link
,即搭建成功。