From 8c3a24e9509485ce7f5f6fe9dda9d76df8bc1111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=8F=E7=8A=80=E9=BA=9F?= Date: Fri, 4 Sep 2026 00:38:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B8=A6=E5=AE=BD=E5=8D=87=E7=BA=A7=203M?= =?UTF-8?q?=E2=86=925M=20=E5=AE=9E=E6=B5=8B=E7=A1=AE=E8=AE=A4=E6=BB=A1?= =?UTF-8?q?=E9=80=9F=EF=BC=9B=E8=AE=B0=E5=BD=95=E5=AE=9E=E4=BE=8B=E5=86=B7?= =?UTF-8?q?=E9=87=8D=E5=90=AF=E8=87=B4=E9=98=B2=E7=81=AB=E5=A2=99=E8=A7=84?= =?UTF-8?q?=E5=88=99=E4=B8=A2=E5=A4=B1=E7=9A=84=E5=9D=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/2026-09-04.md | 2 ++ .workbuddy/memory/MEMORY.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.workbuddy/memory/2026-09-04.md b/.workbuddy/memory/2026-09-04.md index cd465df..dcdfc55 100644 --- a/.workbuddy/memory/2026-09-04.md +++ b/.workbuddy/memory/2026-09-04.md @@ -2,3 +2,5 @@ - 00:13 | CHG | file.xpcool.com 收尾:用户已验证 Quantum(v1.5.5) 可用,清理旧版部署。旧容器 `filebrowser` 实际已不存在(用户侧已移除),`/data/filebrowser` 数据目录 rm -rf 删除;`/data` 现仅剩 `filebrowser-q`(Quantum 数据) + `share`(文件源,两个 exe 完整无损);fbq 容器 healthy,公网页面正常。 - 00:17 | Q&A | 下载慢诊断:3M 带宽实为瓶颈。方法=nginx 临时加 `location = /speedtest.bin` alias 直出 50MB 测试文件(fallocate 生成),本机 curl 15s 采样实测 **377KB/s ≈ 2.95Mbps**(已达 3M 上限 ~98%),确认服务端无 limit_rate/无瓶颈,纯带宽限制。94MB 文件需 ~4.3 分钟。测后已还原 conf、删测试文件。提速选项待用户决策:升带宽 / 改按流量计费 / 对象存储+CDN。**坑**:本机 Windows 原生 curl 不支持 `-o /dev/null`(报 23),需写临时文件;本地代理 127.0.0.1:65195 已失效(10061),测速用 `--noproxy '*'` 直连。 +- 00:33 | FIX | **升级带宽触发实例重启 → SSH 22025 失联**(80/443 正常)。根因:腾讯云改带宽(切计费模式)需关机重启,重启后 firewalld 自定义端口规则丢失(疑似当时未 --permanent)。用户网页终端修复(启 sshd/补放行)后恢复;`uptime up 9 min` 印证重启。**教训:firewalld 放行务必 --permanent;云上实例冷重启后需复查 22025 防火墙规则**。全部容器 restart unless-stopped 自动恢复。 +- 00:35 | CHG | 带宽升级 **3M→5M 实测确认**:同法实测 **619KB/s ≈ 4.84Mbps**(5M 上限 94.5% 利用率,满速)。94MB 文件下载 ~2 分 39 秒(原 4 分 20 秒)。测试已还原(conf 无 speedtest 残留、share 仅两个正式 exe、站点 200)。 diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index 55aa303..27dc9fb 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -57,7 +57,7 @@ - 权限映射:admin_menu type=2 行的 path 必须匹配实际路由(现为 `POST /api/service/admin/...`,见 manifest/sql/007_menu_permissions_v3.sql)。 - 文件下载站(2026-09-03 上线,当晚迁移):`file.xpcool.com` = **FileBrowser Quantum** 容器 `fbq`(`gtstef/filebrowser:stable` v1.5.5,`127.0.0.1:10881→80`,restart unless-stopped,`/data/share:/srv:ro` **只读挂载**,数据卷 `/data/filebrowser-q`:config.yaml+database.db+tmp,属主=镜像 uid1000)+ nginx 反代。**要点**:初始凭据 **admin/admin**(首登后立即改密);配置走 `config.yaml`(sources/cacheDir),管理走网页 UI;API 与原版不兼容(需用户建 long-live token,/swagger 亦需);镜像默认非 root(uid1000);原版 filebrowser(容器 `filebrowser`/10880/db `/data/filebrowser/database`)已于 2026-09-01 归档、现已停用**保留回滚**;Quantum v2.0 beta 权限模型改 per-source(view/download/modify/create/delete)。改密/建只读账号/临时分享(过期+密码+匿名)均在网页 UI。 - SSH 凭据/密码不入库,需要时询问用户或查对话记忆;远程批量命令用 paramiko 脚本(`%TEMP%\wb_deploy\ssh_exec.py`,支持第 2 参数超时秒数),docker build 用服务器端 nohup+日志轮询防超时。**(2026-09-03 实测/更新)**:当前登录 = 项目目录 `CentOS.pem`(RSA) → `xxcool@193.112.118.168:22025`(root 被拒;密码登录已禁);安全组按出口 IP 限放 22025(本机出口 1.204.105.116 曾因未放行连不上,80/443 可达);本机旧记录 `~/.ssh/id_ed25519` 与 wb_deploy 脚本**在当前设备不存在**。 -- **服务器安全加固(2026-08-27 完成)**:firewalld 已启用(放行 22025/80/443/3000/2222;cockpit/rpcbind 已停);fail2ban 保护 sshd(port=22025, maxretry5/bantime1h);监控脚本 `/usr/local/bin/server-monitor.sh` + cron 每 10 分钟(日志 `/var/log/server-monitor.log`,Bark 推送配 `/etc/server-monitor.conf` 的 `BARK_URL`);dnf-automatic 每天 06:00 自动安全补丁;SSH 密钥登录已部署(本地 `~/.ssh/id_ed25519`)但用户要求保留密码登录。**坑**:① 腾讯云安全组未放行 3000/2222/8081,Gitea 走 nginx 反代 80/443;② 改 sshd 前必须先 `sshd -t` 预检+备份(曾因脏行导致 SSH 断开);③ EPEL 源需腾讯云镜像(`mirrors.cloud.tencent.com/epel`)且 baseurl 必须手动写全;④ CentOS9 的 fail2ban 在 EPEL。 +- **服务器安全加固(2026-08-27 完成)**:firewalld 已启用(放行 22025/80/443/3000/2222;cockpit/rpcbind 已停);fail2ban 保护 sshd(port=22025, maxretry5/bantime1h);监控脚本 `/usr/local/bin/server-monitor.sh` + cron 每 10 分钟(日志 `/var/log/server-monitor.log`,Bark 推送配 `/etc/server-monitor.conf` 的 `BARK_URL`);dnf-automatic 每天 06:00 自动安全补丁;SSH 密钥登录已部署(本地 `~/.ssh/id_ed25519`)但用户要求保留密码登录。**坑**:① 腾讯云安全组未放行 3000/2222/8081,Gitea 走 nginx 反代 80/443;② 改 sshd 前必须先 `sshd -t` 预检+备份(曾因脏行导致 SSH 断开);③ EPEL 源需腾讯云镜像(`mirrors.cloud.tencent.com/epel`)且 baseurl 必须手动写全;④ CentOS9 的 fail2ban 在 EPEL。**⑤(2026-09-04 新坑)腾讯云改带宽若切计费模式会触发实例冷重启,重启后 firewalld 自定义端口规则曾丢失致 SSH 22025 失联(80/443 正常)——firewall-cmd 放行务必带 `--permanent`,且实例冷重启后要复查 22025 放行**。另:带宽 3M→5M 已升级(2026-09-04,实测 619KB/s 满速)。 - 本地 pnpm 修复(2026-08-27 升级为 wrapper 方案):根因=本环境 MSYS 路径转换故障,把 `/c/...` 参数转成 `E:\c\...`(多 `E:\c\` 前缀)致 corepack shim 与 node 都找不到 pnpm.js。**已建持久 wrapper**:`~/.workbuddy/binaries/node/bin/pnpm`(内容:`export NODE_OPTIONS=--experimental-sqlite; exec "<托管node.exe>" "C:/Users/ybtdevxxl/.workbuddy/binaries/node/workspace/node_modules/pnpm/bin/pnpm.cjs" "$@"`,关键=给 node 传 Windows 风格路径 `C:/...` 规避 MSYS 转换)。**提交/构建前需 `PATH="~/.workbuddy/binaries/node/bin:$PATH"` 前置**,pre-commit 钩子(lefthook oxlint/oxfmt/eslint/stylelint/checkType)即可正常运行;否则钩子崩 → 只能 --no-verify。已验证 pnpm 11.16.0 + `pnpm exec oxlint` 1.79.0。 ## 日常同步习惯(建议)