qBittorrent 代理设置:两个默认不勾的选项,决定代理有没有用
qBittorrent 代理设置一次讲清:SOCKS5 填在哪里,两个默认关闭、必须手动勾选的选项,挂上代理后哪些流量仍不经过代理,以及怎么用用量表确认它在工作。
qBittorrent 的代理设置在 Tools > Options... > Connection 里的“Proxy Server”一栏。类型选 SOCKS5,填好地址、端口和登录信息之后,还要再勾两个默认关闭的选项:“Use proxy for BitTorrent purposes”,以及它里面的“Use proxy for peer connections”。只填地址、不勾这两项,BT 流量几乎一点都不会经过代理。
很多人就卡在这一步:设置窗口看起来已经填完了,peer 连接其实还在用自己的 IP。下面先讲挂上代理之后各类流量的去向,再给设置步骤和我们的实测结果,最后讲怎么用用量表验证、怎么控制做种的花费。
下文引用的选项名都来自英文界面。中文界面里这些文字是译文,我们没有逐条核对译文,对照时请以位置和含义为准。
一张表看懂:挂上 SOCKS5 之后,流量去了哪里
qBittorrent 的下载引擎是 libtorrent。结合 libtorrent 的设置文档、它的源码和我们网关的实际情况,两个选项都勾上之后是这样的:
| 流量 | 经过 ProxyPanda 的 SOCKS5 吗 |
|---|---|
| HTTP Tracker 通告 | 经过 |
| 与 peer 的 TCP 连接、Web Seed | 经过,前提是勾了“Use proxy for peer connections” |
| DHT、UDP Tracker、uTP | 不要指望。libtorrent 会通过 SOCKS5 请求 UDP 中继,但我们没有在自己的网关上验证过 UDP 中继,请把我们的 SOCKS5 当作只支持 TCP |
| 别的 peer 主动连进来 | 不接受。libtorrent 的文档写明,挂代理时“will not accept incoming TCP connections, will not map ports with any gateway” |
| 加密 | 没有。代理只转发字节,SOCKS5 的登录信息本身也是明文传输 |
还有两点。第一,换成 HTTP 代理只会更差:HTTP 代理根本承载不了 UDP。libtorrent 的源码显示,在 HTTP 或 SOCKS4 代理下,这些 UDP 包会被直接拒发,而不是绕过代理从你自己的地址发出去,所以它们是“失效”,不是“泄露”。第二,下载和做种两个方向的数据都会经过代理;两个方向各自怎么计入你的套餐,写在计量说明里,挂着做种过夜之前请先看一眼。协议层面的区别见 HTTP 代理和 SOCKS5 的区别。
先想清楚:这次下载需不需要代理
很多时候不需要。给新服务器装 Debian、给团队下载开源软件的安装包、拉一份公开的学术数据集,发布方往往同时提供 HTTP 镜像。直接从镜像下最省事,也不会在按 GB 计量的代理上产生任何流量。用 BT 下载这些文件也完全正常,不挂代理一样可以。
代理适合的是这种情况:你只想让 qBittorrent 这一个程序换一个出口地址,电脑上其他东西照旧。比如办公室的出口 IP 平时用来登录店铺后台和广告账户,你不希望这个地址出现在公开的 BT 下载群里,就让 qBittorrent 单独从另一个地址出去。
如果你担心的是版权方监控公开的下载群,qBittorrent 自己的 wiki 给的建议是 VPN:“If you are concerned about legal authorities and copyright trouble, for example, consider using a VPN instead (or in addition to it).”我们同意。两者的区别见代理和 VPN 的区别。
不管下载什么,都请限于你有权分享的内容:Linux 发行版和开源软件、Internet Archive 上的知识共享作品、科研数据、通过 BT 发布的游戏和软件补丁、公司内部的大文件。这些内容的 BT 流量,在我们的住宅代理和不限流量的独享 IP(没有流量上限的独享 ISP 或数据中心 IP)上都可以跑。但用 ProxyPanda 分享未经授权的内容是不允许的,遵守法律是你自己的责任,详见使用规范。
设置步骤
以下以当前版本 5.2.4(2026 年 9 月 28 日发布)的源码为准。qbittorrent-nox 的 Web UI 里有同样的页面,适合放在服务器上跑的场景。
- 打开 Tools > Options...,进入 Connection。
- 在 Proxy Server 里把类型设为 SOCKS5。下拉列表里有“(None)”“SOCKS4”“SOCKS5”和“HTTP”四项。
- 填入控制台服务页面上的地址和端口。ISP 和数据中心代理要先在控制台把协议切换成 SOCKS5,再重新复制端口,因为不同协议的端口可能不同。
- 打开认证,填入用户名和密码。qBittorrent 只在 SOCKS5 和 HTTP 下提供登录。
- 确认 “Perform hostname lookup via proxy” 是勾上的,让域名在代理那一端解析。我们全新安装时它已经默认勾上。
- 勾选 “Use proxy for BitTorrent purposes”。
- 在它里面勾选 “Use proxy for peer connections”。它的提示文字说明了不勾的后果:“Otherwise, the proxy server is only used for tracker connections”。
- “Use proxy for RSS purposes” 和 “Use proxy for general purposes” 按需选择。后者的提示是“Search engine, software updates or anything else will use proxy”,也就是搜索、软件更新等都会经过代理,同样计入用量。
- 点应用,然后退出并重新打开 qBittorrent。我们实测时遇到过:程序运行中勾选 BitTorrent 那一项,Tracker 连接直到重启之后才改走代理。
如果你的出口地址已经加入 IP 白名单,可以不开认证。否则漏填登录信息时,你看到的往往只是连接失败,而不是一条清楚的报错;HTTP 那一侧的情况见 407 代理认证错误怎么解决。
默认值陷阱:我们实测的三种状态
在 qBittorrent 的源码里,Network/Proxy/Profiles/BitTorrent 读取时没有给默认值,所以默认为假;ProxyPeerConnections 的默认值直接写的是 false。
我们没有只看源码。2026 年 10 月 8 日,我们在容器里装了 Alpine Linux 软件包里的 qbittorrent-nox 5.2.4(libtorrent 2.1.0),不带任何配置文件启动,确认这两个值确实都是关闭的。然后让它连到我们自己写的一个 SOCKS5 测试服务器:记录每一个请求,转发 TCP,拒绝 UDP,也就是我们建议你对待我们网关的方式。每改一步,就添加一次 Debian 13.7.0 的 netinst 种子,观察约 20 秒:
| 设置到哪一步 | 经过代理的 | 直接从我们自己地址发出的 |
|---|---|---|
| 只填地址和端口 | 没有 | 全部 peer 连接,约 59 条 TCP,外加约 51,000 个 UDP 包 |
| 再勾“Use proxy for BitTorrent purposes” | Tracker 通告 | 约 55 条 peer 的 TCP 连接,外加约 37,000 个 UDP 包 |
| 再勾“Use proxy for peer connections” | 122 条连接,连到 120 个不同地址,其中包括 peer | 1 条 TCP 连接,没有 UDP 包 |
中间那一行最容易让人误以为已经设好了:每个 peer 看到的仍然是我们的真实地址,uTP 和 DHT 用的 UDP 流量也照样直连。最后一行里,qBittorrent 向测试服务器请求了一次 UDP 中继,被拒绝之后,没有任何 UDP 包绕过代理发出。下载依然完成了,走的是 TCP。中间那一行我们是勾选后重启再测的;更早的一次没有重启,测试代理一条 Tracker 连接都没看到。
从旧版本升级的用户
源码里还有一个细节:qBittorrent 迁移旧版本的配置文件时,会把“Use proxy for BitTorrent purposes”存成开启。我们也看到了这一点,所以升级安装的用户可能会发现外层那个勾已经勾上了。但“Use proxy for peer connections”在我们看到的所有情况里都是关闭的。
习惯直接看配置文件的话,qBittorrent.conf 里相关的键包括 Network\Proxy\Profiles\BitTorrent 和 BitTorrent\Session\ProxyPeerConnections。任何一个缺失或为 false,peer 就是直连的。
SOCKS4、HTTP 和匿名模式,为什么都不是答案
选 SOCKS5。 它不需要代理去为任意端口开隧道,就能承载 peer 连接。
HTTP 对 Tracker 和 Web Seed 没问题;要承载 peer,代理必须允许到 peer 端口的隧道,而我们没有确认过自家 HTTP 代理的每个端口都允许。
SOCKS4 最弱:选了它,域名解析、RSS 和通用代理都会被停用,qBittorrent 还会提示“Some functions are unavailable with the chosen proxy type!”。我们的代理也不提供 SOCKS4。
匿名模式在 Tools > Options > BitTorrent > Privacy 里,叫“Enable anonymous mode”,提示是“Enable when using a proxy or a VPN connection”。它让客户端不再向 Tracker 和 peer 报告自己的名称和版本,但不转发任何流量。qBittorrent 的 wiki 也说它“doesn't provide strong privacy guarantees on its own”。可以开,但别把它当成保护。
另外,旧教程常提到的“Disable connections not supported by proxies”已经没有了。qBittorrent 的 wiki 说它从 4.2 起“Always enabled”,这个选项已被移除。
验证:先用 curl,再看用量表
第一步,在同一台机器上确认代理本身能用:
curl -s -x socks5h://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org
打印出来的应该是一个不属于你的地址。然后找一个小而合法的种子来测,比如某个 Linux 发行版的最小网络安装镜像,或者 Internet Archive 上一部较短的知识共享影片。
第二步看用量表。开始前记下控制台里这项服务的流量数字,让种子跑一会儿,再把数字的变化和 qBittorrent 显示的下载量、上传量对比。控制台的数字是定期更新的,不是实时的,等几分钟再看;在哪里看,见怎么查看还剩多少流量。
- 用量和客户端的数字大致同步: peer 在走代理。
- 客户端下了几百 MB,用量几乎没动: peer 是直连的,回去检查那两个勾。
- 用量比客户端的数字略多一点: 正常,协议消息和被丢弃的数据块也算流量。
数字还是对不上,可以看怎么核对代理服务商的用量表。
做种之前,先算一笔账
一个 4 GB 的镜像,通过挂了代理的 qBittorrent 下载,进来至少 4 GB;做种到分享率 1.0,再出去 4 GB。所以请设置上传限速,或者设一个分享率,到了就停止做种。代理对整个客户端生效,跑不需要换地址的种子时,把代理关掉。要长期做种,更省心的是不限流量的独享 IP:数据中心代理的独享档和高级档、ISP 代理的高级档没有流量上限,下载和做种都不按 GB 计,Tracker 和 peer 也始终看到同一个地址。不限流量不等于不限速,速度仍受这个 IP 的端口速率限制。线路区别见 ISP 还是数据中心代理,价格见价格页。
常见问题
qBittorrent 默认会让 peer 走代理吗? 不会。“Use proxy for BitTorrent purposes”和“Use proxy for peer connections”默认都是关闭的。
DHT 能通过 ProxyPanda 的 SOCKS5 吗? 不要指望。我们把自己的 SOCKS5 视为只支持 TCP,而 DHT 走 UDP。
挂了代理,路由器的端口转发还有用吗? 对走代理的 peer 没用。libtorrent 挂代理时不接受入站连接,也不做端口映射。
代理会加密我的 BT 流量吗? 不会。代理改变的是 peer 看到的地址,不负责加密。
下一步
拿不准这次下载该不该挂代理,充值之前先到 Discord 问一句,问清楚不花钱。其他客户端的处理方式各不相同,哪些 BT 客户端支持 SOCKS5 把它们放在一起做了对比。