侧边栏壁纸
  • 累计撰写 29 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

搭建TG文件直链机器人

千城
2024-10-25 / 0 评论 / 0 点赞 / 24 阅读 / 0 字

前言

一直都想在TG整一个直链就能下载的然后发现了TG-FileStreamBot这个项目

部署前提醒:不要使用main分支的重构版本!它会一个劲的提醒你“Error - unexpected type of input peer”,我们需要使用python分支版本或者用docker

docker-compose部署

version: "3.8"
 
services:
  fsb:
      image: rong6233/tg-filestreambot
      restart: unless-stopped
      container_name: fsb
      environment:
       - API_ID= # 这是您的 Telegram 帐户的 API ID,可以从 my.telegram.org 获取。
       - API_HASH= # 这是您的 Telegram 帐户的 API 哈希值,也可以从 my.telegram.org 获取。
       - BOT_TOKEN= # 这是机器人令牌,可以从 @BotFather 获取。
       - BIN_CHANNEL= # 这是日志通道的通道 ID也就是群组id。
       - PORT=9191 # 这是应用程序的端口。
       - NO_PORT=True # 这可以是 True 或 False。如果设置为 True,则不会显示端口。
       - FQDN=你的域名 # 完全限定的域名(如果存在)。默认为 WEB_SERVER_BIND_ADDRESS的值
       - HAS_SSL=True # 这可以是 True 或 False。如果设置为 True,则将启用 SSL。
      ports:
       - 你的ip:9191:9191
      volumes:
       - $HOME/TG-FileStreamBot:/app/.env

你还可以添加更多的环境变量,具体配置如下:

必选变量:

  • 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 并将其粘贴到此字段中。

可选变量

  • HASH_LENGTH:这是生成的 URL 的自定义哈希长度。哈希长度必须大于 5 且小于 64。

  • SLEEP_THRESHOLD:这设置了在机器人实例中全局发生的洪水等待异常的睡眠阈值。引发低于此阈值的洪水等待异常的请求将在睡眠所需的时间后自动再次调用。将引发需要更长等待时间的洪水等待异常。默认值为 60 秒。最好将此字段留空。

  • WORKERS:这设置了处理传入更新的最大并发工作者数量。默认值为 3。

  • PORT:这设置了您的 webapp 将监听的端口。默认值为 8080。

  • WEB_SERVER_BIND_ADDRESS:这设置了您的服务器绑定地址。默认值为 0.0.0.0。

  • NO_PORT :这可以是 True 或 False。如果设置为 True,则不会显示端口。

要使用此设置,您必须将 PORT 指向 HTTP 协议的 80 或 HTTPS 协议的 443,以使生成的链接正常工作。

  • FQDN :如果存在,则为完全限定域名。默认为 WEB_SERVER_BIND_ADDRESS

  • HAS_SSL :可以为 True 或 False。如果设置为 True,则生成的链接将采用 HTTPS 格式。

  • KEEP_ALIVE :是否要让服务器每 PING_INTERVAL 秒 ping 一次自身以避免休眠。在 PaaS 免费层中很有用。默认为 False

  • PING_INTERVAL :每次您希望服务器 ping 一次的时间(以毫秒为单位),以避免休眠(如果您使用某些 PaaS)。默认为 1200 或 20 分钟。

  • USE_SESSION_FILE : 使用客户端的会话文件,而不是将 sqlite 数据库存储在内存中。

如果懒得管,就直接看我上面那个配置改掉相关变量的值就行了。

如果需要配置多个机器人,可以添加如下环境变量:

MULTI_TOKEN1:在此添加您的第一个机器人令牌。

MULTI_TOKEN2:在此添加您的第二个机器人令牌。

以此类推。不要忘记将所有机器人添加到 BIN_CHANNEL 以确保正常运行。

启动:

docker-compose up -d

网站开启断点续传

  • 使用过程中发现Aria2下载会失败,原因就是使用了域名开启反代后没有开启断点续传

  • 解决的方法就是在反向代理的nginx配置里面添加

    # 添加断点续传的支持
    proxy_buffering off;  # 关闭缓冲
    proxy_request_buffering off;  # 关闭请求缓冲
    proxy_set_header Range $http_range;  # 设置 Range 请求头
    proxy_set_header If-Range $http_if_range;  # 设置 If-Range 请求头

0

评论区