diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..54cb203 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index 0c7945a..2fa846e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # VPS 流量转发配置 基于 **Xray + Nginx SNI 分流 + Mihomo TUN 透明代理 + WireGuard**,实现: -内网服务反向代理、多 VPS 链路中转、BT 透明代理、Minecraft UDP 转发。 +内网服务反向代理、多 VPS 链路中转、BT 透明代理、Minecraft UDP 转发、NAS 外网加速入口(香港 → 东京 → 内网)。 --- @@ -10,14 +10,14 @@ | 设备 | IP / 域名 | 角色 | |---|---|---| | **北京 VPS** | `salmonstill.cn` / `49.232.242.90` | 公网入口,Nginx + Xray + socat + WireGuard | -| **搬瓦工 VPS** | `67.230.189.235` | 代理出口,Xray Reality 入站(客户端直连) | +| **搬瓦工 VPS** | `74.82.200.116`(日本东京 / Ubuntu 24.04) | 代理出口、**NAS 外网转发入口**(Xray `portal-jp`)、**SearXNG**(:8080) | | **旁路由** | `192.168.1.199` / WG `10.0.0.2` | 内网核心,Xray bridge + Mihomo 代理 | | **NAS** | `192.168.1.188` | 绿联云 UGOS,思源笔记等服务 | | **qBittorrent** | `192.168.1.200` (macvlan) | PT 下载,独立 IP | | **Windows** | `192.168.1.177` | 内网办公,SSH | | **Spark** | `192.168.1.166` | Ubuntu 主机,本地 TUN 代理 | | **iPhone** | WG `10.0.0.3` | WireGuard 客户端,远程访问内网 | -| **Mac** | WG `10.0.0.4` | WireGuard 客户端,远程访问内网 | +| **Mac** | WG `10.0.0.4`(未启用) | 已装 WireGuard.app,**当前没有隧道配置**;需要时按「客户端配置」添加 | --- @@ -34,7 +34,13 @@ **端口 9447 — 数据中心回落**:Reality 探针/探测流量回落到此,按 SNI 代理到真实网站。 -搬瓦工 VPS(部署 `代理vps-stream.conf` + `xray-代理服务器-config.json`):`www.cloudflare.com` → Xray :9443,默认 → NPM。 +搬瓦工/东京 VPS(部署 `代理vps-stream.conf` + `xray-代理服务器-config.json`)—— 同一个 443 按 SNI 分三路: + +| SNI | 后端 | 端口 | 用途 | +|---|---|---|---| +| `www.cloudflare.com` | Xray `vless-jp` | :9443 | Mihomo 客户端代理入口(Reality);未匹配到 bridge 域名的流量 → `direct` 出网 | +| `drive-jp.salmonstill.cn` | NAS | :38653 | 香港访问 NAS 的快速入口 → `portal-jp` → 反向隧道回旁路由 | +| 默认 | — | :8443 | **NPM 未部署,这条兜底当前是断的**(留作占位) | --- @@ -132,10 +138,68 @@ > 所有显式端口规则优先于 catch-all,现有端口转发不受影响。 -### 搬瓦工 VPS (`xray-代理服务器-config.json`) +### 搬瓦工 / 东京 VPS (`xray-代理服务器-config.json`) -极简:VLESS+Reality 入站 `:9443`(SNI=www.cloudflare.com, dest=www.cloudflare.com),freedom 出站。 -所有客户端(Spark、旁路由、macOS)直连此服务器,不再经北京 VPS 中转。 +**这台现在同时干三件事**(已从美国迁到日本东京,IP `74.82.200.116`,主机 `classic-hops-2`,Ubuntu 24.04): + +| 职责 | 入口 | 出站 | 说明 | +|---|---|---|---| +| 代理出口 | nginx `443` SNI=`www.cloudflare.com` → `vless-jp:9443` | `direct` | Mihomo 客户端直连,Reality(dest=www.cloudflare.com),不经北京中转 | +| NAS 转发入口 | nginx `443` SNI=`drive-jp.salmonstill.cn` → `nas:38653` → `external_nas_jp` | `portal-jp` | 香港访问 NAS 的快速通道,反向隧道回旁路由 | +| SearXNG | `0.0.0.0:8080`(docker,compose 在 `/opt/searxng`) | — | 公网可直接访问;无反代、无 TLS,服务器上也没有防火墙 | + +**Xray 配置**:`inbounds` = `vless-jp(9443)` + `external_nas_jp(38653)`;`reverse.portals` = `portal-jp`;`routing` 三条: + +```jsonc +{ "inboundTag": ["external_nas_jp"], "outboundTag": "portal-jp" }, // NAS 流量送进隧道 +{ "inboundTag": ["vless-jp"], "domain": ["full:reverse-proxy-jp.xray.internal"], "outboundTag": "portal-jp" }, // bridge 注册 +{ "inboundTag": ["vless-jp"], "outboundTag": "direct" } // 其余 = 代理客户端 +``` + +> ⚠️ **两条 `vless-jp` 规则里,带 domain 的那条不能省**:东京这台 **Reality 入站是「代理客户端 + bridge」共用的**(不像北京那台 `interconn` 是 bridge 专用)。只写 `vless-jp → portal-jp` 而不按域名区分,会把你**正常的代理流量也推进隧道**,代理立刻断掉。**这是本架构里唯一不能照抄北京的地方。** + +### 香港 → NAS 快速入口 (`drive-jp.salmonstill.cn`) + +**背景**:走老的 `drive.salmonstill.cn`(北京入口)进 NAS,瓶颈在腾讯云的峰值带宽。改用搬瓦工(东京,大带宽)做入口,香港侧更快。 + +**链路** + +``` +香港 → drive-jp.salmonstill.cn (74.82.200.116:443, SNI=drive-jp.salmonstill.cn) + → nginx 按 SNI 分流 → 127.0.0.1:38653 (dokodemo external_nas_jp) + → portal-jp → 反向隧道(旁路由 bridge-jp 主动注册) + → bridge-jp : 38653 → to_nas → 192.168.1.188:9443 +``` + +**两侧改动**(均已部署验证) + +| 侧 | 文件 | 改动 | +|---|---|---| +| 东京 | `/etc/nginx/nginx.conf` 的 stream 块(**内联,不是独立 conf 文件**) | map 加 `drive-jp.salmonstill.cn nas;`,新增 `upstream nas → 127.0.0.1:38653` | +| 东京 | `/usr/local/etc/xray/config.json` | `reverse.portals: portal-jp`、入站 `external_nas_jp`(dokodemo 38653)、上面那三条 routing | +| 旁路由 | `/etc/xray/config.json` | 第二个 bridge `bridge-jp`、出站 `interconn-jp`(直连东京 Reality)、2 条 `bridge-jp` 路由规则 | + +**关键设计** + +- 两条路的 `38653` **共用同一个出站 `to_nas`** → **NAS 侧(端口、证书)完全不用改** +- TLS 全程**透传到 NAS**,出示的是 NAS 那张自签 `CN=UGREEN` 证书;新域名走新 SNI,与老路径互不影响 +- 旁路由原有 **20 条 bridge 规则、`interconn-balancer`、`socks-lan` 全部未动**(`git diff --numstat` = `53 0`,纯新增) +- 两条路可以并存:老的 `drive.salmonstill.cn` 仍走北京,新的 `drive-jp.salmonstill.cn` 走东京 + +**验收** + +```bash +# 端到端(应完成 TLS 握手并返回 307;NAS 是自签证书,所以要 -k) +curl -vkI --resolve drive-jp.salmonstill.cn:443:74.82.200.116 https://drive-jp.salmonstill.cn + +# 东京侧:dokodemo 在听 + bridge 已注册 +ss -tlnp | grep 38653 +journalctl -u xray | grep -E 'portal-jp|reverse-proxy-jp' | tail +``` + +**备份(东京)**:`/etc/nginx/nginx.conf.bak-20261008-083207`、`/usr/local/etc/xray/config.json.bak-20261008-083207` + +**部署顺序**:官方建议**先起 bridge、再起 portal** 最稳。反过来(portal 先起)时实测出现过「bridge 注册成功但数据不通」的半死状态,**重启一次 bridge 即可恢复**。 --- @@ -148,22 +212,22 @@ | 端口 | 类型 | 路由 | 用途 | |---|---|---|---| | `7890` | mixed | 按规则分流 | 本地服务默认代理 | -| `7891` | mixed | 全部走 US-Direct | 全局国外代理 | +| `7891` | mixed | 全部走 US-Direct(内网/保留网段直连) | 全局国外代理 | | `7892` | mixed | 全部直连 | 全局国内直连 | 配合 **fake-ip DNS**(`enhanced-mode: fake-ip`),DNS 请求返回 `198.18.x.x` 假 IP,强制流量进入代理路由。 **代理节点**: -- `US-Direct` — VLESS+Reality → `67.230.189.235:443`(默认国外出口,客户端直连搬瓦工,SNI=www.cloudflare.com) +- `US-Direct` — VLESS+Reality → `74.82.200.116:443`(默认国外出口,客户端直连搬瓦工,SNI=www.cloudflare.com) > `Xray-Real` 代理节点(经北京 VPS 中转)已移除,Mihomo 全部直连搬瓦工。 **关键策略组**: - 国外 → `[US-Direct, 直连]` -**防死循环 IP**:`49.232.242.90`(北京 VPS)、`67.230.189.235`(搬瓦工 VPS)强制直连。 +**防死循环 IP**:`49.232.242.90`(北京 VPS)、`74.82.200.116`(搬瓦工 VPS)强制直连。 -**额外监听器**:`:7891`(全局→US-Direct)、`:7892`(强制直连) +**额外监听器**:`:7891`(全局→US-Direct,内网/保留网段直连)、`:7892`(强制直连) ### macOS (`非tun模式的主机mihomo config.yaml`) @@ -179,6 +243,42 @@ launchctl load ~/Library/LaunchAgents/com.mihomo.proxy.plist 本地 TUN 模式(`stack: system`),不依赖旁路由网关。设备重启后 `auto-route` 自建路由表,稳定可靠。监听器 `:7890` + `:7891` + `:7892`,节点直连 US-Direct。 +### 内网网段直连(三份配置一致) + +内网/保留网段**永远直连**,绝不出国: + +| 网段 | 用途 | +|---|---| +| `192.168.0.0/16` | 家庭 LAN(NAS `1.188`、旁路由 `1.199`、Spark `1.166`、qBit `1.200`、Windows `1.177`) | +| `10.0.0.0/8` | WireGuard 虚拟网段(`10.0.0.1~10.0.0.4`) | +| `172.16.0.0/12` | Docker bridge(Spark `172.20.0.1` 等) | +| `100.64.0.0/10` | CGNAT / 运营商大内网 | +| `127.0.0.0/8`、`169.254.0.0/16` | 本机回环、链路本地 | +| `224.0.0.0/4`、`240.0.0.0/4` | 组播(mDNS/SSDP 发现)、保留段 | + +**实现方式(两处改动同时生效)**: + +1. `rules:` **最顶部**的 8 条显式 `IP-CIDR,<网段>,直连,no-resolve`。 + 不依赖 `RULE-SET,Private_IP`(该 rule-provider 是启动时从 GitHub 下载的,下载失败/被墙时为空,内网流量会一路落到 `MATCH,其他 → 国外` 被送出国——这正是加显式规则的原因)。`no-resolve` 避免为内网 IP 触发公网 DoH 解析。 +2. `sub-rules.lan-direct-global` + `listeners: global-mixed` 的 `rule: lan-direct-global`。 + `:7891` 原来的 `proxy: US-Direct` 会**完全绕过 rules**,所以经 7891 访问 `192.168.x` 一定被送到搬瓦工;改成子规则后:内网/保留网段 → `直连`,其余仍 `MATCH,US-Direct`(全局代理语义不变)。注意 `proxy` 与 `rule` 同时存在时 `proxy` 优先,排查时先确认 7891 上没有残留 `proxy:` 字段。 + +> `fake-ip` 段 `198.18.0.0/16` **不能**加进直连,否则代理路由失效。 +> `sub-rules` / listener `rule` 需要 mihomo ≥ v1.19(本机验证版本 `Mihomo Meta v1.19.22`)。若某台设备版本过低,`mihomo -t` 会直接报错:此时保留 `rules` 里的显式 `IP-CIDR`(所有版本都支持),把该台 7891 还原成 `proxy: US-Direct`,内网访问改用 `7890`。 + +**验收**: + +```bash +# 内网直连(应成功,且 mihomo 日志出站为 直连):把 换成同网段任意内网设备 +curl -x http://127.0.0.1:7891 http://:5005 -I +# 全局代理语义不变(应返回搬瓦工出口 IP) +curl -s -x http://127.0.0.1:7891 https://ip.sb +# 查看活跃连接的实际出站链 +curl -s http://127.0.0.1:9090/connections | grep -E '192\.168|10\.' +# mihomo 日志里可直接看到匹配到的规则 +# [TCP] 127.0.0.1:xxxxx --> 192.168.x.x:5005 match IPCIDR(192.168.0.0/16) using 直连 +``` + ## qBittorrent 透明代理 @@ -668,7 +768,9 @@ PersistentKeepalive = 25 #### Mac -同上,`Address = 10.0.0.4/32`,PrivateKey 换成 Mac 的。 +配置同上,`Address = 10.0.0.4/32`,PrivateKey 换成 Mac 的。 + +> ⚠️ **实际状态(2026-10-08 核对)**:Mac 上 `WireGuard.app` 已安装,但**没有任何隧道配置、也没有活跃的 WG 接口**(`ifconfig` 里看不到 `10.0.0.4`)。需要远程进内网时,先在 app 里添加上面这份配置。 > AllowedIPs 只含虚拟网段和内网网段 → split tunnel,仅内网流量走隧道,不影响正常上网。 @@ -990,7 +1092,7 @@ sudo tcpdump -i bridge0 udp port 19132 -n ### 路径 2:代理翻墙(直连搬瓦工) ``` -Mihomo 客户端 → 67.230.189.235:443 (SNI=www.cloudflare.com) +Mihomo 客户端 → 74.82.200.116:443 (SNI=www.cloudflare.com) → Nginx 分流 → Xray :9443 → freedom → 互联网 ``` @@ -1016,21 +1118,58 @@ BT Peer → salmonstill.cn:51413 → portal → 隧道 → bridge → to_qbit → bridge → catch-all direct → 任意 LAN IP:PORT ``` +### 路径 7:香港 → NAS 快速入口(东京) +``` +香港 → drive-jp.salmonstill.cn (74.82.200.116:443, SNI=drive-jp.salmonstill.cn) + → nginx 按 SNI 分流 → 127.0.0.1:38653 (external_nas_jp) → portal-jp + → 反向隧道(旁路由 bridge-jp 主动注册) + → bridge-jp : 38653 → to_nas → 192.168.1.188:9443 +``` + +> 与路径 1 的区别:入口从北京换到东京(大带宽),旁路由侧走 `bridge-jp`,**其余完全一样**,两条路并存。 + | 文件 | 目标设备 | 部署路径 | |---|---|---|---| | `北京vps-stream.conf` | 北京 VPS | `/etc/nginx/nginx.conf` 的 `stream {}` 块 | | `xray-北京vps-config.json` | 北京 VPS | `/usr/local/etc/xray/config.json` | -| `代理vps-stream.conf` | 搬瓦工 VPS | `/etc/nginx/nginx.conf` 的 `stream {}` 块 | -| `xray-代理服务器-config.json` | 搬瓦工 VPS | `/usr/local/etc/xray/config.json` | +| `代理vps-stream.conf` | 搬瓦工 / 东京 VPS | `/etc/nginx/nginx.conf` 的 `stream {}` 块(**内联**) | +| `xray-代理服务器-config.json` | 搬瓦工 / 东京 VPS | `/usr/local/etc/xray/config.json` | | `xray-旁路由-config.json` | 旁路由 | `/etc/xray/config.json` | | `旁路由的mihomo config.yaml` | 旁路由 | `/opt/mihomo/config.yaml` | -| `非tun模式的主机mihomo config.yaml` | macOS | `~/Library/Application Support/mihomo/config.yaml` (launchctl 管理) | -| `tun模式的主机mihomo config.yaml` | Spark (Ubuntu) | `/opt/mihomo/config.yaml` -| `subscribe-7891-only.yaml` | 通用 | 精简版模板(单独 7891 端口) | -| `qbittorrent流量转发.md` | — | 方案文档(已合并到 README,可删除) | -| `我的世界udp转发.md` | — | 方案文档(已合并到 README,可删除) | +| `非tun模式的主机mihomo config.yaml` | macOS | **`/opt/mihomo/config.yaml`**(launchd `com.mihomo.proxy`,plist 里 `-d /opt/mihomo`;另有 `/opt/mihomo/start.sh` 可手动起) | +| `tun模式的主机mihomo config.yaml` | Spark (Ubuntu) | `/opt/mihomo/config.yaml` | +| `my_deepseek.sh` | macOS | 本机辅助脚本 | +| `qbittorrent流量转发.md` / `我的世界udp转发.md` | — | 方案文档,内容已并入 README;**文件仍保留在仓库里** | +| `旁路由备份/` | — | ImmortalWrt 配置备份 tar.gz | +| `dsh-local-403-fix/` | — | DSH 本地补丁工程(与本套网络无关) | + +--- + +## 远程运维约定(tmux) + +**在香港远程改旁路由的 xray / 网络配置,一律先开 tmux:** + +```bash +tmux new -s x +# 在里面改配置、重启服务 +``` + +原因:香港到旁路由的 SSH **走的就是那条反向 bridge**(`salmonstill.cn:38657 → portal → 隧道 → bridge → to_router_ssh → 192.168.1.199:22`)。一重启 xray 隧道就断,你自己的会话立刻死;命令跑到一半被杀,可能留下半残状态。tmux 挂在机器上,会话断了命令照样跑完。 + +**救援通道(xray 挂了、SSH 进不去时用)** + +``` +香港 → ssh root@49.232.242.90 # 北京 VPS,公网直连,不经任何隧道 + → ping -c3 10.0.0.2 # WireGuard 到旁路由(10.0.0.2 能通) + → ssh @192.168.1.166 # Spark(走 WG 转发进 LAN) + → ssh root@192.168.1.199 # 旁路由(LAN 内,防火墙放行) +``` + +> ⚠️ **不能直接 `ssh 10.0.0.2`**:WG 那块的 zone 只放行了「转发到 LAN」,到**路由器自己**的 INPUT 是 REJECT,会得到 `Connection refused`(但 `ping` 通,别被误导)。 + +**重建隧道**:`/etc/init.d/xray restart`;配置有问题时回滚 `/etc/xray/config.json.bak`。 --- @@ -1042,14 +1181,20 @@ BT Peer → salmonstill.cn:51413 → portal → 隧道 → bridge → to_qbit 3. 北京 VPS: 部署 Xray → systemctl restart xray 4. 北京 VPS: 部署 WireGuard → wg-quick@wg0 5. 北京 VPS: 部署 socat → systemctl start mc-forward -6. 搬瓦工 VPS: 部署 Nginx + Xray +6. 搬瓦工 / 东京 VPS: + 6.1 部署 Nginx(stream 块内联在 /etc/nginx/nginx.conf)→ nginx -t && systemctl reload nginx + 6.2 部署 Xray(含 portal-jp)→ xray run -test -c /usr/local/etc/xray/config.json && systemctl restart xray + 6.3 SearXNG: docker compose -f /opt/searxng/docker-compose.yml up -d 7. 旁路由: 部署 Xray → /etc/init.d/xray restart + ⚠️ 顺序:先 6.2(portal)再 7(bridge);反了可能「注册成功但数据不通」,重启一次 bridge 即恢复 8. 旁路由: 部署 Mihomo → /etc/init.d/mihomo restart 9. 旁路由: 配置 WireGuard + 端口转发 + SNAT(LuCI) 10. NAS: 创建 macvlan 网络 → 启动 qBittorrent 容器 11. NAS: 启动 Minecraft 容器 ``` +> 所有远程改动都在 `tmux` 里做(见上)。 + --- ## 验证命令 @@ -1059,9 +1204,12 @@ BT Peer → salmonstill.cn:51413 → portal → 隧道 → bridge → to_qbit ss -tlnp | grep -E '944[345]|3865[3-8]|51413|10809' systemctl status nginx xray wg-quick@wg0 mc-forward -# 搬瓦工 VPS -ss -tlnp | grep -E '443|9443' +# 搬瓦工 / 东京 VPS +ss -tlnp | grep -E '443|9443|38653' # 443 nginx / 9443 Reality / 38653 NAS dokodemo systemctl status nginx xray +journalctl -u xray | grep -E 'portal-jp|reverse-proxy-jp' | tail # bridge 注册情况 +curl -skI https://drive-jp.salmonstill.cn/ # 应返回 307(香港侧执行) +docker ps | grep searxng # SearXNG # 旁路由 ss -tlnp | grep -E '789[0-2]|1080' # Mihomo 端口 + Xray socks-lan diff --git a/dsh-local-403-fix/.DS_Store b/dsh-local-403-fix/.DS_Store new file mode 100644 index 0000000..202b422 Binary files /dev/null and b/dsh-local-403-fix/.DS_Store differ diff --git a/tun模式下的主机mihomo config.yaml b/tun模式下的主机mihomo config.yaml index 6bf227d..1bb1efb 100644 --- a/tun模式下的主机mihomo config.yaml +++ b/tun模式下的主机mihomo config.yaml @@ -64,7 +64,7 @@ proxies: - name: US-Direct type: vless - server: 67.230.189.235 + server: 74.82.200.116 port: 443 uuid: "4d222c16-53bb-4402-814e-c8188cebcea6" udp: true @@ -279,7 +279,7 @@ listeners: port: 7891 listen: 127.0.0.1 udp: true - proxy: US-Direct + rule: lan-direct-global # 内网/保留网段直连,其余仍全走 US-Direct - name: direct-mixed type: mixed @@ -294,16 +294,40 @@ listeners: listen: 172.20.0.1 udp: true +# ======================== +# 子规则:7891 全局代理但内网直连 +# ======================== +sub-rules: + lan-direct-global: + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve + - MATCH,US-Direct + # ======================== # rules # ======================== rules: + # ===== 内网/保留网段强制直连(不依赖 rule-provider 下载)===== + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve - DOMAIN,vs18.bj2cu.u3.ucweb.com,拒绝 - DOMAIN-SUFFIX,salmonstill.cn,直连 - DOMAIN-SUFFIX,hf-mirror.com,国内 - DOMAIN-KEYWORD,raylink,直连 - IP-CIDR,49.232.242.90/32,直连 - - IP-CIDR,67.230.189.235/32,直连 + - IP-CIDR,74.82.200.116/32,直连 - DOMAIN-SUFFIX,ubuntu.com,国外 - DOMAIN-SUFFIX,canonical.com,国外 - DOMAIN-SUFFIX,okx.com,国外 diff --git a/xray-代理服务器-config.json b/xray-代理服务器-config.json index 7e0ca97..28bd85d 100644 --- a/xray-代理服务器-config.json +++ b/xray-代理服务器-config.json @@ -2,8 +2,17 @@ "log": { "loglevel": "warning" }, + "reverse": { + "portals": [ + { + "tag": "portal-jp", + "domain": "reverse-proxy-jp.xray.internal" + } + ] + }, "inbounds": [ { + "tag": "vless-jp", "listen": "127.0.0.1", "port": 9443, "protocol": "vless", @@ -33,6 +42,17 @@ ] } } + }, + { + "tag": "external_nas_jp", + "listen": "127.0.0.1", + "port": 38653, + "protocol": "dokodemo-door", + "settings": { + "address": "127.0.0.1", + "port": 38653, + "network": "tcp" + } } ], "outbounds": [ @@ -40,5 +60,33 @@ "protocol": "freedom", "tag": "direct" } - ] + ], + "routing": { + "rules": [ + { + "type": "field", + "inboundTag": [ + "external_nas_jp" + ], + "outboundTag": "portal-jp" + }, + { + "type": "field", + "inboundTag": [ + "vless-jp" + ], + "domain": [ + "full:reverse-proxy-jp.xray.internal" + ], + "outboundTag": "portal-jp" + }, + { + "type": "field", + "inboundTag": [ + "vless-jp" + ], + "outboundTag": "direct" + } + ] + } } diff --git a/xray-旁路由-config.json b/xray-旁路由-config.json index 4f9acaa..ccda382 100644 --- a/xray-旁路由-config.json +++ b/xray-旁路由-config.json @@ -12,6 +12,10 @@ { "tag": "bridge", "domain": "reverse-proxy.xray.internal" + }, + { + "tag": "bridge-jp", + "domain": "reverse-proxy-jp.xray.internal" } ] }, @@ -302,6 +306,37 @@ } } }, + { + "tag": "interconn-jp", + "protocol": "vless", + "settings": { + "vnext": [ + { + "address": "74.82.200.116", + "port": 443, + "users": [ + { + "id": "4d222c16-53bb-4402-814e-c8188cebcea6", + "encryption": "none", + "flow": "xtls-rprx-vision" + } + ] + } + ] + }, + "streamSettings": { + "network": "raw", + "security": "reality", + "realitySettings": { + "show": false, + "fingerprint": "chrome", + "serverName": "www.cloudflare.com", + "password": "jr_zQjC4mvlQITuG5Ap5Mxqe5EBbGyyvwbVLDEi8OCA", + "shortId": "a1b2c3d4", + "spiderX": "/" + } + } + }, { "tag": "direct", "protocol": "freedom" @@ -324,6 +359,24 @@ ], "outboundTag": "to_beijing_direct" }, + { + "type": "field", + "inboundTag": [ + "bridge-jp" + ], + "domain": [ + "full:reverse-proxy-jp.xray.internal" + ], + "outboundTag": "interconn-jp" + }, + { + "type": "field", + "inboundTag": [ + "bridge-jp" + ], + "port": "38653", + "outboundTag": "to_nas" + }, { "type": "field", "inboundTag": [ diff --git a/代理vps-stream.conf b/代理vps-stream.conf index 7ba1725..10c24eb 100644 --- a/代理vps-stream.conf +++ b/代理vps-stream.conf @@ -1,11 +1,15 @@ stream { map $ssl_preread_server_name $backend { - www.cloudflare.com xray; - default npm; + www.cloudflare.com xray; + drive-jp.salmonstill.cn nas; # NAS 入口(TLS 透传到 NAS) + default npm; } upstream xray { server 127.0.0.1:9443; } + upstream nas { + server 127.0.0.1:38653; + } upstream npm { server 127.0.0.1:8443; } diff --git a/旁路由的mihomo config.yaml b/旁路由的mihomo config.yaml index 797df45..fe51f99 100644 --- a/旁路由的mihomo config.yaml +++ b/旁路由的mihomo config.yaml @@ -56,7 +56,7 @@ proxies: - name: US-Direct type: vless - server: 67.230.189.235 + server: 74.82.200.116 port: 443 uuid: "4d222c16-53bb-4402-814e-c8188cebcea6" udp: true @@ -271,7 +271,7 @@ listeners: port: 7891 listen: 0.0.0.0 udp: true - proxy: US-Direct + rule: lan-direct-global # 内网/保留网段直连,其余仍全走 US-Direct - name: direct-mixed type: mixed @@ -280,16 +280,40 @@ listeners: udp: true proxy: 直连 +# ======================== +# 子规则:7891 全局代理但内网直连 +# ======================== +sub-rules: + lan-direct-global: + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve + - MATCH,US-Direct + # ======================== # rules # ======================== rules: + # ===== 内网/保留网段强制直连(不依赖 rule-provider 下载)===== + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve - DOMAIN,vs18.bj2cu.u3.ucweb.com,拒绝 - DOMAIN-SUFFIX,salmonstill.cn,直连 - DOMAIN-SUFFIX,volces.com,直连 - DOMAIN-KEYWORD,raylink,直连 - IP-CIDR,49.232.242.90/32,直连 - - IP-CIDR,67.230.189.235/32,直连 + - IP-CIDR,74.82.200.116/32,直连 - DOMAIN-SUFFIX,ubuntu.com,国外 - DOMAIN-SUFFIX,canonical.com,国外 - DOMAIN-SUFFIX,okx.com,国外 diff --git a/非tun模式下的主机mihomo config.yaml b/非tun模式下的主机mihomo config.yaml index abbc362..cb57393 100644 --- a/非tun模式下的主机mihomo config.yaml +++ b/非tun模式下的主机mihomo config.yaml @@ -53,7 +53,7 @@ proxies: - name: US-Direct type: vless - server: 67.230.189.235 + server: 74.82.200.116 port: 443 uuid: "4d222c16-53bb-4402-814e-c8188cebcea6" udp: true @@ -268,7 +268,7 @@ listeners: port: 7891 listen: 127.0.0.1 udp: true - proxy: US-Direct + rule: lan-direct-global # 内网/保留网段直连,其余仍全走 US-Direct - name: direct-mixed type: mixed @@ -277,16 +277,40 @@ listeners: udp: true proxy: 直连 +# ======================== +# 子规则:7891 全局代理但内网直连 +# ======================== +sub-rules: + lan-direct-global: + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve + - MATCH,US-Direct + # ======================== # rules # ======================== rules: + # ===== 内网/保留网段强制直连(不依赖 rule-provider 下载)===== + - IP-CIDR,10.0.0.0/8,直连,no-resolve + - IP-CIDR,172.16.0.0/12,直连,no-resolve + - IP-CIDR,192.168.0.0/16,直连,no-resolve + - IP-CIDR,100.64.0.0/10,直连,no-resolve + - IP-CIDR,127.0.0.0/8,直连,no-resolve + - IP-CIDR,169.254.0.0/16,直连,no-resolve + - IP-CIDR,224.0.0.0/4,直连,no-resolve + - IP-CIDR,240.0.0.0/4,直连,no-resolve - DOMAIN,vs18.bj2cu.u3.ucweb.com,拒绝 - DOMAIN-SUFFIX,salmonstill.cn,直连 - DOMAIN-SUFFIX,hf-mirror.com,国内 - DOMAIN-KEYWORD,raylink,直连 - IP-CIDR,49.232.242.90/32,直连 - - IP-CIDR,67.230.189.235/32,直连 + - IP-CIDR,74.82.200.116/32,直连 - DOMAIN-SUFFIX,ubuntu.com,国外 - DOMAIN-SUFFIX,canonical.com,国外 - DOMAIN-SUFFIX,okx.com,国外