docs+cleanup: mihomo 幽灵引用清理(CLAUDE.md 重写 frp 段/删过时脚本); 设计文档补 2026-07-15 落地修正(锚点迁 ali/家内DNS改DNS Server/smartRoute 注意)

This commit is contained in:
wangjia
2026-07-15 07:42:59 +08:00
parent a57c6720e3
commit 86e6423700
4 changed files with 31 additions and 99 deletions
+17 -44
View File
@@ -30,15 +30,15 @@ docker/
│ ├── .env.example # 复制为 .env 填入真实 token
│ └── runner/
│ └── config.yaml # act-runner 配置
── proxy/
├── docker-compose.yml # mihomo 容器
── mihomo/
├── config.yaml # 透明代理规则(uuid 用 <VLESS_UUID> 占位
│ └── .env.example # 复制为 .env 填入真实 UUID
└── dnsmasq/
└── dnsmasq.conf # 预备 DHCP 配置(暂未启用)
── frp/
├── docker-compose.yml # 历史遗留(实际部署走二进制+systemd,见 scripts/
── frpc.toml.example # frpc 配置模板(token 占位,真值在 Bitwarden
└── derp/ # Tailscale 自建 DERP(可选,未部署
```
> mihomo 透明代理 + dnsmasq 已于 2026-07-05 下线删除(配置见 git 历史 `docker/proxy/`)。
> ⚠️ 若 Windows192.168.3.88)网关/DNS 仍指向 NAS,需改回路由器,否则断网。
NAS 上实际路径:`/volume1/docker/<服务名>/`,与仓库 `docker/` 目录一一对应。
## Docker 服务
@@ -65,46 +65,20 @@ NAS 上实际路径:`/volume1/docker/<服务名>/`,与仓库 `docker/` 目
ssh nas "tail -f /volume1/docker/forgejo/data/gitea/log/gitea.log"
```
### mihomo(透明代理
### frp 内网穿透(frpcsystemd 常驻
局域网透明代理网关,Windows 设备(192.168.3.88)以 NAS 为默认网关。
在外经 `nas/git/win.yanmeiai.com` 访问家里(frps 锚点在 ali 北京,方案见 `docs/remote-access-frp.html`):
**架构:**
```
Windows (192.168.3.88)
└─ 网关 = 192.168.3.200DNS = 192.168.3.200
NAS mihomo (TUN 模式, Meta 接口)
├─ 国内流量 → DIRECTGEOSITE/GEOIP CN 匹配)
└─ 国外流量 → ec2-sg(新加坡 AWSVLESS + Reality
```
**关键配置:**
- 配置文件:`/volume1/docker/proxy/mihomo/config.yaml`
- DNS:端口 53fake-ip 模式,范围 198.18.0.0/15`fake-ip-persist: true`
- 混合代理端口:7890HTTP/SOCKS5,局域网可用)
- 管理 API`http://192.168.3.200:9090`
- 代理节点:VLESS + Reality**不使用** `flow: xtls-rprx-vision`,客户端和服务端均已移除)
- **frpc 二进制** `/usr/local/bin/frpc`,配置 `/volume1/docker/frp/frpc.toml`root:600,含 token 不入 git,模板见 `docker/frp/frpc.toml.example`
- systemd 服务 `frpc.service`Restart=always + MemoryLimit=64M);转发:git SSH/Web、DSM 5001、NAS SSH→10022、Windows RDP 3389 / SSH→10023
- 一键部署/重装:Mac 上跑 `bash scripts/setup-frp-remote.sh`(自动从 Bitwarden 取 token、代下载二进制、经 ssh 推送执行)
```bash
# 热重载配置(不重启容器
ssh nas "curl -s -X PUT 'http://127.0.0.1:9090/configs?force=true' \
-H 'Content-Type: application/json' \
-d '{\"path\":\"/root/.config/mihomo/config.yaml\"}'"
# 测试代理节点
ssh nas "curl -s 'http://127.0.0.1:9090/proxies/ec2-sg/delay?timeout=5000&url=https://www.cloudflare.com/cdn-cgi/trace'"
# 测试出口 IP
ssh nas "curl -s --max-time 10 --proxy 'socks5h://127.0.0.1:7890' https://ifconfig.me"
# 查看实时日志
ssh nas "curl -s http://127.0.0.1:9090/logs -N --max-time 10"
# 查看 frpc 状态与日志(NAS 上
sudo systemctl status frpc
sudo journalctl -u frpc -n 20 --no-pager
```
**dnsmasq(预备,未启用):**
配置文件已就绪(`docker/proxy/dnsmasq/dnsmasq.conf`),待未来启用 DHCP 自动分发时使用。启用前需将 mihomo DNS 端口从 53 改为 1053,并将 dnsmasq 加入 docker-compose.yml。
### jiu-db 自动备份
每天 02:00UTC+8)自动备份 jiu 项目 PostgreSQL,存至 `/volume1/docker/backups/jiu-db/`,格式 `jiu_db_YYYYMMDD_HHmmss.sql.gz`,保留约 16 天。
@@ -118,18 +92,17 @@ ssh nas "ls -lh /volume1/docker/backups/jiu-db/"
| 端口 | 服务 |
|------|------|
| 22 | SSH |
| 53 | mihomo DNSfake-ip |
| 80 / 443 | Synology nginx(反代 + DSM 重定向) |
| 2222 | Forgejo SSH |
| 3000 | Forgejo HTTP |
| 5000 / 5001 | DSM Web UIHTTP / HTTPS |
| 5432 | PostgreSQLlocalhost only |
| 6690 | Synology Drive |
| 7890 | mihomo 混合代理(HTTP/SOCKS5 |
| 9090 | mihomo 管理 API |
| 41641/udp | Tailscale WireGuard |
| 445 / 139 | SMB 文件共享 |
(frpc 无入站监听——只出站长连接到 ali:7000)
## Synology 反向代理
通过 DSM 内置 nginx 管理:**Control Panel → Login Portal → Advanced → 反向代理服务器**