一个用于接受HTTP GET请求并通过参数发送通知到Telegram机器人的Go程序 收到消息后加入发送队列,10秒内再次收到消息会加入相同队列,最高发送频次10秒
GET http://<server_ip>:8080/<basepath>?type=<通知等级,可选info | warning | error>&title=<标题>&content=<内容>&from=<发送方名称>
下载webhook-server-linux文件,上传到服务器
sudo useradd -r -s /bin/false webhook
sudo mkdir -p /opt/webhook-server /var/log/webhook-server
sudo mv /tmp/webhook-server-linux /opt/webhook-server/webhook-server
sudo chown webhook:webhook /opt/webhook-server/webhook-server
sudo chmod +x /opt/webhook-server/webhook-servervi /etc/systemd/system/webhook-server.service[Unit]
Description=Telegram Webhook Notification Server
Documentation=https://github.com/your-repo/webhook-server
After=network.target network-online.target
Wants=network-online.target
[Service]
Type=simple
User=webhook
Group=webhook
WorkingDirectory=/opt/webhook-server
# 二进制文件路径
ExecStart=/opt/webhook-server/webhook-server
# 环境变量配置
Environment=TG_BOT_TOKEN=<TG机器人Token>
Environment=TG_CHAT_ID=<chat ID>
Environment=BASE_PATH=<访问路径,已/开头,例如/webhook>
Environment=PORT=8080
# 重启策略
Restart=always
RestartSec=5
StartLimitInterval=0
# 安全设置
NoNewPrivileges=yes
PrivateTmp=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/var/log/webhook-server
# 资源限制
LimitNOFILE=1024
LimitNPROC=1024
# 日志设置
StandardOutput=append:/var/log/webhook-server/webhook.log
StandardError=append:/var/log/webhook-server/webhook-error.log
# 杀死进程方式
KillMode=mixed
KillSignal=SIGTERM
TimeoutStopSec=30
[Install]
WantedBy=multi-user.target# 重新加载systemd配置
sudo systemctl daemon-reload
# 启用服务(开机自启)
sudo systemctl enable webhook-server
# 启动服务
sudo systemctl start webhook-server
# 查看服务状态
sudo systemctl status webhook-server.\build-all.ps1