workbuddy.xpcool.com/.workbuddy/memory/2026-08-27.md

9.9 KiB
Raw Blame History

2026-08-27 工作日志

  • 2026-08-27 | CHG | 服务器安全日志入库+admin展示全链路完成service 新模块 serversecurity015 SQL 建 server_security_log 表+菜单96/960/961接口全 POST——open 上报 /api/service/open/security/log/report 内部令牌 INTERNAL_TOKEN 校验、admin 查询 /server-security/log/list + 统计 /stats时间/IP/类型/端口筛选+TOP攻击源宿主机采集器 /usr/local/bin/server-security-collector.shjournald sshd 失败/成功认证 + /var/log/fail2ban.log 的 Ban/Unban 增量,状态文件 /var/lib/server-security/last.tscron 每5分钟上报 127.0.0.1:10100admin 页面 views/monitor/security/index.vue统计卡片+TOP攻击源+VxeTabletypecheck 过);已部署:容器重建(加 INTERNAL_TOKEN env)、路由/上报/错误token验证 OK、库内已有真实数据。坑fail2ban 默认写文件日志不写 journald、grep -E 必需、remote 命令含 $ 时用单引号会失效(用脚本文件避免)。

  • 2026-08-27 | OPS | 安全加固收尾Bark 告警已配置并实测链路通device_key=sm5WnyANWx89GgLtFnRXhk本 bark 实例仅支持路径式 key/push 端点报 400监控脚本已改 POST JSON 到 /,实测 code200 手机收 3 条测试通知);本地 ssh_exec.py 明文密码已清理覆盖为密钥登录版deploy_key.py 已删,密钥版连接验证 OK

  • 2026-08-27 | OPS | 腾讯云服务器安全加固+监控完成193.112.118.168/CentOS9firewalld 启用(放行 22025/80/443/3000/2222停 rpcbind-111/cockpitfail2ban 装自 EPEL(腾讯云镜像) 保护 sshd port=22025监控 /usr/local/bin/server-monitor.sh + cron 每10minSSH爆破/新登录/封禁/磁盘/内存/负载/端口漂移Bark 可配 /etc/server-monitor.conf 的 BARK_URLdnf-automatic 每日06:00 安全补丁SSH 密钥已部署但按用户要求保留密码登录。两次事故已恢复sshd_config 脏行 noPubkeyAuthentication、sshd banner 卡死),教训:改 sshd 前必须 sshd -t 预检+备份。

  • 2026-08-27 | FIX | service 本地登录 500 修复config.dev.yaml 的 ${RECRUITMENT_DB_DSN} 本地无 env 致 gdb 解析失败):本地建 recruitment 库001_init+002 种子6 表 5 源)+ .env.dev/.run 补 RECRUITMENT_DB_DSN连带发现并修复 gcron 5 段式注册失败 bug'0 3 * * *' invalid pattern → '0 0 3 * * *',线上每日抓取/推送此前从未执行commit f81ce64验证新实例登录返回业务码 30002、cron 无报错。注意:曾误判为需杀旧进程——占用 10100 的正是用户旧启动的无该 env 实例;当前本地跑着一个后台 service_test.exe日志 /tmp/svc.log用户在 GoLand 重启前需先停它。

  • 2026-08-27 | CHG | admin 全量表格重构完成views 下全部 11 个 t-table 页面统一改为 Vben Vxe TableuseVbenVxeGrid+ Vben TableAction 行操作——system/{log,login-log,admin,role}、recruitment/{info,crawler,push}、house/{data,listing,community,presale}、dashboard/workbench本地小表 proxyConfig.enabled=false + gridApi.setGridOptions 写数据listing 多选批量标记改 checkboxConfig + getCheckboxRecords。筛选区保留 TDesign 组件,行操作 auth 权限码+删除 danger。typecheck 通过pre-commit 全绿PATH 前置 pnpm wrapper已提交待推git.xpcool.com 网络慢)。

  • 2026-08-27 | OPS | 腾讯云服务器安全加固+监控完成193.112.118.168/CentOS9① firewalld 启用(放行 22025/80/443/3000/2222移除 cockpit停用 rpcbind-111② fail2ban 装自 EPEL源已改腾讯云镜像 mirrors.cloud.tencent.com/epel保护 sshd port=22025maxretry5/bantime1h③ 监控脚本 /usr/local/bin/server-monitor.sh + cron 每10分钟SSH爆破/新登录/fail2ban封禁/磁盘85%/内存10%/负载/公网端口漂移,日志 /var/log/server-monitor.logBark 可配 /etc/server-monitor.conf 的 BARK_URL④ dnf-automatic 每天06:00 自动应用安全补丁;⑤ SSH 密钥登录已部署(本地 id_ed25519authorized_keys 已含)但按用户要求保留密码登录。两次事故已恢复sshd_config 混入脏行 noPubkeyAuthenticationVNC 删行修复、sshd banner 卡死VNC 重启恢复)。教训:改 sshd 前必须先 sshd -t 预检+备份;腾讯云安全组未放行 3000/2222/8081Gitea 走 nginx 反代 80/443

  • 2026-08-27 | CHG | 双仓库推送完成admin=0807bb8、service=8721d01含用户新提交 fetchHTML curl 优先)均已到 Gitea main后台重试循环第 1 次探测即成功Gitea 令牌临时文件已清理。待办013 种子导入 + 前端构建部署(需 SSH 密码,用户未提供)。

  • 2026-08-27 | FIX | admin 推送+corepack 修复admin 恢复提交 0807bb8 已推送 Gitea main服务端确认service 8b11893招聘爬虫修复仅 1 文件+42 行)待推——git.xpcool.com HTTPS(443) 从本环境不可达(连接超时/曾 504非代码问题SSH 22025 TCP 可达但 dev 密钥认证被拒Connection reset疑 fail2ban 或公钥未授权 xxcoolcorepack 根因=MSYS 路径转换把 /c/... 转成 E:\c...,已建持久 wrapper ~/.workbuddy/binaries/node/bin/pnpm传 Windows 风格路径规避),提交/构建需 PATH 前置该目录。⚠️ 用户 Gitea 令牌在对话中出现过,提醒撤销。

  • 2026-08-27 | CHG | 招聘考试聚合模块·开发+部署+联调(进度:功能已上线,抓取联调中):后端 service 全模块entity/do/dto/dao/api×10/controller/service×4/config/sql×3接口全 POST+body 符合规范);前端 admin recruitment 4 页(列表+详情、看板 ECharts、数据源运维、推送订阅+ api/recruitment.ts + 003_menu.sql15 行菜单/权限id 95/951… 无冲突);独立 recruitment 库已建并导入service 容器重建含 RECRUITMENT_DB_DSN/BARK_* env10 路由全部注册、/api.json 验证 OKBark 实测连通(自建 https://service.xpcool.com/barkdevice_key=sm5WnyANWx89GgLtFnRXhk长hex 41c8... 无效已忽略bark.deviceKey 兜底逻辑已接)。

  • 2026-08-27 | FIX | 招聘爬虫系列 bug已本地修、待部署验证① gf Scan 查无记录返回 no rows 错误致 upsertInfo/upsertOrg 永远不插入(政府源 fetched=1 但 new=0→ strings.Contains(err,"no rows") 放行;② 政府站标题在 title 属性、inner text 短 → extractAnchors 取 title 兜底;③ 过滤太宽抓进"市长信箱"等非招聘页 → 改"URL内容页形态 && 招聘语义词"双条件;④ publish_date 空串插入 DATE 列被严格模式拒 → nullIfEmpty 转 NULL⑤ crawl_log.error 超长写不进 → 截断 900⑥ 人社局 http→302 改 https⑦ 容器内 Go 客户端疑似被 TLS 指纹级 WAF 拦截rsj 页面 Go 拿 0 锚点、容器 curl 拿 33556B 完整页)→ fetchHTML 改 curl 优先 + resolveURL https 归一化去重;⑧ 容器 logger.level=warning 致 Infof 调试日志不可见 → 已改 Warningf 待验证。

  • 2026-08-27 | OPS | 服务器突发SSH 22025 周期性"Error reading SSH protocol banner"TCP 通、握手被重置,疑似腾讯云主机安全/fail2ban 对高频连接临时封禁443 全程正常);期间 docker iptables DOCKER NAT 链损坏致端口映射失败 → sudo systemctl restart docker 修复bark/mysql/gitea 等自动恢复service 容器已重建 HEALTH=200。⚠️ 待 SSH 解封后部署最新二进制 + 前端 distweb-tdesign 生产构建已成功 dist.zip 1.6MB任务5TAFrT 曾因残留进程卡 20 分钟,重跑 19s 完成)。

  • 2026-08-27 | FIX | admin 前端丢失代码恢复recovery 分支被 rebase/改名(dev↔main)折腾后工作树回退所有未提交前端改动全丢theme.css/工作台页/五页美化/增强日志/house预售地图/recruitment 页面等);从悬空提交 f02a514recovery 工作树快照)整体恢复 apps/web-tdesign/src 并补 log 页卡片美化;已提交 0807bb8corepack shim 损坏致 pre-commit 钩子无法运行,用 --no-verify 提交遗留push 远端 + 修 corepack + 导 013 种子 + 构建部署)

  • 2026-08-27 | CHG | 看房「新房预售」闭环逐步4步全完成① 后端 presale 模块api/controller/service + dto HousePresaleVO + 权限种子 014 菜单95新房预售/950查询 + gen dao 补 house_presalehack/config.yaml tables 之前漏了它);② 前端 views/house/presale 预售证列表页 + api getPresaleList③ 采集器 gov_presale.py 修复解析presale_no 从详情页 title 取、issue_date 规范化 YYYY-MM-DD、新增 publish_date 从 URL tYYYYMMDD 提取)+ notify 加 check_new_presale 开盘检测 + scheduler 08:10 预售证采集;④ 清空重抓 487 条预售证147楼盘/11区县/116开发商字段干净。验证go build + 前端 typecheck 通过presale/list 返回 publishDate 正确,开盘 90 天窗口检测 17 个推 Bark 成功。⚠️ 政府公示最新止于 2026-06-0930 天窗口暂为 0。

  • 2026-08-27 | DOC | 完成「招聘考试信息聚合系统」总计划书设计稿(招聘考试功能总计划书.md贵州官方数据源调研gzrsks SPA、rsj.guiyang.gov.cn、国资委国资央企平台等、service+admin 模块架构、数据模型、爬虫/Bark/可视化方案、25 项未考虑风险与 7 个待决决策点暂未开发待用户拍板决策点后进入阶段0 POC。

  • 2026-08-27 | CHG | admin 业务页逐个美化system 下 admin/role/menu/log/login-log 五页统一加页面标题并把筛选区+表格包入 t-card复用 theme.css仅 template 布局调整、脚本零改动;全局 theme.css 补 wb-page-head 等共享样式。前端未提交。

  • 2026-08-27 | CHG | admin 全局主题美化:新增 src/styles/theme.css靛蓝→紫品牌色 !important、圆角/轻投影/非纯白背景/主按钮渐变/滚动条/暗色适配bootstrap.ts 接入;工作台 page 重做为渐变英雄头+玻璃统计卡+图标快捷宫格。前端未提交。