tgState 是一款以 Telegram 作为免费储存的文件外链系统,目前已支持:
-
不限制文件大小和格式
-
支持web上传文件和telegram直接上传
-
可搭配CloudFlare使用
项目地址
简单上手
编译
感谢 Saika指点
cd ~/domains && wget https://github.com/csznet/tgState/archive/refs/tags/v1.3.8.tar.gz && tar -zxvf v1.3.8.tar.gz && mv tgState-1.3.8/ tgState && cd tgState && sed -i '' 's/go 1.20/go 1.17/' go.mod && go mod tidy && CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -o tgState main.go && find . -maxdepth 1 ! -name 'tgState' -exec rm -rf {} \;
运行
./tgState -token <YOUR_BOT_TOKEN> -target @<YOUR_CHANNEL_LINK> -url <YOUR_DOMAIN> -port <YOUR_PORT>
你也可以编写 ecosystem.config.js 来执行
- 创建启动文件
start.sh
#!/bin/bash
chmod +x tgState && ./tgState -token <YOUR_BOT_TOKEN> -target @<YOUR_CHANNEL_LINK> -url <YOUR_DOMAIN> -port <YOUR_PORT>
- 在
ecosystem.config.js
添加:
{
name: "tgState",
script: "./start.sh",
cwd: "/home/$username/domains/tgState",
interpreter: "bash"
},
如果你运行不上,可以参考下面的对策
常见问题对策
端口错误
端口 8088 已被占用
这表示端口被占用,如果你的端口是可以使用的,试试清空后台然后再运行:
pkill -kill -u <YOUR_USERNAME>
webhook错误
2024/03/29 01:21:39 Failed to get updates, retrying in 3 seconds…
2024/03/29 01:21:42 Conflict: can’t use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first
这表示存在未退出的webhook,需要先删除:
curl -X POST https://api.telegram.org/bot<YourBotToken>/deleteWebhook