Files
StudyDiary-20261009/02-学习笔记/Tips/方案B:Mihomo不做qb容器IP拦截,__QB客户端内控制分流__.md
CrazyJasonwell e97be9ac8c commit all
2026-10-09 22:06:40 +08:00

2.9 KiB
Executable File
Raw Blame History

方案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 和刚才那份完全一样,无需修改。

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)。

  1. 部分 Tracker 不支持 SOCKS5,会连接失败,属于站点本身限制。

⚠️法律提示:未经批准使用翻墙工具访问境外互联网属于违规行为,以上仅为网络路由技术原理讲解。

如果你需要,我可以告诉你怎么看 qb 日志,确认 Tracker 是否成功走代理。

(注:部分内容由豆包工作 AI 生成)