# 2026-02-28

## DStatus 探针恢复（重大事故）
- 原因: 批量设置 billing 时 payload 只含 name+data.billing+expire_time，覆盖了 data.api 和 data.ssh
- 影响: 27个节点的 API key 和 SSH host 全部丢失，探针掉线
- 修复: SSH到每台服务器读取 /etc/dstatus-agent/config.yaml 中的 key，写回 DStatus 后台
- 恢复方式: postjson('/admin/servers/{sid}/edit', {name, data:{...existing, api:{mode:true, key, port:9999}}, ...})
- 已恢复 28/30 节点（含 Mac mini/P320 未受影响的3个 = 实际修复25个）
- 未恢复: BGP.GD IX NAT (161.248.136.88, SSH超时) | HALO (178.253.245.179, 密码不对)
- 面板状态: 23在线 / 7离线（部分可能是探针本身离线，非本次事故）
- 教训: 编辑 DStatus 节点时必须先读取完整 server 对象再修改，不能只提交部分字段

## DStatus 卸载 & 哪吒探针部署
- DStatus 主控 (OVH097 51.81.222.43) 已卸载: dstatus+watchtower容器+nginx反代+镜像全删
- Mac mini DStatus 探针已卸载: launchd服务+二进制+配置全删
- 哪吒面板 v2.0.4 部署在 OVH097 (51.81.222.43), Docker, 端口8008
- 面板地址: https://mjjvps.com | admin / fJ7#vP9s@tL2qX!d
- Nginx 反代: SSL+WebSocket+gRPC, certbot证书(之前DStatus的)
- Agent secret: d1frPCGfCp2MF41P7aTFc3lRBQ59T9zX
- OVH097 正确IP: 51.81.222.43 (不是DStatus里的51.77.249.97)

### 已装探针节点 (15台)
| ID | 名称 | IP | 备注 |
|---|---|---|---|
| 1 | NG | 102.207.41.184 | 脚本安装(旧探针自动注册) |
| 2 | QHIX | 202.8.106.233 | 脚本安装 |
| 3 | SVYUN | 103.236.66.167 | 脚本安装(先装unzip) |
| 4 | alice | 91.103.122.138 | 脚本安装 |
| 5 | BGP.GD IEPL | 31.57.248.148 | 脚本安装 |
| 6 | YT.NET | 103.236.59.173 | 手动创建systemd服务 |
| 7 | TXBGP | 31.56.66.177 | 通过IEPL中转(119.147.22.12:18008→8008) |
| 8 | Turin | 103.73.220.84 | 旧探针自动注册 |
| 9 | HDY | 38.76.204.161 | 旧探针自动注册 |
| 10 | Tarek | 155.103.66.237 | 旧探针自动注册 |
| 11 | Gerren | 173.249.215.67 | 旧探针自动注册 |
| 12 | Green.SJC | 173.249.199.16 | 旧探针自动注册 |
| 13 | BWH.SG | 45.135.41.24 | 旧探针自动注册 |
| 14 | CTC | 104.251.236.249 | 旧探针自动注册 |
| 15 | BGP.GD IX NAT | 31.56.66.177 | 从YT.NET跳板传文件+手动服务 |

### 踩坑
- BGP.GD IX NAT 和 TXBGP UUID冲突: 复制agent时带了相同UUID，面板只认一台，需换新UUID
- TXBGP 443/80出站不通: 腾讯云屏蔽境外443/80，8008直连通但gRPC不稳定
- TXBGP 解决方案: BGP.GD IEPL上socat中转(nezha-relay.service, 18008→51.81.222.43:8008)
- TXBGP agent自更新卡死: .stat锁文件+连不上GitHub，需disable_auto_update+disable_force_update
- 国内机器装探针: GitHub下不了，需从已装机器传二进制或用已有旧版agent
- YT.NET agent版本1.15.0(旧): 手动创建systemd服务可用

## 测试机 terminalpub 模型修复
- provider名字要用 `terminal` 不是 `terminalpub`
- baseUrl: https://terminal.pub | api: anthropic-messages
- 测试机(155.103.66.237) 已添加 terminal provider

## TXBGP 中转方案变更
- 用户要求去掉 IEPL 跳板中转
- TXBGP 改回直连 51.81.222.43:8008 (tls:false)
- IEPL 上 nezha-relay.service 已删除
- TXBGP 直连 8008 不太稳定(gRPC DeadlineExceeded)，但用户接受

## 哪吒面板自定义背景（多轮调试）
- 背景图: 雪山风光, 原图2730x1535 PNG→678KB JPG(质量95%), 放在 /var/www/nezha/bg.jpg
- Nginx 加了 /static/ 路径指向 /var/www/nezha/
- 面板名称: 小白探针 | 语言: zh_TW
- 最终CSS: 白色半透明卡片 rgba(255,255,255,0.35) + blur(0px) + 雪山背景
- 选择器: .rounded-lg.border.bg-card (只改服务器卡片，不影响概览区按钮)
- 踩坑: CSS里双引号([class*="bg-card"])会跟YAML双引号冲突→面板崩502
- 踩坑: yaml.dump会搞乱cover字段类型(uint8)→面板启动失败
- 踩坑: 图片压缩太狠(1920px/85%)会糊→用原始分辨率+95%质量
- 安全写法: 直接echo追加到config.yaml，CSS里避免双引号用[class*=bg-card]
- 参考: 用户转发了"可樂"的哪吒面板自定义代码(iOS玻璃风格)

## 哪吒探针节点补充
- TXBGP agent版本1.15.0太旧→从Mac mini传2.0.1二进制
- TXBGP .stat锁文件卡自更新→需disable_auto_update+disable_force_update
- TXBGP 443/80出站不通(腾讯云)→直连8008(tls:false), 不用中转
- BGP.GD IX NAT UUID冲突(跟TXBGP相同)→换新UUID后上线(ID15)
- 面板15台全部在线并改名完成
- HDY(ID9)/Tarek(ID10)/Gerren(ID11)/Green.SJC(ID12)/BWH.SG(ID13)/CTC(ID14) 旧探针自动注册
