Loading... ## 说明 项目地址:[https://github.com/EverythingSuckz/TG-FileStreamBot?tab=readme-ov-file#how-to-generate-a-session-string](https://github.com/EverythingSuckz/TG-FileStreamBot?tab=readme-ov-file#how-to-generate-a-session-string) 最低配置: * 1v CPU * 1G RAM * 10G disk * 网络带宽越大越好 需要有一个telegram账号:[https://telegram.org](https://telegram.org/) 本站已部署的机器人:@orange\_file\_bot【[https://t.me/orange\_file\_bot](https://t.me/orange_file_bot)】 将任意文件发送或是转发给该机器人,机器人将会返回一个链接用于下载文件,该链接免代理网络即可访问,该项目在方便分享文件的同时也能节约代理网络流量消耗 若无链接返回,可在网站检查【orange_file_bot】可用性:https://nz.apoptoxin4869.com/service ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/05/1081057527.webp) ## 准备 ### API\_ID&API\_HASH 获取API\_ID&API\_HASH:打开链接登录你的telegram账号[https://my.telegram.org/](https://my.telegram.org/) 打开链接根据提示填写内容:[https://my.telegram.org/apps](https://my.telegram.org/apps) 记录获取到的ID值 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/05/4074335395.webp) ### BOT\_TOKEN 在telegram中搜索\`@BotFather\`或者打开链接进行对话:[https://t.me/BotFather](https://t.me/BotFather)按照下图模板参考,建立你的机器人将会获得BOT\_TOKEN ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/05/325439697.webp) ### LOG\_CHANNEL LOG\_CHANNEL是本项目机器人所用的文件缓存记录; 通过新建一个telegram群组【私有或公开都可以】将上一步中创建的机器人拉入群组并给予机器人群组管理员权限; 在新建的群组中随意发送一条消息,例如:get\_id,将消息转发至telegram机器人:@MissRose2\_bot【[https://t.me/MissRose2\_bot](https://t.me/MissRose2_bot)】,即可获得群组的id,这就是本项目中所需要的LOG\_CHANNEL,id值为\`-\`符号开头的一串数字包含符号在内 ![请输入图片描述](https://apoptoxin4869.com/usr/uploads/2024/05/937288125.webp) ## 部署项目 拉取项目源码到服务器上 ``` git clone https://github.com/EverythingSuckz/TG-FileStreamBot ``` 进入项目根目录 ``` cd TG-FileStreamBot ``` 编译fsb,这里要求最低的go版本为1.21+ 根据机器性能不同,所需时间不同,站长所用的机器耗时大约2300秒完成编译 如果这里报错,请看文末的常见错误 ``` go build ./cmd/fsb/ ``` 赋予fsb执行权限 ``` chmod +x fsb ``` 复制一个配置文件,名称为fsb.env并且编辑它 ``` mv fsb.sample.env fsb.env ``` 配置文件编辑说明,已删减原版配置文件无需用到的内容,安全原因下方数据已被打乱,仅供参考 ``` # Required Variables (DO NOT SKIP THESE) API_ID=4959 # 你的telegram账号获取的id值 API_HASH=97caec491b8 # 你的telegram账号获取的hash值 BOT_TOKEN=klaec491ig # 你的机器人token值 LOG_CHANNEL=-1000000 # 你的群组id,注意不要漏掉`-` PORT=38080 # 端口号,可以任意自定义 HASH_LENGTH=6 # hash算法长度,建议保持默认6 HOST=http://dl.apoptoxin4869.com:38080 # 自定义域名,如果希望直接调用服务器IP生成下载链接可以把此行删除或注释掉 ``` 运行机器人 ``` ./fsb run ``` 保持后台运行 ``` apt install tmux # 安装tmux tmux # 建立新的tmux窗口 cd 你的项目 # 进入项目根目录 ./fsb run # 运行项目 最后直接退出ssh连接或者按下键盘“ctrl+b”松开后按一下“d”即可退出当前tmux窗口 tmux常用指令: tmux # 新建窗口 tmux ls # 查看已开启的窗口 tmux attach -t 0 # 进入已打开的0号窗口 tmux kill-session -t 0 # 杀死已打开的0号窗口 ``` ## 常见错误 报错信息,常见错误基本上是go版本不满足要求以及内存太小,请参考以下步骤进行检查,修正不满足的条件后继续完成项目编译 ``` github.com/gotd/td/tg: /usr/local/go/pkg/tool/linux_amd64/compile: signal: killed ``` 检查go的版本是否满足项目要求,需要输出大于等于1.21版本 ``` go version ``` 若是go版本过低,打开官网:[https://go.dev/dl](https://go.dev/dl/)找到对应版本下载到服务器上,例如常用的amd x86\_64 ``` wget https://go.dev/dl/go1.22.2.linux-amd64.tar.gz ``` 安装go ``` tar -xzf go1.22.2.linux-amd64.tar.gz -C /usr/local # 解压go # 编辑文件 nano ~/.bashrc 或 nano ~/.profile # 添加环境变量 export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$GOROOT/bin:$GOPATH/bin:$PATH # 使环境变量生效 source ~/.bashrc # 再次检查go版本 ``` 检查物理内存以及swap内存,若是仅有1G物理内存,那么请把swap内存设置到至少4G以满足项目编译所需的内存消耗 ``` free -h # 检查当前swap内存大小 swapoff -a # 禁用swap dd if=/dev/zero of=/root/swap bs=1M count=6144 # 创建swap文件,这段指令将在root目录下载创建6G大小的swap mkswap /root/swap # 格式化为swap空间 swapon /root/swap # 启用swap ``` 最后修改:2024 年 05 月 26 日 © 允许规范转载 打赏 赞赏作者 赞 如果觉得我的文章对你有用,请随意赞赏
1 条评论
你的文章充满了欢乐,让人忍不住一笑。 http://www.55baobei.com/E0GAjkTl2e.html