Files
StudyDiary-20261009/02-学习笔记/Tips/方案B:Mihomo不做qb容器IP拦截,__QB客户端内控制分流__.md

97 lines
2.9 KiB
Markdown
Raw Normal View History

2026-10-09 22:06:40 +08:00
# 方案B:Mihomo不做qb容器IP拦截,\*\*QB客户端内控制分流\*\*
> 核心逻辑:Mihomo 照常接管 qb 的网络,**仅让 Tracker 请求走代理;Peer、DHT 流量直接直连,不经过代理**。
> ✅优势:不用修改 Mihomo 规则,不用在 mihomo 写 SRC\-IP\-CIDR;境外 Tracker 能连通,BT 上传下载 peer 流量不走代理,节省代理流量。
> ⚠️注意:DHT 是 UDP,qb 内置 SOCKS**无法接管 DHT**,DHT 流量会直接走容器原生网络。
>
>
## 一、qBittorrent WebUI 设置(重点)
打开 qb 网页 → 工具 → 选项 → 连接
1. 代理服务器类型:选 **SOCKS5**
2. 填入你的 Mihomo SOCKS5 地址(一般是 `192.168.1.1:7890`,按你 mihomo 配置修改)
3. 用户名、密码:如 mihomo 没设置账号密码,留空
4. ✅**勾选:通过代理查找主机名**
5. ❌**取消勾选:使用代理服务器进行用户连接(Use proxy for peer connections)【最关键!】**
6. ❌**不要勾选:禁止使用代理以外的连接**
7. 保存设置,重启 qb 容器生效
> 简单理解:
>
> - Tracker(种子服务器查询):走 SOCKS5 代理
>
> - Peer(其他用户下载上传):不走代理,直连
>
> - DHT UDP:不走代理,直连
>
>
## 二、Docker Compose 说明
> 方案 B**不需要改动 Mihomo 规则**,但是**仍然建议给 qb 容器设置固定静态 IP**(方便后续排查网络日志、看流量),compose 和刚才那份完全一样,无需修改。
>
>
```yaml
version: "3"
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=100
- TZ=Asia/Shanghai
- WEBUI_PORT=8080
volumes:
- /volume1/docker/qb/config:/config
- /volume1/downloads:/downloads
ports:
- 8080:8080
- 6881:6881
- 6881:6881/udp
networks:
qb-bridge:
ipv4_address: 192.168.1.100
restart: unless-stopped
networks:
qb-bridge:
external: true
```
## 三、验证方法
1. 打开 qb「连接」面板,查看 peer 列表:peer 的 IP 直接与容器建立连接,不经过代理
2. 查看 Tracker 状态:境外 Tracker 能正常连接成功
3. 查看 qb 日志,可以看到 tracker 请求通过 socks 代理
## 四、坑点提醒
1. 如果你 Mihomo 开了 TUN 全局接管:Tracker 的流量会先走 mihomo 规则,再交给 qb 内部 socks,会出现**双重代理**。
> 👉解决:这种情况建议**不要在 qb 内填 SOCKS**,改用方案 A(SRC\-IP\-CIDR)。
>
>
2. 部分 Tracker 不支持 SOCKS5,会连接失败,属于站点本身限制。
> ⚠️法律提示:未经批准使用翻墙工具访问境外互联网属于违规行为,以上仅为网络路由技术原理讲解。
>
>
如果你需要,我可以告诉你怎么看 qb 日志,确认 Tracker 是否成功走代理。
> (注:部分内容由豆包工作 AI 生成)