2.9 KiB
Executable File
方案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 网页 → 工具 → 选项 → 连接
-
代理服务器类型:选 SOCKS5
-
填入你的 Mihomo SOCKS5 地址(一般是
192.168.1.1:7890,按你 mihomo 配置修改) -
用户名、密码:如 mihomo 没设置账号密码,留空
-
✅勾选:通过代理查找主机名
-
❌取消勾选:使用代理服务器进行用户连接(Use proxy for peer connections)【最关键!】
-
❌不要勾选:禁止使用代理以外的连接
-
保存设置,重启 qb 容器生效
简单理解:
Tracker(种子服务器查询):走 SOCKS5 代理
Peer(其他用户下载上传):不走代理,直连
DHT UDP:不走代理,直连
二、Docker Compose 说明
方案 B不需要改动 Mihomo 规则,但是仍然建议给 qb 容器设置固定静态 IP(方便后续排查网络日志、看流量),compose 和刚才那份完全一样,无需修改。
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
三、验证方法
-
打开 qb「连接」面板,查看 peer 列表:peer 的 IP 直接与容器建立连接,不经过代理
-
查看 Tracker 状态:境外 Tracker 能正常连接成功
-
查看 qb 日志,可以看到 tracker 请求通过 socks 代理
四、坑点提醒
- 如果你 Mihomo 开了 TUN 全局接管:Tracker 的流量会先走 mihomo 规则,再交给 qb 内部 socks,会出现双重代理。
👉解决:这种情况建议不要在 qb 内填 SOCKS,改用方案 A(SRC-IP-CIDR)。
- 部分 Tracker 不支持 SOCKS5,会连接失败,属于站点本身限制。
⚠️法律提示:未经批准使用翻墙工具访问境外互联网属于违规行为,以上仅为网络路由技术原理讲解。
如果你需要,我可以告诉你怎么看 qb 日志,确认 Tracker 是否成功走代理。
(注:部分内容由豆包工作 AI 生成)