Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

建议增加配置选项以使得发送给BT客户端的HTTP 请求不通过代理 #134

Open
Paindar opened this issue Oct 10, 2024 · 3 comments
Labels
enhancement New feature or request

Comments

@Paindar
Copy link
Contributor

Paindar commented Oct 10, 2024

现在的qbcb,所有的HTTP请求使用的都是同一个HTTP Client,这使得:

  1. 如果配置了Proxy,则所有发给bt客户端的都会通过Proxy,这对于qbcb和bt客户端都在同一个网络中的场合(例如都在同一台机器上)完全没有必要。
  2. 如果未配置Proxy,则情况1不会发生,但从网络上获取网络资源(例如BlockList,或是检查更新?)有可能会失败。

因此,建议增加配置选项,以允许仅发送给BT客户端的HTTP 请求不通过代理

@Simple-Tracker
Copy link
Owner

Simple-Tracker commented Oct 12, 2024

这是一个不错的建议, 尽管我在想怎么以简单的方式较好的实现它. 我想, 一个潜在的替代方案是: 对于局域网地址跳过代理.

@Simple-Tracker Simple-Tracker added the enhancement New feature or request label Oct 12, 2024
@Paindar
Copy link
Contributor Author

Paindar commented Oct 13, 2024

现在已经有一个HttpClientWithoutCookies了,如果再叠一个NoProxy就会有四个不同的Client,实际上我有考虑过是不是直接让UpdateCheck和BlockListRequst单独走一个Client。

对局域网跳过代理有个小问题,徒增连接数。在NoProxy下,连接是QBCB->BTClient。而如果委托Proxy去甄别的话就会多一个连接:QBCB->Proxy->BTClient。又因QBCB对于每一个Block条目都会发送一个Request,我会担心是否会占用太多连接数。

@Simple-Tracker
Copy link
Owner

Simple-Tracker commented Oct 26, 2024

Done. ec40ccf eb00a0f Nightly build: https://github.com/Simple-Tracker/qBittorrent-ClientBlocker/actions/runs/11532819371

修改 Config Proxy 原有逻辑为如下:
空: 禁止使用代理; Auto: 自动 (仅对外部资源使用代理); All: 使用代理

bug: 可能造成少部分检测用途客户端请求走代理, 如 BC_DetectClient/qB_GetAPIVersion/Tr_DetectVersion, 在这种情况及特殊的网络配置下, 可能造成首次启动失败.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants