感谢 @wot1026 (nodeseek 论坛) 的使用反馈与建议,感谢 明城 @feelinglucky 提交的 PR 仓库: https://github.com/cryptoli/vps-sentinel
VPS Sentinel v0.3.1 更新日志
主要更新
- 面板 UI 与数据展示优化:统一桌面端和移动端布局,拆分面板 CSS 模块,修复风险趋势、节点新鲜度、漂移时间线等数据展示问题。
- 事件与攻击链增强:攻击链支持多阶段展示,统一自建面板和 Cloudflare 面板的数据结构。
- 黑名单与响应优化:改进主动响应复核、黑名单归属、探测源分类、攻击指纹结论展示和批量复核后的刷新行为。
- 配置升级安全:
vs config migrate、sync-defaults、normalize会规范化[allowlist]和[suppress_rules],避免旧配置升级时出现重复 key 或格式冲突。 - 规则级静默:新增
[suppress_rules],支持按规则 ID 、subject 、path pattern 静默已接受风险,不需要把整个文件排除出完整性监控。 - 本地运维菜单:新增
vs menu,支持引导式管理 trusted admin IP 、allowlist 、刷新基线、查看/解除封禁、配置校验和服务重载。 - Oracle/snap 噪音控制:安装和升级时支持 snapd systemd mount/scope allowlist ,降低 Oracle Cloud 环境误报。
- 通知渠道:新增钉钉和飞书通知,并校验业务响应,避免 HTTP 200 但实际发送失败的问题。
- 面板安全姿态:面板保持 push-only 仪表盘,不作为 SSH 控制面;自建面板默认绑定
127.0.0.1:8858,支持内网/Tailscale 部署。 - CDN/可信代理保护:
[web].trusted_proxy_cidrs中的 CDN/反代 IP 不会成为封禁候选,避免误封 Cloudflare 、Nginx 代理等边缘 IP 。 - 发布包修复:release/deb/rpm 现在会安装
vps-sentinel-panel-env,用于生成和维护自建面板环境文件。 - 私有面板配置修复:
PANEL_PUBLIC_PAGES=""现在可以明确关闭所有公开页面,重复运行环境生成脚本也不会恢复默认公开页。
从旧版本升级
curl -fsSL https://raw.githubusercontent.com/cryptoli/vps-sentinel/main/update.sh | sudo sh
sudo vs config migrate
sudo vs config sync-defaults
sudo vs config validate
sudo vs reload
升级会保留已有 /etc/vps-sentinel/config.toml,并规范化 [allowlist]、[suppress_rules] 等配置段,避免旧配置格式冲突。
自建面板部署
默认私有绑定:
sudo PANEL_ENV_FILE=/etc/vps-sentinel-panel/panel.env \
PANEL_BIND="127.0.0.1:8858" \
vps-sentinel-panel-env
Tailscale/内网绑定:
sudo PANEL_ENV_FILE=/etc/vps-sentinel-panel/panel.env \
PANEL_BIND="<tailscale-or-private-ip>:8858" \
vps-sentinel-panel-env
完全关闭公开页面:
sudo PANEL_ENV_FILE=/etc/vps-sentinel-panel/panel.env \
PANEL_PUBLIC_PAGES="" \
vps-sentinel-panel-env
Agent 接入自建面板示例:
[panel]
enabled = true
url = "http://<panel-private-ip>:8858/api/v1/ingest"
node_name = "<与面板节点名一致>"
secret = "<panel.env 里的 PANEL_SHARED_SECRET>"
privacy_mode = "strict"