# 2026-02-25 ## Gitea 迁移 Tarek → netcup ✅ - 从 155.103.66.237(Tarek) 迁移到 159.195.41.188(netcup) - Docker 部署: gitea/gitea:latest, 端口 3001→3000, 2222→22 - 数据打包 443K,恢复后 app.ini 域名改为 mjjtop.com - Nginx 配好短链(/oc /dd /ss /bbr /bk /bak) + Gitea 反代 - certbot HTTPS 签发成功,到期 2026-05-25,自动续期 - 旧服 Gitea 容器+数据卷+镜像+Nginx配置全部清理 - 测试机(31.22.111.168)验证5个短链全部正常 ## netcup 备份 → OVH ✅ - vps-snapshot 配置: REMOTE_IP=145.239.143.92, /data/backup/netcup/ - 踩坑: 手写配置文件用了 REMOTE_HOST,脚本实际读 REMOTE_IP - 快照 1.7G (12G原始数据压缩),120MB/s 同步到 OVH - Cron: 0 3 * * * 每天自动备份 - TG 通知已配置 ## Jellyseerr 求片系统部署 (OVH) ✅ - 地址: https://req.088520.xyz | 标题: 顶尖求片 - Docker: jellyseerr(:5055) + radarr(:7878) + sonarr(:8989) + prowlarr(:9696) - compose: /data/docker-compose-arr.yml - Caddy 反代 req.088520.xyz → jellyseerr:5055 (自动HTTPS) - 对接 Emby(emby:8096, urlBase=/emby) + qB(qbittorrent:8080) - Radarr root: /movies | Sonarr root: /tv - 管理员: admin (Emby账号登录) - 默认配额: 每用户每月10部电影+10部剧集 - 中文界面, 发现区域CN, 原始语言zh - API keys: Prowlarr=306e863ef5fc41979f6e701a3f659526 | Radarr=13312d6d56ed48f78ba692204390b67c | Sonarr=8432ee6ca3174279858fbe839541b1eb - 踩坑: Emby API 需要 urlBase=/emby 才能连通; hostname 参数是 IP 不含协议 - 待完成: Prowlarr 配 M-Team 索引器 → 已完成 ✅ ## M-Team 索引器对接 Prowlarr ✅ - M-Team API Token: 019c9278-390d-7583-8ae8-4451ef5ed57c (从浏览器CDP操作创建+clipboard拦截获取) - Prowlarr 添加 M-Team-TP 索引器, baseUrl=https://api.m-team.io - Prowlarr → Radarr(fullSync) + Sonarr(fullSync) 应用关联完成 - Radarr/Sonarr 均已收到 "M-Team (Prowlarr)" 索引器 - 全链路: Jellyseerr求片 → Radarr/Sonarr → Prowlarr/M-Team搜索 → qB下载 → Emby入库 - 踩坑: M-Team API 需要 HMAC-SHA1 签名+JWT; JWT 会过期; 页面令牌脱敏需用clipboard拦截拿完整值 ## 脚本修改约定 - 以后改脚本以 Mac 本地为源头,改完 push Gitea + GitHub - 不在服务器上直接改 ## 求片系统全链路打通 ✅ - 自动批准: 用户权限改为160(REQUEST+AUTO_APPROVE),求片直接自动通过 - 已有用户(muzichen/sistercon/xmg0828)权限都已更新 - 默认quality profile: Any(优先最高质量) - 首批下载: X(恐怖X档案)28.4GB已完成入库 | The Shadow's Edge 37.1GB下载中 ## Emby 四库分类 ✅ - 电影(/data/media/电影) → Radarr /movies - 电视剧(/data/media/电视剧) → Sonarr /tvshows - 动漫(/data/media/动漫) → Sonarr /anime (Jellyseerr默认) - 动画(/data/media/动画) → /tv (儿童,手动管理,求片不进此库) - Emby库: 电影(id:5) | 电视剧(id:1878) | 动漫(id:1887) | 动画(id:3) - Jellyseerr配了两个Sonarr: 默认→/anime(动漫) | Sonarr-电视剧→/tvshows - 已有动漫(Chained Soldier/Fights Break Sphere/Man's Inhumanity)从动画库移到动漫库 ## 刮削完成 ✅ - OVH连不上TMDB,封面需从Mac下载再base64上传(OVH直接curl TMDB只得2KB错误页) - 魔都精兵的奴隶(Tmdb:139060) | 斗破苍穹(Tmdb:79481) | 人间非人(Tmdb:308085) — 中文名+简介+封面 - 恐怖X档案 | 庇护之地(Shelter) | 疯狂动物城 | 疯狂动物城2 — 已刮削 - 踩坑: Emby POST Items/{id} 写Name时如果Name变null会导致后续更新报"Value cannot be null",需带ForcedSortName一起写 - HEARTBEAT.md已加自动刮削任务: 每次心跳检查缺元数据的新片,从Mac端web_fetch TMDB→base64上传封面 ## 人间非人归类修正 ✅ - 人间非人是电视剧不是动漫,从动漫库移到电视剧库 - Sonarr路径: /anime → /tvshows - 移库后Emby重建item(ID变了: 系列1915, E17→1917, E20→1918),需重新刮削 - 目前只有2集(E17/E20),M-Team资源不全,Sonarr持续监控 ## 动漫集级刮削 ✅ - 19集全部补上中文集名+简介+缩略图(ffmpeg 40%位置截取480p) - Emby更新Episode需先GET完整item再POST回去(直接POST少字段会400) - 魔都精兵的奴隶: S1×9集 + S2×7集 = 16集 - 斗破苍穹: 仅S5E105(1集/271集),M-Team资源极少,Sonarr持续监控 - 人间非人: E17+E20(2集/21集) ## 封面上传踩坑 - OVH服务器curl TMDB图片只得2KB错误页(连不上TMDB) - 正确流程: Mac下载封面 → base64 -i → pipe到SSH → curl POST Emby - macOS base64命令: `base64 -i file`(不是`base64 file`) ## oc-monitor 迁移 Tarek → netcup ✅ - 从 155.103.66.237:3800 迁移到 159.195.41.188:3800 - Docker: oc-monitor:latest, 镜像66MB+数据5MB+源码1.2MB - Nginx反代 + certbot HTTPS: https://openclaw.mjjvps.com (到期2026-05-26) - 5个节点agent全部更新上报地址: Mac mini/HDY/Tarek/N100/netcup - N100是OpenWrt,agent跑在Docker容器里的Node.js版(oc-monitor-agent.js) - Ciallo(155.103.67.87)节点已从面板删除 - Tarek旧容器+数据卷+镜像已清理 - Auth Token: D2DE595D2F9A6F12926212B326DA68BF - 踩坑: Nginx WebSocket配置不能写死Connection "upgrade",需用map变量 ## sub-bot 新部署 netcup ✅ - Bot Token: 8756357783:AAHKrQE7nuFxAbdyCW38X2wBu2tmVNrBBuw (来自155.103.67.87旧OpenClaw) - 部署: /opt/sub-bot, systemd sub-bot.service, python3 - 域名: https://substore.mjjtop.com (certbot到期2026-05-26) - HTTP订阅: https://substore.mjjtop.com/ead79f4a096586851100c5a39c2983b8/download?target=ClashMeta - SUB_SECRET: ead79f4a096586851100c5a39c2983b8 - 管理员: 165067365 - 这是新装的独立实例,xianyu上的旧sub-bot(@mjjvps_bot)不动 ## 155.103.67.87 (Ciallo) 状态 - SSH连接超时,机器可能没开 - 上面的OpenClaw待卸载(等机器恢复后处理) ## Tarek (155.103.66.237) 清理为测试机 ✅ - OpenClaw/Nginx/oc-monitor-agent/DStatus/certbot 全部卸载 - Docker容器和镜像清空(回收440MB) - 只剩基础系统+Docker引擎+fail2ban - 19G磁盘用9.5G,2G内存用389MB - 以后作为测试机使用 ## Ciallo (155.103.67.87) 清理 ✅ - OpenClaw/oc-monitor-agent/DStatus/哪吒/playwright 全部卸载 - npm清理703 packages,crontab清空 - 只剩基础系统+Docker引擎 - 20G磁盘用3.5G,2G内存用372MB - oc-monitor面板已删除Ciallo和Tarek节点 ## 财经快讯机器人 news-bot ✅ - Bot: @bookooobot_bot | Token: 8339960949:AAEbzWuGC81Ew4FN9Ple11J3QCwYooi3fXY - 部署: netcup /opt/news-bot, systemd news-bot.service - Mac源码: ~/.openclaw/workspace/projects/news-bot/ - 7个信息源: 金十数据/华尔街见闻/36氪/新浪财经/Google News/Finviz/TechCrunch - 国际源英文自动翻译中文(Google Translate免费API) - 新闻标题带可点击链接跳转原文 - AI评分过滤: >=8秒发, 6-7每30分钟汇总, <6不推 - 定时总结: 08:00/11:30/20:00 - 交互命令: /start /news /summary /sources /keywords /settings - 管理员: 165067365 ## NodeSeek 签到 - 朦胧: +5鸡腿,累计428 - VP404: 今天已签过,重复被拦截 ## News Bot 链接功能 ✅ - 所有7个源新闻标题加了可点击URL跳转原文 - 金十: flash_detail/{id}.html | 华尔街见闻: uri字段 | 36氪: 构造/newsflashes/{id} - 新浪: url字段 | Google/TechCrunch: RSS link标签 | Finviz: HTML href提取 - parse_mode 全部从 Markdown 改为 HTML(支持标签) - 已部署到 netcup ## Sub-Bot 分组管理功能 ✅ - 新增订阅分组功能,561行→812行(+260行) - 数据结构: sub_groups[] 每组有 id/name/secret/nodes - 功能: 创建/删除/重命名分组、添加节点到分组、独立订阅链接、重置链接(旧链接失效) - HTTP端点: /{group_secret}/download 自动匹配分组 - 三处同步: netcup(159.195.41.188) + xianyu(185.218.6.38) + Gitea(321bb43) - Mac备份: ~/.openclaw/workspace/scripts/gitea-backup/sub-bot/bot.py ## Sub-Bot 后续修复 ✅ - 检测改为只更新状态不删除节点(auto_cleanup不再自动删) - UI重构: 主菜单3入口(默认节点池/分组管理/全部检测) - 返回按钮修复: menu_back→sg_back 避免pattern冲突 - 分组检测+删除节点功能 - 默认池显示订阅链接+重置按钮(get_default_secret()从data.json读) - auto_cleanup完全移除,只保留手动检测 - 三态检测: 🟢通/🟡未知/🔴不通 + IEPL专线提示 - 最终同步: Gitea ea233c3 + netcup + xianyu + Mac备份 ## News-Bot 重复推送修复 ✅ - batch_items 立即 mark_pushed(不等到推送时) - _batch_queue 加 existing_ids 去重 - 清空数据重启 ## VPS-Reminder 恢复 ✅ - 从 HDY 备份(/data/backup/hdy/ on OVH)提取 vps-reminder 代码 - Bot token: 8300905342:AAH3Q78FuR5Exrw2zWYJHFRyVeLlws3xnww - 部署到 netcup /opt/vps-reminder/,systemd 启动 - 10台VPS数据完整恢复,每天09:00自动检查到期 - 改进续费功能: 新增自动续期选项(根据周期自动算下一到期日) + 手动输入日期 - 依赖: python-telegram-bot, python-dotenv, python-dateutil - Mac备份: ~/.openclaw/workspace/scripts/gitea-backup/vps-reminder/ ## Stock-Monitor (HDY备份) - 从 HDY 备份发现 /opt/tg-stock-monitor/ (商品库存监控Bot) - 暂未部署,待顶尖决定是否需要 ## EvoMap.ai 账号查看 - 账号: mf0@msn.com / @a110110 - 4个节点全部Offline: node_01885560ab27(OC2) / node_32e35d004633(OC3) / node_b59cc237cee2(HDY) / node_904d2652b8e2(Mac mini) - Published Assets: 0 | Credits: 0 | 每节点 Reputation 50 - My Questions: 1 (之前提过一个问题) - 当时注册了节点但没有成功发布Capsule/Gene ## OpenClaw 更新 - 2026.2.21-2 → 2026.2.24 ## Koipy 迁移 HK优→netcup (失败,已回滚) - 157.254.53.55 → 159.195.41.188 迁移尝试 - 错误1: 直接 docker pull latest 而不是用 koipy-linux-amd64.zip 覆盖二进制 - 错误2: sub-store 端口改成3002(因Gitea占3001),但外网访问不通 - 最终: netcup上Koipy+sub-store全部删除清理,迁移取消 - ⚠️ 教训: Koipy正确部署方式是 docker create基础镜像 → unzip koipy-linux-amd64.zip → docker cp覆盖 koipy/pyrogram/resources → 补i18n ## Koipy 部署 155.103.66.237 (Tarek测试机) - 用户提供 builtin.rar + koipy-linux-amd64.zip + config.yaml + sub-store-data - 解压builtin.rar(需装unrar),unzip koipy-linux-amd64.zip - docker create koipy-app(host网络) → docker cp覆盖binary/pyrogram/resources → 补i18n - sub-store: xream/sub-store, 端口映射 3001:3001 + 3000:3000 - ⚠️ sub-store v2.21.27: 后端3000 前端3001,Koipy config backend应指向3000不是3001 - config.yaml里 backend 已改为 http://172.17.0.1:3000/... - i18n: 从173.249.199.16(朋友机)拷贝zh-CN.yml覆盖(自定义菜单文字:流媒体解锁/拓扑测试/点我开始顶尖等) - Bot: @speedbot01_bot (7905907097) - 173.249.199.16是朋友的Koipy,只看不改,做参考用 ## ⚠️ Koipy 部署教训 - koipy-linux-amd64.zip 是正确的更新包,不是docker save/load镜像 - sub-store新版后端端口3000,前端3001,别搞混 - i18n文件在 resources/localization/zh-CN.yml,需拷贝到 resources/i18n/zh-CN.yml - 155.103.66.237 SSH用密码(fJ7#vP9s@tL2qX!d),koipy_key连不上 - config.yaml最终用157.254.53.55的原始配置覆盖(不要乱改别人的后端节点配置) ## netcup (159.195.41.188) 服务清单 Docker: - Gitea (gitea/gitea:latest, 端口3001→3000, SSH 2222→22) - oc-monitor (oc-monitor:latest, 端口3800) Systemd服务: - openclaw.service — OpenClaw Gateway (TG bot 8390351834) - news-bot.service — 财经快讯机器人 (@bookooobot_bot) - sub-bot.service — 订阅管理 Bot - vps-reminder.service — VPS到期提醒 Bot - oc-monitor-agent.service — OC Monitor Agent - nginx.service — 反代(mjjtop.com) + 短链 - docker.service - fail2ban.service ## news-bot 免打扰功能 - 设置菜单(/settings)新增免打扰按钮 - 默认21:00-8:30,可调整开始/结束时间 - 免打扰=静音通知(disable_notification),不是停止推送 - TG streaming已改off,解决持续"正在输入"问题