# 方案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 生成)