Skip to content

xkdvSrPD/go-tg-webhook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一个用于接受HTTP GET请求并通过参数发送通知到Telegram机器人的Go程序 收到消息后加入发送队列,10秒内再次收到消息会加入相同队列,最高发送频次10秒

使用

GET http://<server_ip>:8080/<basepath>?type=<通知等级,可选info | warning | error>&title=<标题>&content=<内容>&from=<发送方名称>

Linux安装

下载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-server

创建systemd.service

vi /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

About

一个用于接受HTTP GET请求并通过参数发送通知到Telegram机器人的Go程序

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published