Qbittorrent: 代理和 UDP 问题(无 DHT/磁铁/元数据/UDP 跟踪器)

创建于 2019-12-23  ·  218评论  ·  资料来源: qbittorrent/qBittorrent

这是为了收集有关代理和 UDP 连接问题的所有相关错误报告(没有 DHT,没有磁铁/元数据工作,没有 UDP 跟踪器工作等)

这些是在使用 libtorrent 1.2.0 的 4.2.0 版本之后出现的。 Libtorrent 1.2.x 没有 libtorrent 1.1.x 那样的force_proxy设置。 当代理不支持 UDP 连接时,如果此选项为 false,则允许直接连接到 DHT/元数据/μTP 对等点/UDP 跟踪器。
在 libtorrent 1.2.x 中,这被认为是无意义的,如果代理不支持 UDP 连接,那么上述所有内容都将不起作用。 不会尝试直接连接。

匿名模式在这方面不起作用。

libtorrent 代码有可能无法正确检测代理对 UDP 的支持。 因此该线程的目的是帮助调试并将详细信息转发给 libtorrent 作者。

目前,libtorrent 作者提供了一个 PR(https://github.com/arvidn/libtorrent/pull/4202),记录了与socks5 相关的错误。 我将很快提供一个测试版本。

Network ProxVPN

最有用的评论

对不起各位,我在现实生活中真的很忙。
这是另一个基于 v4.2.1 和来自 1.2.x libtorrent 的最新代码的构建(https://github.com/arvidn/libtorrent/commit/ad83b1c0eb293b63c69f7879ca6ba2381369f77f)

链接: https :

所有218条评论

这应该被钉住吗?

这是上面提到的基于https://github.com/arvidn/libtorrent/pull/4202和 4.2.1 的测试版本,并应用了以下补丁。
请报告您在日志中得到的错误。 不要忘记将它们包含在“代码”标签中。 为此,单击注释输入框上方的工具栏中的相关按钮,该按钮具有工具提示“插入代码”。 日志行将张贴以方便阅读。

链接: http :
(从任何文件夹运行或覆盖官方文件)

差异:

diff --git a/src/base/bittorrent/session.cpp b/src/base/bittorrent/session.cpp
index a4cf15107..b86e83219 100644
--- a/src/base/bittorrent/session.cpp
+++ b/src/base/bittorrent/session.cpp
@@ -4211,6 +4211,9 @@ void Session::handleAlert(const lt::alert *a)
         case lt::external_ip_alert::alert_type:
             handleExternalIPAlert(static_cast<const lt::external_ip_alert*>(a));
             break;
+        case lt::socks5_alert::alert_type:
+            handleSocks5Alert(static_cast<const lt::socks5_alert*>(a));
+            break;
 #if (LIBTORRENT_VERSION_NUM >= 10200)
         case lt::alerts_dropped_alert::alert_type:
             handleAlertsDroppedAlert(static_cast<const lt::alerts_dropped_alert *>(a));
@@ -4623,6 +4626,11 @@ void Session::handleListenFailedAlert(const lt::listen_failed_alert *p)
 #endif
 }

+void Session::handleSocks5Alert(const lt::socks5_alert *p)
+{
+    LogMsg(tr("Socks5 error: %1").arg(QString::fromLocal8Bit(p->message().c_str())), Log::CRITICAL);
+}
+
 void Session::handleExternalIPAlert(const lt::external_ip_alert *p)
 {
     lt::error_code ec;
diff --git a/src/base/bittorrent/session.h b/src/base/bittorrent/session.h
index 4591f4477..859b9abad 100644
--- a/src/base/bittorrent/session.h
+++ b/src/base/bittorrent/session.h
@@ -576,6 +576,7 @@ namespace BitTorrent
         void handleListenFailedAlert(const lt::listen_failed_alert *p);
         void handleExternalIPAlert(const lt::external_ip_alert *p);
         void handleSessionStatsAlert(const lt::session_stats_alert *p);
+        void handleSocks5Alert(const lt::socks5_alert *p);
 #if (LIBTORRENT_VERSION_NUM >= 10200)
         void handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const;
 #endif

这应该被钉住吗?

不。

我可以在这里发布这个吗?

当我使用 QBittorrent 版本 3.3.16 + Socks5 代理 + Nordvpn = 在执行日志选项卡上显示时:
外部IP:xxxx
其中“xxxx”是VPN代理,当然,
并且所有连接都已建立

当我使用 QBittorrent 版本 4.2.0 + Socks5 代理 + Nordvpn = 在执行日志选项卡上显示时:
外部 IP:0.0.0.0
并且没有连接。
没有下载,什么都没有。

版本 3.3.16 和 4.2.0 都进行了相同的设置。

@calvilasboasjr你有没有读过我之前的两条评论?

请报告您在日志中得到的错误。
链接: http :

日志(没有错误"Socks5 error: %1" ,等待 30 分钟):

qBittorrent v4.2.1 started
Using config directory: ...
Trying to listen on: 192.168.0.2:8999
Peer ID: -qB4210-
HTTP User-Agent is 'qBittorrent/4.2.1'
DHT support [ON]
Local Peer Discovery support [ON]
PeX support [ON]
Anonymous mode [ON]
Encryption support [ON]
GeoIP database loaded. Type: GeoLite2-Country. Build time: ... .
Options were saved successfully.
Successfully listening on IP: 192.168.0.2, port: UDP/8999
...
'...' restored.
Successfully moved torrent: ... New path: ...
...
UPnP / NAT-PMP support [OFF]

测试:

  • Windows 7 Ultimate 64 位 SP1
  • Use proxy only for torrents (Socks5 Tor 代理,不支持 UDP 连接)
  • 任何接口和所有地址设置接口和地址
  • 禁用/启用anonymous mode
  • 禁用/启用UPnP / NAT-PMP support (在我的路由器中使用端口转发)
  • 禁用disable connections not supported by proxies

结果:

  • 没有 DHT,没有磁铁工作
  • 没有记录: Successfully listening on IP: 0.0.0.0, port: TCP/port
  • 当设置Any interface and all addresses获取日志Detected external IP: x.x.x.x
  • 当设置Any interface and my address获取日志Detected external IP: x.x.x.x
  • 当设置My interface and all addresses没有在日志Detected external IP: x.x.x.x
  • 当设置My interface and my address没有在日志Detected external IP: x.x.x.x
  • 再次回到 4.1.9 并且工作正常

就我而言,我想通过代理连接到跟踪器并直接进行所有其他连接。

@ExceptionGit发布的版本有可能没有应用补丁。 我重新上传了您可以再次下载相同的文件并进行测试吗?

@sledgehammer999是的,文件哈希已更新。

SHA3_512
fb0b262bf1f7b68457863e3abea9a661cf39bb656f4f309d2533dbf3e575c00622b66718d6e1b98f14e82babb0e659cf29c49b48371f0e7d2626b47a93742727 *qbittorrent.exe
b11b4c40379e6009813f8c3bb291e3f303966ecc721387c589396ba3eae8292d090db327d303750747cee532ce05e2f775dd74c238dd52f1dc6e49c1ce46d4f6 *qbittorrent.pdb

配置:

  • 启用anonymous mode
  • 设置My interface and my addres

日志(没有错误“Socks5 错误:%1”,等待~8 分钟):

qBittorrent v4.2.1 started
Using config directory: ...
Trying to listen on: 192.168.0.2:8999
Peer ID: -qB4210-
HTTP User-Agent is 'qBittorrent/4.2.1'
DHT support [ON]
Local Peer Discovery support [ON]
PeX support [ON]
Anonymous mode [ON]
Encryption support [ON]
GeoIP database loaded. Type: GeoLite2-Country. Build time: ... .
Options were saved successfully.
Successfully listening on IP: 192.168.0.2, port: UDP/8999
UPnP / NAT-PMP support [OFF]


配置:

  • 禁用anonymous mode
  • 设置Any interface and all addresses

日志(没有错误“Socks5 错误:%1”,等待约 10 分钟):

qBittorrent v4.2.1 started
Using config directory: ...
Trying to listen on: 0.0.0.0:8999,[::]:8999
Peer ID: -qB4210-
HTTP User-Agent is 'qBittorrent/4.2.1'
DHT support [ON]
Local Peer Discovery support [ON]
PeX support [ON]
Anonymous mode [OFF]
Encryption support [ON]
GeoIP database loaded. Type: GeoLite2-Country. Build time: ... .
Options were saved successfully.
Successfully listening on IP: 0.0.0.0, port: UDP/8999
Detected external IP: ...
UPnP / NAT-PMP support [OFF]

我认为我的旧代理服务器版本不会为 libtorrent 返回错误。

@sledgehammer999您可以通过将随机主机名和端口设置为socks5 代理来测试构建和日志记录,并确保您获得socks5_alert (s),表明您连接失败。

在对此进行了更多思考之后,我认为 libtorrent-1.1.x 中可能不存在的一个问题是,socks5 代理逻辑位于单个套接字对象层上。 这意味着如果您有多个接口(可能有哪个接口),每个接口都会触发一个socks5 连接和隧道。 这并不理想,我可以理解如果袜子代理不赞成这种行为并且只让第一个(或最后一个)进入。

例如,现在刚测试时,默认情况下我会得到这些监听接口:

[Dec 24 01:00:11] successfully listening on [UDP] 0.0.0.0:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::1%lo0]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::1%lo0]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::1808:b4b2:e86b:e3ee%en0]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::1808:b4b2:e86b:e3ee%en0]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::44e7:e2ff:feeb:6bb3%awdl0]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::44e7:e2ff:feeb:6bb3%awdl0]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::44e7:e2ff:feeb:6bb3%llw0]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::44e7:e2ff:feeb:6bb3%llw0]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::302c:6ee8:8e44:c2f2%utun0]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::302c:6ee8:8e44:c2f2%utun0]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::429c:ce7f:c10b:49df%utun1]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::429c:ce7f:c10b:49df%utun1]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::8956:242a:2e6d:aac5%utun2]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::8956:242a:2e6d:aac5%utun2]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::6693:a331:ed65:6426%utun3]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::6693:a331:ed65:6426%utun3]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::35fa:7336:d62c:1b24%utun4]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::35fa:7336:d62c:1b24%utun4]:6881
[Dec 24 01:00:11] successfully listening on [TCP] [fe80::ce3f:b640:c788:9377%utun5]:6881
[Dec 24 01:00:11] successfully listening on [UDP] [fe80::ce3f:b640:c788:9377%utun5]:6881

作为避免这种情况的快速技巧,我认为只要配置了 socks5 代理,就可以将listen_interfaces0.0.0.0:6881 (或任何端口)可能会起作用。 我认为 libtorrent 的工作方式也会有所不同。 我可以看到两种方法:

  1. 无论何时配置代理,我们都不会直接通过套接字接受连接,而只是通过代理(只有一个连接/套接字)。 因此,代理设置可以覆盖每个接口打开一个套接字的逻辑。 相反,它会打开一个与代理使用的任何协议(IPv4 或 IPv6)相匹配的协议。 问题在于,如果您确实有多个接口连接到 Internet,则您想全部使用它们,并且所有这些接口都应通过代理建立隧道。

  2. 建立代理连接时,仅使用匹配的地址族作为侦听套接字。 如果代理主机名未解析为兼容的地址系列,请禁用该侦听套接字。 即,如果socks5 代理仅解析为IPv4 地址,则不要打开IPv6 侦听套接字,反之亦然。

我倾向于 (2),但也许应该有一个更通用的规则来过滤监听接口。 例如,所有那些%utun0等,接口很可能是陈旧的。

有没有人有任何意见?

您可以通过将随机主机名和端口设置为socks5 代理来测试构建和日志记录,并确保您获得表示连接失败的socks5_alert(s)。

是的,如果我指向例如127.0.0.1它确实会打印错误

作为避免这种情况的快速黑客,我认为只要配置了 socks5 代理,就将 listen_interfaces 设置为 0.0.0.0:6881(或任何端口)

伙计们,如果您想测试上述内容,请转到高级设置并选择Any interface + All IPv4 addresses (然后重新启动)

请报告您在日志中得到的错误。 不要忘记将它们包含在“代码”标签中。 为此,单击注释输入框上方的工具栏中的相关按钮,该按钮具有工具提示“插入代码”。 日志行将张贴以方便阅读。

链接: http :
(从任何文件夹运行或覆盖官方文件)

抱歉 - 我不明白“将它们包含在“代码”标签中”,因为我找不到“单击位于注释输入框上方的工具栏上的相关按钮,其中有一个工具提示“插入代码”。日志行将被适当地发布方便阅读。”

链接: http :

qBittorrent v4.2.1 设置工具、选项、连接代理服务器 Socks5、身份验证、确定

带有 URL http 跟踪器的预加载种子:有些有效,有些无效,
必须单独暂停/强制恢复或强制重新宣布每个 Torrent,其中 URL http 无法正常工作,所有 URL http 都可以正常工作。

使用 URL udp 跟踪器加载的 torrent:所有跟踪器都不工作,有 0-Seeds,有 0-Peers,并且没有下载 torrent。

查看 qBittorrent v4.2.1 执行日志我看不到任何错误,这些是一一复制的行...
24/12/2019 11:08 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:UDP/45484
24/12/2019 11:08 - 成功侦听 IP:fe80::9f9:72a4:f6eb:d270%11,端口:UDP/55535
24/12/2019 11:08 - 成功侦听 IP:fe80::9f9:72a4:f6eb:d270%11,端口:TCP/55535
24/12/2019 11:08 - 选项已成功保存。
24/12/2019 11:08 - 加载了 GeoIP 数据库。 类型:GeoLite2-国家。 构建时间:2019 年 12 月 17 日星期二 19:59:54。
24/12/2019 11:08 - UPnP / NAT-PMP 支持 [开启]
24/12/2019 11:08 - 加密支持 [ON]
24/12/2019 11:08 - 匿名模式 [开启]
24/12/2019 11:08 - PeX 支持 [关闭]
24/12/2019 11:08 - 本地对等发现支持 [关闭]
24/12/2019 11:08 - DHT 支持 [关闭]
24/12/2019 11:08 - HTTP 用户代理是“qBittorrent/4.2.1”
24/12/2019 11:08 - 同行 ID:-qB4210-
24/12/2019 11:08 - 尝试听:0.0.0.0:55535,[::]:55535

qBittorrent v4.2.1 设置工具、选项、连接代理服务器(无)确定。 封闭的客户。 删除了应用程序数据本地临时文件。 重新启动客户端。

URL udp 跟踪器正在工作,有种子,有对等点,并且正在下载 Torrent。

查看 qBittorrent v4.2.1 执行日志我看不到任何错误,这些是一一复制的行...
24/12/2019 11:47 - 成功侦听 IP:fe80::9f9:72a4:f6eb:d270%11,端口:UDP/55535
24/12/2019 11:47 - 成功侦听 IP:fe80::9f9:72a4:f6eb:d270%11,端口:TCP/55535
24/12/2019 11:47 - 成功侦听 IP:0.0.0.0,端口:UDP/55535
24/12/2019 11:47 - 成功侦听 IP:0.0.0.0,端口:TCP/55535
24/12/2019 11:47 - 选项已成功保存。
24/12/2019 11:47 - 加载了 GeoIP 数据库。 类型:GeoLite2-国家。 构建时间:2019 年 12 月 17 日星期二 19:59:54。
24/12/2019 11:47 - UPnP / NAT-PMP 支持 [ON]
24/12/2019 11:47 - 加密支持 [ON]
24/12/2019 11:47 - 匿名模式 [开启]
24/12/2019 11:47 - PeX 支持 [关闭]
24/12/2019 11:47 - 本地对等发现支持 [关闭]
24/12/2019 11:47 - DHT 支持 [关闭]
24/12/2019 11:47 - HTTP 用户代理是“qBittorrent/4.2.1”
24/12/2019 11:47 - 同行 ID:-qB4210-
24/12/2019 11:47 - 尝试听:0.0.0.0:55535,[::]:55535

如果我指向例如127.0.0.1它确实会打印错误

这是我的情况(如果我设置了一个不存在的网络地址),但没有错误"Socks5 error: %1"如果我设置代理地址, Any interface + All IPv4 addresses并重新启动:没有 dht,没有错误。

@condoghost

```文本

你的日志

```

我正在寻找一种具有这些特征的
image
如您所见,它有 2 个种子和 32 个对等点,但什么也没发生,它卡在“下载元数据”上。
以下是一些主动跟踪器:
image

通常,当数据实际流动时,它来自以下来源之一:
image

使用跟踪器的代码库与处理 DHT/PeX/LSD 的代码库是分开的吗?

提前抱歉,我刚刚注意到这些跟踪器不是 UDP,但我认为这可能有助于弄清楚发生了什么。

@RandomInhabitant http 跟踪器不会通过与 udp 跟踪器相同的路径,当使用socks5 代理时。
人们似乎遇到的问题与socks5 UDP代理有关。

不知道小伙伴们有没有注意到:

版本 3.3.16 和 4.2.0 以及在 SOCKET5 上使用 VPN:

我注意到在这两个版本中,当我添加一个新的 torrent 时,torrent不会自动启动!

因此,当我多次单击 PAUSE 和 START 按钮时:
暂停,我等了四秒钟……开始,我等4秒……暂停,我等了四秒钟……开始

结果:
执行此序列后, VPN IP FINNALY 出现在 EXECUTION LOG 选项卡中,并且 torrent 开始加载 SEEDS 并开始下载。

请进行此测试并发表评论。

谢谢。

尝试连接到socks5 代理时也没有应用层超时。 如果另一台机器没有响应 port-unreachable 并且网络没有响应 host-unreachable,则连接尝试可能需要几分钟才能失败。 测试版本只将socks5错误打印到日志,而不是尝试连接(例如)。 因此,请确保为任何测试运行提供足够的失败时间。

理解。

我的意思是,当我执行 PAUSE-START 这类操作时,torrent 启动得更快。
每当我开始一个新的 torrent 时,SOCKET5 VPN IP 需要很长时间才能出现在 LOG 选项卡中,并且 torrent在该 IP 出现在 LOG 中之后

我正在使用私有 SOCKS5 代理,但我面临同样的问题。 我所做的是暂停所有种子文件,关闭客户端并复制修补后的可执行文件。 我添加了一个新的 torrent,并且(纯属运气?)客户端记录了检测到外部 IP 的日志。 就在这一刻,只有一个跟踪器工作,种子开始下载,尽管日志包含许多错误。

(N) 2019-12-29T01:30:03 - qBittorrent v4.2.1 started
(N) 2019-12-29T01:30:03 - Using config directory: ...
(I) 2019-12-29T01:30:03 - Trying to listen on: 0.0.0.0:30728,[::]:30728
(N) 2019-12-29T01:30:03 - Peer ID: -qB4210-
(N) 2019-12-29T01:30:03 - HTTP User-Agent is 'qBittorrent/4.2.1'
(I) 2019-12-29T01:30:03 - DHT support [OFF]
(I) 2019-12-29T01:30:03 - Local Peer Discovery support [OFF]
(I) 2019-12-29T01:30:03 - PeX support [OFF]
(I) 2019-12-29T01:30:03 - Anonymous mode [ON]
(I) 2019-12-29T01:30:03 - Encryption support [ON]
(I) 2019-12-29T01:30:03 - GeoIP database loaded. Type: GeoLite2-Country. Build time: Tue Dec 3 19:09:39 2019.
(N) 2019-12-29T01:30:04 - Options were saved successfully.
(I) 2019-12-29T01:30:04 - Successfully listening on IP: 0.0.0.0, port: UDP/30728
(I) 2019-12-29T01:30:04 - Successfully listening on IP: fe80::615c:27c4:1775:7892%14, port: TCP/30728
(I) 2019-12-29T01:30:04 - Successfully listening on IP: fe80::615c:27c4:1775:7892%14, port: UDP/30728
(N) 2019-12-29T01:30:04 - ... restored.
(N) 2019-12-29T01:30:04 - Download first and last piece first: Off, torrent: ...
(N) 2019-12-29T01:30:04 - ... added to download list.
(C) 2019-12-29T01:30:15 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:15 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:15 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:15 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:15 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: 134.19.189.19:1080
(I) 2019-12-29T01:30:18 - Detected external IP: 134.19.189.20
(C) 2019-12-29T01:30:20 - Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:20 - Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:20 - Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:20 - Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: 134.19.189.19:1080
(C) 2019-12-29T01:30:20 - Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: 134.19.189.19:1080
(I) 2019-12-29T01:31:10 - UPnP / NAT-PMP support [OFF]

在那之后,无论我添加、删除、暂停和重启客户端多少次种子,跟踪器都无法工作。 报告了相同的错误,并且缺少检测我的外部 ip 的行。 代理被检查并且适用于 HTTP/HTTPS 跟踪器。

@sledgehammer999我不认为这会产生重大影响,但它减少了打开的 SOCKS5 UDP 隧道的数量。 还是不理想(应该是单隧道),但正常情况下应该只开2个。 https://github.com/arvidn/libtorrent/pull/4209

我已经使用 privateinternetaccess 提供的 SOCKS5 代理对此进行了测试,并且可以正常工作。 我禁用了所有 TCP 以确保我可以建立 uTP 连接并确保我也有一个 DHT 路由表。

我们可以使用该补丁进行构建以查看它是否适合我们吗?

我在本地准备好了。 我只是在等待管理 ftp 的人。 显然他切换了配置并弄乱了登录凭据。 我希望今天晚些时候我能够上传构建。

我很抱歉让您久等。 这是使用@arvidn的最新代码和 PR 基于 v4.2.1 的构建。
链接: https :

  • Use proxy only for torrents (我的 Socks5 代理不支持 UDP 连接)
  • Any interface + All IPv4 addresse
  • Anonymous mode [ON]

结果:

  • Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0
  • 没有 DHT,没有磁铁工作
  • 没有记录: Successfully listening on IP: 0.0.0.0, port: TCP/port

我如何告诉 qBittorrent 使用与 DHT 的直接连接,因为它在旧版本中在选中标志Use proxy only for torrents

仅对种子使用代理(我的 Socks5 代理不支持 UDP 连接)

“仅对种子使用代理”是什么意思?
如果您的代理不支持 UDP,我不会对 DHT 不起作用感到惊讶。 不过,我本来希望下面会出现不同的错误消息。

Socks5 错误:SOCKS5 错误。 操作:hostname_lookup ec:未知错误 ep:[::]:0

看起来您的 socks5 代理的主机名查找失败。 我不知道为什么错误代码没有正确传播或呈现,所以不清楚发生了什么样的失败。

How can I tell the qBittorrent to use direct connections with the DHT, as it worked in the old version when flag Use proxy only for torrents is checked.

在新版本的 libtorrent 中,代理只有一个设置,它假设您希望所有流量都通过它。 (我认为这是迄今为止用户最普遍的期望,如果代理不起作用,他们宁愿没有任何其他路径的流量)。

如果您要向 DHT 宣布自己的 IP,那么使用代理有什么意义? 那么你也可以使用你自己的IP连接到peer。 不?

“仅对种子使用代理”是什么意思?

忽略这个。 它与 libtorrent 完全无关。 如果用户未设置此设置,则 qbt 还会使用代理进行其他连接(例如 RSS 提要、软件版本检查、搜索结果等)。 也就是不受 libtorrent 控制的部分。

“仅对种子使用代理”是什么意思?

我不知道 qBittorrent 和 libtorrent 之间依赖哪些选项。 因此,我认为问题是这个选项或其他地方的错误使用,因为没有更多的选项与代理有某种关系。 我取消了这个选项,它对 DHT 没有任何影响......

取消设置: Use proxy for peer connections
https://github.com/qbittorrent/qBittorrent/blob/dc8f4b776ce578dd45c5415256792c2cb2a6b5b2/src/gui/optionsdialog.ui#L1633 -L1645

套装: Use proxy only for torrents
https://github.com/qbittorrent/qBittorrent/blob/dc8f4b776ce578dd45c5415256792c2cb2a6b5b2/src/gui/optionsdialog.ui#L1646 -L1658

如果您要向 DHT 宣布自己的 IP,那么使用代理有什么意义? 那么你也可以使用你自己的IP连接到peer。 不?

我想要the proxy server is only used for tracker connections并直接建立所有其他连接。 我之前写的: https://github.com/qbittorrent/qBittorrent/issues/11735#issuecomment -568455968 https://github.com/qbittorrent/qBittorrent/issues/11692#issuecomment -567801444

我希望代理服务器仅用于跟踪器连接并直接进行所有其他连接。

那有什么意义呢?
您认为 DHT 是跟踪器吗? 它用作跟踪器,您可以直接向它宣布,而不是通过代理。

那有什么意义呢?

  • 当我的网络上禁止与跟踪器的所有连接时,我无法在私人跟踪器中获取种子(其中 dht 被禁用用于种子)。 如果我为跟踪器使用代理,我可以获得种子。
  • 当跟踪器是公开的(其中 dht 为种子启用)时,我希望 dht 工作(没有代理)。

您认为 DHT 是跟踪器吗? 它用作跟踪器,您可以直接向它宣布,而不是通过代理。

不,当跟踪器私有时,我不会将 DHT 视为跟踪器。 我在配置中看到了the proxy server is only used for tracker connections选项,它应该这样做并且在旧版本4.1.9

我相信如果 qBittorrent 以前工作正常,但现在它的工作方式不同,那么这是一个错误而不是一个功能。 我提供了所有日志和配置来帮助解决这个问题。 我无法禁用代理并离开私人种子~600 torrent files或者如果我启用来自磁铁种子的代理离开~2000 torrent files使用 DHT。

除了@ExceptionGit之外,其他人不能测试我的构建并报告 DHT 和 udp 跟踪器是否通过代理工作?
链接到我的构建(再次): https :

我今晚会做的。 预计 3 小时

除了@ExceptionGit之外,其他人不能测试我的构建并报告 DHT 和 udp 跟踪器是否通过代理工作?
链接到我的构建(再次): https :

udp 跟踪器仍然不起作用,DHT 仅在其关闭和打开且速度非常慢时才有效。
对等连接使用代理
任何接口
所有 IPv4 地址

(N) 2020-01-07T00:54:01 - qBittorrent v4.2.1 started
(N) 2020-01-07T00:54:01 - Running in portable mode. Auto detected profile folder at: C:/Users/USBhost/Downloads/qbittorrent_4.2.1_x64_patched_for_issue_11735_v2/profile
(I) 2020-01-07T00:54:01 - Trying to listen on: {33FC9A4A-4BF2-4E12-A02D-C6EC90432C08}:21027
(N) 2020-01-07T00:54:01 - Peer ID: -qB4210-
(N) 2020-01-07T00:54:01 - HTTP User-Agent is 'qBittorrent/4.2.1'
(I) 2020-01-07T00:54:01 - DHT support [OFF]
(I) 2020-01-07T00:54:01 - Local Peer Discovery support [OFF]
(I) 2020-01-07T00:54:01 - PeX support [OFF]
(I) 2020-01-07T00:54:01 - Anonymous mode [OFF]
(I) 2020-01-07T00:54:01 - Encryption support [ON]
(W) 2020-01-07T00:54:01 - Couldn't load GeoIP database. Reason: The system cannot find the path specified.
(N) 2020-01-07T00:54:01 - Options were saved successfully.
(I) 2020-01-07T00:54:01 - Successfully listening on IP: fe80::21f1:1b41:6bc9:c555%8, port: UDP/21027
(I) 2020-01-07T00:54:01 - Successfully listening on IP: 192.168.1.147, port: UDP/21027
(C) 2020-01-07T00:54:01 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::21f1:1b41:6bc9:c555%8]:0
(C) 2020-01-07T00:54:01 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::21f1:1b41:6bc9:c555%8]:0
(C) 2020-01-07T00:54:01 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::21f1:1b41:6bc9:c555%8]:0
(N) 2020-01-07T00:54:01 - 'censored ?' restored.
(W) 2020-01-07T00:54:11 - Couldn't download GeoIP database file. Reason: The remote host name was not found (invalid hostname)
(N) 2020-01-07T00:55:11 - Options were saved successfully.
(I) 2020-01-07T00:55:11 - Trying to listen on: 0.0.0.0:21027
(I) 2020-01-07T00:55:11 - Successfully listening on IP: 0.0.0.0, port: UDP/21027
(C) 2020-01-07T00:55:11 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0
(C) 2020-01-07T00:55:11 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0

但是,如果我在运行时启用 DHT,它会找到代理的 IP,然后我开始查找节点,但速度很慢。 一段时间后,DHT 为 torrent 找到对等点(所有对等点都使用 uTP),但 udp 跟踪器仍然不起作用。

(I) 2020-01-07T00:58:20 - DHT support [ON]
(W) 2020-01-07T00:58:20 - Restart is required to toggle PeX support
(N) 2020-01-07T00:58:20 - Options were saved successfully.
(I) 2020-01-07T00:58:28 - Local Peer Discovery support [ON]
(N) 2020-01-07T00:58:28 - Options were saved successfully.
(I) 2020-01-07T00:58:29 - Detected external IP: 46.166.186.206

如果 DHT 在启动时打开,它不会找到任何节点,也不会找到代理的 ip。

(N) 2020-01-07T01:18:21 - qBittorrent v4.2.1 started
(N) 2020-01-07T01:18:21 - Running in portable mode. Auto detected profile folder at: C:/Users/USBhost/Downloads/qbittorrent_4.2.1_x64_patched_for_issue_11735_v2/profile
(I) 2020-01-07T01:18:21 - Trying to listen on: 0.0.0.0:21027
(N) 2020-01-07T01:18:21 - Peer ID: -qB4210-
(N) 2020-01-07T01:18:21 - HTTP User-Agent is 'qBittorrent/4.2.1'
(I) 2020-01-07T01:18:21 - DHT support [ON]
(I) 2020-01-07T01:18:21 - Local Peer Discovery support [OFF]
(I) 2020-01-07T01:18:21 - PeX support [OFF]
(I) 2020-01-07T01:18:21 - Anonymous mode [OFF]
(I) 2020-01-07T01:18:21 - Encryption support [ON]
(W) 2020-01-07T01:18:21 - Couldn't load GeoIP database. Reason: The system cannot find the path specified.
(N) 2020-01-07T01:18:21 - Options were saved successfully.
(I) 2020-01-07T01:18:21 - Successfully listening on IP: 0.0.0.0, port: UDP/21027
(C) 2020-01-07T01:18:21 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0
(C) 2020-01-07T01:18:21 - Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0
(N) 2020-01-07T01:18:21 - censored ?' restored.
(W) 2020-01-07T01:18:32 - Couldn't download GeoIP database file. Reason: The remote host name was not found (invalid hostname)
(W) 2020-01-07T01:20:03 - Restart is required to toggle PeX support
(N) 2020-01-07T01:20:03 - Options were saved successfully.

如果我关闭 DHT 然后再次打开它就会开始工作并且代理的 IP 是已知的。

(I) 2020-01-07T01:22:57 - DHT support [OFF]
(W) 2020-01-07T01:22:57 - Restart is required to toggle PeX support
(N) 2020-01-07T01:22:58 - Options were saved successfully.
(I) 2020-01-07T01:23:02 - DHT support [ON]
(W) 2020-01-07T01:23:02 - Restart is required to toggle PeX support
(N) 2020-01-07T01:23:02 - Options were saved successfully.
(I) 2020-01-07T01:23:02 - Detected external IP: 46.166.186.206

@sledgehammer999你想让我把我的 PIA socks5 代理密码借给你来测试吗?

下列的; 感谢所有正在努力寻求解决方案的人。 我的 PIA 代理激活时,所有公共跟踪器都“不工作”

除了@ExceptionGit之外,其他人不能测试我的构建并报告 DHT 和 udp 跟踪器是否通过代理工作?
链接到我的构建(再次): https :

当你第一次发布它时,我试过这个,它工作得很好......所有的跟踪器都工作了,我能够连接到近一千个对等点。

现在它不再起作用了。 只有 http 跟踪器可以工作,并且大多数种子只能获得一两个连接(如果有)。

2020-01-12 17_24_15-qBittorrent v4 2 1 Web UI
2020-01-12 17_26_53-qBittorrent v4 2 1 Web UI

打补丁的版本也不适合我......

@USBhost proxy_hostname设置为什么? 你能在命令行上用dig解决它吗?

我暂时降级到 4.1.9,它再次完美运行。 打算坚持使用这个版本一段时间。

@sledgehammer999你介意用这个补丁制作另一个测试版本https://github.com/arvidn/libtorrent/pull/4249吗?

我已经用 PIA SOCKS5 代理对此进行了测试,它“有效”。 即我确实得到了一个 DHT 路由表,我得到了对等连接,包括 uTP 和 TCP。 但是,我并没有真正仔细研究我是否获得了尽可能多的对等连接以及我是否获得了相同的传输速率。

为什么这将是对当前 1.2 分支的改进的主要理论是它实际上只是打开了一个 SOCKS5 UDP 隧道,而不是多个。 也许一些代理提供商不喜欢同一个用户一次打开多个。

我想谈谈我对修补版本 (qbittorrent_4.2.1_x64_patched_for_issue_11735_v2.7z) 的经验,它可能会深入了解正在发生的事情以及潜在的临时解决方法修复和潜在的永久修复。 这是使用 NordVPN 的 Socks5。

问题:
我知道 100% 如果我没有在日志中收到“检测到的外部 IP:xxxx”消息,那么即使 DHT、PeX 和 LSD 也没有跟踪器工作(从现在开始我只会称这个组为 DHT)在每个 torrent 的跟踪器选项卡中说“工作”。 还会发生的情况是,我无法获得任何新的 DHT 对等点并且 DHT 节点保持为 0。但是,我仍然可以连接并下载/上传到我已经从之前打开的 qB 程序中保存的 DHT 对等点。 所以听起来好像没有“检测到外部IP”消息,外界无法联系我,但我可以联系外界以启动对等连接。 听起来跟踪器和 DHT 节点也要求他们可以在我被允许连接到它们之前与我联系。

每当我没有收到“检测到外部 IP”消息时,我就会看到:
Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: x.x.x.x:x

其次是:
Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: x.x.x.x:x

这种情况连续发生 3 次。 我认为这是因为当我在高级设置中转到“要绑定到的可选 IP 地址(需要重新启动)”时,我看到 3 个 IPv4 地址(192.1.168.x、::1 和 127.0.0.1)。 如果我尝试只绑定到这些地址之一并不重要; 启动程序时,qB 在大多数情况下仍然无法检测到外部 IP。

我的解决方法:
所以为了让外部IP地址在日志中弹出,我曾经不得不一遍又一遍地重新启动qB。 现在,我必须执行以下操作,这具有更高的成功率: 在“要绑定到的可选 IP 地址(需要重新启动)”设置中,我在以下两个设置之间切换:IPv6 地址和 IPv4 地址。 如果我在“所有地址”和这两个地址之一之间交换,则什么也不会发生。 似乎如果我在 IPv6 和 IPv4 之间交换,则设置无需重新启动即可生效。 我的猜测是那里有代码可以重新启动整个 Socks5 连接尝试。 但是,当 Socks5 连接失败时(或至少不会立即执行),此代码并未执行。

因此,如果我要为此编写一个临时的 hack-job 修复程序,那就是查看是否检测到外部 IP 地址。 然后如果不是经过一段时间后,意识到Socks5实际上并没有连接。 然后从“要绑定到的可选 IP 地址(需要重新启动)”设置更改从 IPv6 到 IPv4 中获取代码以重新尝试 Socks5 连接。

我认为正在发生的事情:
因为我们有这个错误: Socks5 error: SOCKS5 error. op: connect ec: A connect request was made on an already connected socket ep: x.x.x.x:x当您关闭 qB 时,套接字连接似乎没有正确终止。 您可以通过简单地成功检测到外部 IP,关闭程序,然后立即重新启动程序来复制此错误。 你几乎肯定会得到错误。 现在我认为发生的是几秒钟后,由于超时(无论是通过 VPN 还是您的计算机),套接字在某处终止。 qB 不一定是终止套接字的那个,因为如果您关闭 qB 然后等待 10 秒左右,您将能够在下次重新启动时在日志中获得“检测到的外部 IP”消息(所以看起来像连接在 qB 已经关闭后几秒钟终止)。 但是,在检测到外部 IP 消息后,我可能仍会收到 1 或 2 条关于套接字仍在连接的错误消息,我认为这意味着它可能绑定到的 3 个 IPv4 地址中的 1-2 个失败,但有一个成功了因为它在 10 秒等待期间超时并终止。

关于我认为发生这种情况的原因的其他信息:
回到 4.1.x 版本,每当我使用 socks5 代理关闭 qB 时,它都会在任务管理器中留下一个僵尸进程。 如果我不使用 socks5 代理,则不会发生这种情况。 即使启用了socks5代理,如果没有加载种子(因此没有建立socks5连接),它也不会发生。 如果此僵尸进程存在,则再次打开 qB 将不起作用。 所以我必须通过任务管理器终止 qB 才能再次打开 qB。 4.2.0 版修复了这个问题。 我可以在启用了 socks5 代理的情况下关闭 qB,并且永远不会有僵尸进程。 但是,我认为首先创建僵尸进程是因为socks5套接字连接无法终止。 即使该连接终止,僵尸进程也不知道并保持在那里。 我假设在 4.2 版本中,它忽略了 socks5 套接字连接仍然连接并且仍然终止程序的事实。 这很好,但这意味着在下一次重新启动 qB 时,套接字连接仍将连接,因此新的 socks5 连接将失败。

附加(很可能不相关)信息:
当我选择要绑定到的“所有地址”时,qB 尝试侦听:
Trying to listen on: 0.0.0.0:x,[::]:x

我假设它是 0.0.0.0,因为它实际上试图监听所有地址,而不是说多个地址,它只是给你一个空白地址。 但这会导致以下错误:
Socks5 error: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::]:0

这似乎很明显,qB 可能应该跳过 ip 0.0.0.0 的 hostname_lookup。

我怀疑大多数 SOCKS5 提供商不喜欢一台机器或用户打开多个 UDP 隧道并让新隧道替换旧隧道。 因此,由于 libtorrent 当前正在打开冗余隧道,因此打开它们的顺序很重要,只有当主界面的隧道最后打开时才会起作用。

我怀疑当 libtorrent 检测到新的外部 IP 时,它会重新打开侦听套接字,并且碰巧以正确的顺序打开它们以使其工作。

在我之前发布的补丁中,我修复了打开多个 SOCKS5 隧道的问题,因此将只有一个(每个源 IP 至少一个)。 尝试连接到袜子代理并收到套接字已连接的错误的问题(很可能)是一个单独的问题,并且可能不太重要。 它表明在重新打开侦听接口/套接字时,隧道没有正确拆除,并导致下一次打开它们的尝试失败。 但在典型情况下,它们可能不应该一开始就关闭。

还有一些测试:
我在同一个路由器上有两台计算机运行 qB,我设法让每台计算机都到达“检测到的外部 ip”消息并连接到跟踪器并下载/上传完全相同的 Torrent,即使两者都使用相同的用户名/密码和完全相同的 NordVPN socks5 服务器/IP 地址。 因此,如果我的测试符合我的想法,那么 NordVPN 能够从同一源 IP/用户运行多个 socks5 隧道,而且我的问题与您使用 PIA 遇到的问题不同。

当 qB 的补丁发布后,我会尝试一下,如果它解决了我的问题,请告诉您。 如果没有,我真的希望有人会编写代码来重新启动socks5 连接,如果它没有到达日志中显示“检测到外部IP”的位置。 我找到了另一种通过更改设置中的侦听端口号来重新启动socks5 连接的方法。 但我希望我不必继续手动执行此操作。

我很确定因果关系是相反的。 “检测到的外部 IP”是 DHT 和对等连接工作的结果。 不过,多条隧道上的数据点很好!

我也很确定。 但是我在日志中没有其他方法可以告诉我是否成功建立了 socks5 连接,因为日志不是很详细,所以我只是使用“检测到的外部 ip”消息作为流程中的一个点,表明我们成功连接到socks5。 我很确定在“Detected external ip”消息出现之前成功建立了socks5连接,因为即使没有通过关闭DHT显示“Detected external ip”消息,我也能够成功连接到跟踪器(因为关闭 DHT,即使socks5 连接成功与否,“检测到的外部IP”消息也不会出现)。

不管怎样,听起来我们有两个不同的问题:你的 PIA 不喜欢多个socks5 隧道。 我和其他一些人(calvilasboasjr、doxavk,可能还有其他所有人,包括 PIA 用户),他们的 NordVPN(和其他 socks5)可以连接到多个 socks5 隧道,但并不总是成功连接(可能是因为 socks5 套接字不是) t 被正确拆除,因此 qB 无法重用套接字 - 根据错误消息)。 在我们的两种情况下,除非您重新启动程序或添加新的 torrent 或更改端口 IP 或将绑定到的 IP 地址从“仅 ipv6 地址”更改为(所有地址或所有地址),否则 qB 不会重新尝试连接到 socks5 ip4 地址或任何 ip4 地址)。

所以我想要一个构建,它确实尝试在失败时自动重新连接socks5,而不是我们必须手动进行。 就这样。

我还想添加另一个数据点:
即使在 qB 成功连接到socks5 并且跟踪器/dht 正在工作并获得对等点之后,qB 有时也会在添加新的 torrent 后停止工作。 也许是因为添加新的 torrent 会导致 qB 尝试重新连接到 socks5 或其他东西,这可能会导致它失败(这成为永久性失败,因为它从不尝试自行重新连接)。 同样奇怪的是,如果我在此故障之前连接了对等点,则对等点仍然连接并下载/上传给我。 所以看起来socks5连接仍然有效,但qB不再使用它来连接跟踪器/ dht。 然后当然,当我更改 UPnP/Nat-PMP 端口号时,我最终可以让 qB 成功重新连接到 socks5,再次收到“检测到的外部 ip”消息,并且跟踪器又恢复工作了。

@regoapps @ sledgehammer999 @arvidn
伙计们,有没有办法让 qBitTorrent 变得尽可能详细?!
我的意思是,如果你们可以为我们添加这个功能。 “更好的详细模式”

也许有了更多的细节,我们可以分享更多的数据,并尝试为其问题找到解决方案。

你们觉得怎么样?!

更多数据点:使用wireshark监控流量,我可以确认在关闭qB后,对等点仍然通过Socks5下载/上传,重新启动qB后,即使跟踪器/DHT被Socks5“无法访问”,对等点仍然通过Socks5连接. 所以看起来套接字没有正确拆除,并且因为它没有正确拆除,所以 Socks5 无法连接,因为套接字已经连接。 而且 qB 似乎仍然知道使用旧的 Socks5 套接字与对等方连接,但似乎不知道将它用于跟踪器/DHT。

我还降级到不同版本的 qB 来查看 Socks5 的行为。 似乎所有 4.1.x 版本都在做同样的事情,在跟踪器/DHT 尚未连接的情况下,对等方可以通过上一个会话的 Socks5 进行连接。

我还注意到,在 4.1.x 版本中,它在连接到 Socks5 时也存在问题,并且并不总是立即显示“外部 IP”消息。 有时它会在 3 分钟后才显示出来。 这很可能意味着即使在 4.1.x 中它也很难连接到 Socks5。 如果 4.1.x 版的日志中有 Socks5 错误消息,我敢打赌它会说与 4.2.x 版中说的一样的话(套接字已经连接,因此没有创建新的套接字)。 因此,连接到 Socks5 的问题似乎已经存在一段时间了。

但是 4.1.x 和 4.2.x 之间的主要区别在于,在 4.1.x 中,它在自动失败后重新尝试连接到 Socks5。 而在 4.2.x 中,它永远不会。 我希望我可以通过降级到 4.1.x 来解决这个问题,但是 4.1.x 的所有版本也很糟糕,因为如果在程序具有 Socks5 连接活动时关闭程序,它们会在 Windows 10 中留下僵尸进程。

UDP 隧道在socks5 中有点特殊。 这是一个建立隧道的 TCP 连接,但没有消息可以拆除它。 相反,TCP 连接在隧道期间保持打开和空闲状态。 当隧道启动时,UDP 数据包可以通过它流动,但它们需要一个额外的 socks5 标头进行路由。

一旦进程退出,所有 UDP 和 TCP 套接字肯定会关闭。 没有进程拥有套接字就无法打开套接字。 但是,您可能仍会看到通过隧道传入的 UDP 数据包,以防代理仍在让数据包通过。

因此,当您说:“我可以确认在关闭 qB 后,同行仍然通过 Socks5 下载/上传”时,您看到的具体症状是什么?

如果您确实看到了在wireshark 中发送的数据包,您可以看到是哪个源端口,并找出哪个进程正在发送它们。 如果发生这种情况,我怀疑 qbt 仍在运行。

抱歉没有说得更清楚。 这就是我所做的:

打开wireshark,看不到任何活动。

打开 qB,下载种子文件并等待对等方连接并下载/上传。 验证对等方是否通过wireshark 使用您的socks5 代理。

当对等体正在传输时,关闭 qB。 所有活动停止。 此时,如果我使用的是 qB 4.1,则任务管理器中会留下一个僵尸进程,而 qB 4.2 会立即关闭。 僵尸进程什么都不做:没有磁盘或网络活动或内存大小变化。

杀死qB后,当我再次打开qB时,对等点立即连接并仍然通过代理传输,即使代理无法连接到跟踪器或DHT。

即使我更改了代理设置,wireshark 仍然显示通过我拥有的原始代理 IP 传输的对等点。 即使跟踪器切换到新代理,旧对等点仍在使用旧代理,直到最终它们都切换到新代理。

也许这可以让我们深入了解正在发生的事情? qB 可以通过任何方式识别用于传输到对等方的套接字并使用它来连接到跟踪器/DHT?

因为我看到了类似的东西,所以我会添加我的 2 美分。 关闭 QB 和
窗口关闭,但进程不会终止。 在 Windows 10 下
亲我必须打开任务管理器并手动终止 QB 进程。 这个
总是在 4.1.x 中发生,有时在 4.2.x 中发生。 4.2.x 是
从 4.1.x 开始表现更好,但距离工作还有很长的路要走。 我正在使用
我的代理服务的 PIA,我承认问题也可能出在
PIA-SOCK5 代理。 即使问题出在 PIA 上,也必须有一个
有效的 PIA 的解决方法。

在 2020/1/16 下午 12:32,Arvid Norberg 写道:
>

UDP 隧道在socks5 中有点特殊。 这是要设置的 TCP 连接
沿着隧道向上,但没有消息可以拆除它。 相反,
TCP 连接在隧道期间保持打开和空闲状态。
当隧道开启时,UDP 数据包可以通过它流动,但它们需要一个
用于路由的附加socks5 标头。

一旦进程退出,所有 UDP 和 TCP 套接字都将关闭
当然。 没有进程拥有就无法打开套接字
它。 但是,您可能仍会看到通过隧道传入的 UDP 数据包,在
如果代理仍在让数据包通过。

所以,当你说:“我可以确认在与同行关闭 qB 之后
仍然通过 Socks5 下载/上传”,您看到的具体症状是什么?

如果您 /actually/ 在wireshark 中看到数据包 /sent/,您可以看到
哪个源端口是那个,并找出哪个进程正在发送
他们。 如果发生这种情况,我怀疑 qbt 仍在运行。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/qbittorrent/qBittorrent/issues/11735?email_source=notifications&email_token=AOATW64ROBQODYG3MNXYX7TQ6C76DA5CNFSM4J6OCB7KYY3PNVWWK3TUL52HS4DFVREXG43MVVMXVBHW630000000000000000000000000000000000000000000000000000000000000043000000000000000000000000000000000000000000000000000003
或退订
https://github.com/notifications/unsubscribe-auth/AOATW66YL73WU6S7RG2IXGDQ6C76DANCNFSM4J6OCB7A

关于解决此问题的任何进一步消息?

“修复”需要充分理解和影响“原因”
代码标识。 从我已经能够观察到它看起来像
我们仍在努力确定“症状”。 这不是一个简单的问题。

如果我错了,那么请有人解释这种行为的“原因”
和识别码。

在 1/20/2020 12:03 AM,HnyBear 写道:
>

关于解决此问题的任何进一步消息?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/qbittorrent/qBittorrent/issues/11735?email_source=notifications&email_token=AOATW65ZCR3B2KLZ5CV4RXDQ6VLETA5CNFSM4J6OCB7KYY3PNVWWK3TUL52HS4DFVREXG43MVWDNWWJL03000000000000000000000000000000000000000000000000000000000000000000001
或退订
https://github.com/notifications/unsubscribe-auth/AOATW6YIENU5FL2WZQQTXJTQ6VLETANNCNFSM4J6OCB7A

@HnyBear我已经安装了主要补丁(在 libtorrent 中),我认为至少会显着改善这种情况。 我无法使用 PIA SOCKS5 代理在我自己的测试(不使用 qbt)中重现任何问题。 还有一些要登陆,也许最重要的是这个 UPnP 相关补丁

一旦我相信 libtorrent RC_1_2分支是好的,我会再次 ping @sledgehammer999在这里进行测试构建。

@ sledgehammer999 @glassez @Chocobo1
libtorrent 文档的这些新增内容还提到了 SOCKS5 代理,您可能会感兴趣:
https://github.com/arvidn/libtorrent/pull/4267

@sledgehammer999我认为RC_1_2现在处于一个好位置。 它有一些我认为可以改进或解决这些问题的修复程序。 如果没有,它的日志记录稍微好一些。 我认为在RC_1_2之上获得 qbt 的测试版本会很好

真的很期待一个构建来尝试这个。

我很期待新版本。 谢谢你的工作。 我有另一个数据点给你们。 我可以让打过补丁的 qbt 4.2.1 即使在它之前工作之后也一直失败与 socks5。 你只需要让你的电脑进入睡眠状态,当它再次醒来时,你会得到一个 socks5 错误,跟踪器/dht 将停止工作。 这是socks5错误:

1/21/2020 1:15 PM - Socks5 error: SOCKS5 error. op: hostname_lookup ec: The requested name is valid, but no data of the requested type was found ep: 107.181.164.80:1080 1/21/2020 5:16 AM - Socks5 error: SOCKS5 error. op: sock_read ec: The network connection was aborted by the local system ep: 107.181.164.80:1080 1/21/2020 5:10 AM - Detected external IP: 107.181.164.81

有趣的是,socks5 仍然以其他方式工作。 例如,我仍然能够通过socks5 代理检索和解析RSS,并且我仍然能够下载/上传到我在使计算机进入睡眠状态之前连接的对等点。 只有跟踪器/dht 会停止工作。

虽然我没有安装补丁版本来提供日志信息,但我偶然发现了一些可能有用的附加信息:

我添加了一堆手动 http 跟踪器来解决这个问题。 但是,如果列表中出现第一个 udp 跟踪器,则联系跟踪器似乎会停止或停止。 种子将与此问题中的所有行为一起坐在那里,直到我删除第一个 udp 跟踪器,然后是 MAGIC! 它捡起所有的种子并开始运输。

虽然我没有安装补丁版本来提供日志信息,但我偶然发现了一些可能有用的附加信息:

我添加了一堆手动 http 跟踪器来解决这个问题。 但是,如果列表中出现第一个 udp 跟踪器,则联系跟踪器似乎会停止或停止。 种子将与此问题中的所有行为一起坐在那里,直到我删除第一个 udp 跟踪器,然后是 MAGIC! 它捡起所有的种子并开始运输。

实际上,只需选择任何跟踪器并更新它的位置就足够了(单击右侧的两个箭头中的任何一个)。 这将像您描述的那样“神奇地”开始一切。

有什么事吗? 我们在这方面有进展吗?
我的 4.1.9.1 现在变得不稳定。 真的需要一个有效的 4.2.x 版本

@Splike在您的情况下,您是否有任何 HTTP 跟踪器,或者在跟踪器周围戳一下也能修复 UDP 跟踪器?
使用 SOCKS5 代理时,这仍然是全部,对吗?

就我而言,它是一个 SOCKS5 代理,我已经检查和取消选中所有
通过代理发送所有流量的选项。

但这不是 100% 的时间。 有些事情即使使用 udp 也能正常工作
跟踪器。 太奇怪了

2020 年 1 月 24 日星期五上午 10:19 Arvid Norberg通知@ github.com
写道:

@Splike https://github.com/Splike在你的情况下,你有任何 HTTP
跟踪器还是在跟踪器周围闲逛也能修复 UDP 跟踪器?
使用 SOCKS5 代理时,这仍然是全部,对吗?


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/qbittorrent/qBittorrent/issues/11735?email_source=notifications&email_token=AAAAUCKIUA6ZKIZW2SIJ7HTQ7MIKVA5CNFSM4J6OCB7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBWJKLOJDNX843VMVBWZKLOJDNXM5G43VMVBWZKLOJDNX852000000000000000000000007800000000000000787
或退订
https://github.com/notifications/unsubscribe-auth/AAAAUCNDJFIF6N3DLMGVHJDQ7MIKVANCNFSM4J6OCB7A
.

@arvidn我在 qbit v4.2.1 上使用 PIA SOCKS5 代理
仔细观察,几乎我所有的 udp 跟踪器都“不工作”,但 http 和 https 跟踪器都适合我。

工作的单个 udp 跟踪器是第 0 层的跟踪器。所以似乎当一个工作时,其余的不工作。

我想知道这个袜子的问题是否会在 qbittorrent 中得到解决。

我现在只使用 4.1.9.1 版。 然后,即使没有种子,我也会一直运行我的 qB。 如果我的计算机睡着了或者我的网络连接失败了,我会运行一个 .bat 脚本来杀死任务管理器中的 qB(否则它会留下一个僵尸进程)并重新打开它。 事实证明,当我的计算机休眠时,qB 的 socks5 在版本 4.1.x 中也停止工作,因此这个 socks5 问题已经存在很长时间(或者更有可能是某些 Windows 10 更新破坏了它)。 到目前为止,这就是我所做的几乎所有时间都可以运行的工作。

@regoapps有趣的是,您提到这已经存在一段时间了。 在过去的版本中,我在 4.2.x 之前多次遇到过这个 socks5 问题。 在 4.1.7 到 4.1.9 中,它已经基本稳定了,但我和你的情况一样。

另外,是的,如果您停止 qBittorrent,它似乎总是会离开这个僵尸进程。 只有通过任务管理器才能杀死它。

请解决这个问题。 我不能使用我的代理...

如果我的计算机睡着了或者我的网络连接失败了,我会运行一个 .bat 脚本来杀死任务管理器中的 qB(否则它会留下一个僵尸进程)并重新打开它。 事实证明,当我的电脑休眠时,qB 的 socks5 在版本 4.1.x 中也停止工作,所以这个 socks5 问题已经存在很长时间了

这听起来像是一个单独的问题。 我不记得它曾经被报告过,但据我所知,它与这张票无关,这与socks5 UDP 完全有关。 你是说如果电脑休眠和唤醒,socks5 UDP隧道不重新建立?

僵尸进程仅在我使用socks5 代理时才会出现。 如果我不这样做就不会发生。 所以可能有关系。

之前已经报道过,但被一个对我不起作用的解决方案关闭。 Windows 更新表示我的计算机上不存在需要删除的更新,其他人报告说即使在全新的 Windows 安装上也会发生这种情况: https :

如果我让我的计算机进入睡眠状态,无论我是 4.1.9.1 还是 4.2.1,UDP 跟踪器和 DHT 都会停止连接。 旧的对等点仍然可以通过socks5 代理连接。 因此,它与启动时的 qB 4.2 场景几乎相同(大部分时间)。

使 UDP 跟踪器和 DHT 停止工作的另一种方法是从 Windows 防火墙中删除 qB,然后将其重新放入。 这会切断网络连接,qB 无法从中恢复。

@regoapps这是一个单独的问题,应该有自己的票证。 这是在 libtorrent 中解决它的尝试: https :

我想知道作为一种解决方法,是否可以有一个选项“仅对对等连接使用代理,而不对跟踪器连接使用代理”,即在没有任何代理的情况下从跟踪器检索对等点,并通过代理进行 p2p 文件传输,假设有成为一种从跟踪器检索对等点的方法,而无需跟踪器将我们的公共 IP 泄露给其他对等点。 但是,我不太了解跟踪器的基本工作原理,如果不可能,请纠正我。

跟踪器记录您的 IP 地址并假设您可以接受来自该 IP 的传入连接。 修复错误比添加此功能要简单得多(这对我来说似乎也有问题)。

我相信它已在最近发布的 libtorrent-1.2.4 中得到修复。 至少,情况已经改善了很多。 我很想知道人们是否仍然有问题以及症状是什么。

由于 qB 的下一次更新似乎需要一段时间,我将告诉你们我现在拥有的解决方案,以使 Socks5 在 Windows 上几乎 100% 的时间都能工作。

首先,我使用 qB 4.1.9.1 而不是 4.2,因为 4.2 没有 100% 的时间连接到 socks5。 qB 4.1.9.1 最终几乎总是会连接到socks5。 我说“最终”,因为有时连接到socks5会有点慢,但与qB 4.2不同,它至少会在一段时间后重新尝试连接。

接下来,要解决“关闭后的僵尸进程”错误,请使用您想要的任何名称(例如 restartqb.bat)创建一个 .bat 文件,其中包含以下内容: https ://pastebin.com/JAdYTb7c

这样做是要求 Windows 提供管理员权限,以便能够在任务管理器中终止 qB 进程。 我将 UAC(用户访问控制)设置为允许它在不需要用户交互的情况下运行。 restartqb.bat 文件的最后一行应该编辑到您安装 qB 的任何位置。 杀死它后,它将为您重新启动qB。 稍后您将需要这个 restartqb.bat 文件。

现在,使用新名称(例如killqb.bat)创建此restartqb.bat 文件的副本并删除killqb.bat 文件的最后一行,以免它重新启动qB。 每当你想关闭 qB 时,你应该只使用这个新的 killqb.bat 文件来关闭 qB,因为以任何其他方式关闭 qB 都有可能留下僵尸进程。 重要提示:不要使用 X 按钮关闭 qB,也不要使用“下载完成:退出 qBittorrent”选项,否则您将面临离开僵尸进程的风险(这会阻止 qB 再次打开)。

最后,还有一个错误。 如果您的计算机休眠,则 udp 服务器将停止使用 socks5。 要解决此问题,请打开您的任务计划程序。 现在创建一个新任务。 添加新触发器。

开始任务:在一个事件上
日志:系统
资料来源:内核电源
事件 ID:131
注意:如果事件 ID 131 对您不起作用,请尝试事件 ID 1。这是您的计算机从睡眠中唤醒时的触发器。

接下来,转到“操作”选项卡,并添加一个新操作。

行动:启动一个程序
程序/脚本:(放置您之前创建的 restartqb.bat 文件的位置 - 不是 killqb.bat 文件)。

应该就是这样。 现在,qB 应该可以与 socks5 一起可靠地运行了。

@arvidn现在有没有办法测试 libtorrent-1.2.4? 我很想尝试一下。

这一切都是开源的。 你只需要弄清楚如何构建它和 qbt(或找人为你做)。 我真的没有 Windows 机器。

@sledgehammer999新的测试版本好吗?

对不起各位,我在现实生活中真的很忙。
这是另一个基于 v4.2.1 和来自 1.2.x libtorrent 的最新代码的构建(https://github.com/arvidn/libtorrent/commit/ad83b1c0eb293b63c69f7879ca6ba2381369f77f)

链接: https :

有一个针对 libtorrent 的补丁尚未发布,我相信它可以解决这个问题。 我希望至少有一个人在我登陆之前确认它解决了他们的问题。 请再次进行测试构建: https :

实际上,这个问题应该在 1.2.4 版本中得到修复,但人们也报告了那个问题,我试图用那个补丁修复。

对不起各位,我在现实生活中真的很忙。
这是另一个基于 v4.2.1 和来自 1.2.x libtorrent ( arvidn/ libtorrent@ad83b1c ) 的最新代码的构建

链接: https :

我尝试了这个补丁 4.2.1 版本,但对我来说,DHT 节点永远不会从零开始移动。 回到 4.1.9.1 并且它们超过零..所以不能说,对我来说,它有帮助

@ sledgehammer999 我认为如果 QBitTorrent 能够记录所有错误警报,包括跟踪器错误,那就太好了

我目前遇到了这个问题,如果有帮助,这里是日志:

(N) 2020-02-18T19:24:59 - qBittorrent v4.2.1 启动
(N) 2020-02-18T19:24:59 - 使用配置目录:/home/qbtuser/.config/qBittorrent/
(I) 2020-02-18T19:24:59 - 尝试听:0.0.0.0:15721,[::]:15721
(N) 2020-02-18T19:24:59 - 同行 ID:-qB4210-
(N) 2020-02-18T19:24:59 - HTTP 用户代理是“qBittorrent/4.2.1”
(I) 2020-02-18T19:24:59 - DHT 支持 [开启]
(I) 2020-02-18T19:24:59 - 本地 Peer Discovery 支持 [ON]
(I) 2020-02-18T19:24:59 - PeX 支持 [ON]
(I) 2020-02-18T19:24:59 - 匿名模式 [关闭]
(I) 2020-02-18T19:24:59 - 加密支持 [ON]
(I) 2020-02-18T19:24:59 - UPnP / NAT-PMP 支持 [ON]
(I) 2020-02-18T19:25:00 - 加载了 GeoIP 数据库。 类型:GeoLite2-国家。 构建时间:2019 年 12 月 10 日星期二 07:06:53。
(N) 2020-02-18T19:25:00 - 使用内置 Web UI。
(W) 2020-02-18T19:25:00 - 无法加载所选语言环境 (en_US) 的 Web UI 翻译。
(N) 2020-02-18T19:25:00 - Web UI:现在监听 IP:*,端口:8888
(I) 2020-02-18T19:25:00 - 成功侦听 IP:0.0.0.0,端口:UDP/15721
(I) 2020-02-18T19:25:00 - 成功监听 IP: 2600:2108:f:8000:52e5:49ff: feee:41f8 , port: TCP/15721
(I) 2020-02-18T19:25:00 - 成功监听 IP: 2600:2108:f:8000:52e5:49ff: feee:41f8 , 端口: UDP/15721
(I) 2020-02-18T19:25:00 - 成功监听 IP: fe80::52e5:49ff: feee:41f8%enp5s0 , port: TCP/15721
(I) 2020-02-18T19:25:00 - 成功侦听 IP:fe80::52e5:49ff: feee:41f8%enp5s0 ,端口:UDP/15721
(C) 2020-02-18T19:25:00 - 无法恢复 torrent '8643b406a95a9a87a7cb2605152b992d8cb94bcb'。
(I) 2020-02-18T19:25:00 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:UDP/15721
(W) 2020-02-18T19:25:00 - 无法下载 GeoIP 数据库文件。 原因:找不到远程主机名(主机名无效)

@ sledgehammer999如果您错过了,请针对

这里有一些进展: https :
我不会打扰 libtorrent 4331。我会尽快提供另一个我更有信心的补丁(但可能是这个周末)。

对不起各位,我在现实生活中真的很忙。
这是另一个基于 v4.2.1 和来自 1.2.x libtorrent ( arvidn/ libtorrent@ad83b1c ) 的最新代码的构建

链接: https :

好的,我试过了,但不幸的是 udp 和 http 跟踪器 url 仍然无法正常工作。 在等待下一个补丁的同时,我将继续运行没有socks5代理服务器和NordVPN App的客户端。 感谢您为解决此问题所做的所有辛勤工作:)

好的,我试过了,但不幸的是 udp 和 http 跟踪器 url 仍然无法正常工作。 在等待下一个补丁的同时,我将继续运行没有socks5代理服务器和NordVPN App的客户端。 感谢您为解决此问题所做的所有辛勤工作:)

感谢您的测试,但该版本已经过时了。 如果您可以帮助测试以下补丁,那就太好了: https :

@sledgehammer999你能发布一个 Windows 版本供人们使用最新的 libtorrennt 1.2 提交 + https://github.com/arvidn/libtorrent/pull/4339进行测试

@sledgehammer999如果您也可以给我一个构建版本,我可以在 ubuntu 上进行测试

启动后,我收到一个end of file和一个already open错误。 然后一些下载工作,但 DHT 和 UDP 跟踪器仍然损坏。

编辑:使用 v3 版本。

8-3-2020 17:47 - Socks5 error: SOCKS5 error. op: sock_open ec: Already open ep: <proxy-server-ip>:1080
8-3-2020 17:47 - Socks5 error: SOCKS5 error. op: sock_read ec: End of file ep: <proxy-server-ip>:1080
8-3-2020 17:47 - Detected external IP: <proxy-exitpoint-ip>
8-3-2020 17:47 - Couldn't download GeoIP database file. Reason: The remote host name was not found (invalid hostname)
8-3-2020 17:47 - Successfully listening on IP: <internal-ip>, port: UDP/51959
8-3-2020 17:47 - Options were saved successfully.
8-3-2020 17:47 - Web UI: Now listening on IP: 127.0.0.1,<two-internal-ips>, port: 8085
8-3-2020 17:47 - Web UI translation for selected locale (en) has been successfully loaded.
8-3-2020 17:47 - Using built-in Web UI.
8-3-2020 17:47 - GeoIP database loaded. Type: GeoLite2-Country. Build time: di dec 17 20:59:54 2019.
8-3-2020 17:47 - Encryption support [ON]
8-3-2020 17:47 - Anonymous mode [OFF]
8-3-2020 17:47 - PeX support [ON]
8-3-2020 17:47 - Local Peer Discovery support [ON]
8-3-2020 17:47 - DHT support [ON]
8-3-2020 17:47 - HTTP User-Agent is 'qBittorrent/4.2.1'
8-3-2020 17:47 - Peer ID: -qB4210-
8-3-2020 17:47 - Trying to listen on: <internal-ip>:0
8-3-2020 17:47 - Using config directory: <app-roaming-dir>
8-3-2020 17:47 - qBittorrent v4.2.1 started

@arvidn从 1.2.5 开始,只有 DHT 问题仍然存在,对吗?

我认为实际上没有问题。 DHT 不会比平时多。 问题是 DHT 不会一直刷新所有内容,它会逐渐 ping 和超时旧对等点并获得新对等点。 因此,切换网络接口会导致 DHT 出现故障。 但我很确定它最终会恢复,它可能不会那么快。

有人可以基于 libtorrent RC_1_2进行构建吗?

@arvidn

事实上。 DHT 不会比平时多。 问题是 DHT 不会一直刷新所有内容,它会逐渐 ping 和超时旧对等点并获得新对等点。 因此,切换网络接口会导致 DHT 出现故障。 但是我

好的,我从这个https://github.com/arvidn/libtorrent/issues/4325#issuecomment -595485626 假设它根本没有恢复。

我仍然需要完全重新启动 qbit,偶尔需要暂停然后启动种子文件以再次下载它们。

@HnyBear这是 libtorrent RC_1_2分支吗?

大锤最后在此处发布的任何版本。 他在 21 天前发布的那个。

好的,我试过了,但不幸的是 udp 和 http 跟踪器 url 仍然无法正常工作。 在等待下一个补丁的同时,我将继续运行没有socks5代理服务器和NordVPN App的客户端。 感谢您为解决此问题所做的所有辛勤工作:)

感谢您的测试,但该版本已经过时了。 如果您能帮助测试以下补丁,那就太好了

@sledgehammer999你能发布一个 Windows 版本供人们使用最新的 libtorrennt 1.2 提交 + arvidn/libtorrent#4339 进行测试吗?

我们有一个可以测试的版本吗? 谢谢。

免责声明:我不是这个项目或任何其他项目的开发人员/维护人员( _使用风险自负_

这是 qBittorrent 4.2.1 和 libtorrent 1.2.5 的 Windows 版本,我使用以下相关分支的 wiki 页面说明进行编译:

qBittorrent-4_2_x 分支
118af03534e5ded6d3c8323b5dbeeff57b177193

libtorrent-RC_1_2 分支
bc666052c7f77183fd3cade654d8521426f40404

使用 libtorrent 1.2.5 下载 qBittorrent 4.2.1

qBittorrent 4 2 1 self-compiled

免责声明:我不是这个项目或任何其他项目的开发人员/维护人员( _使用风险自负_

这是 qBittorrent 4.2.1 和 libtorrent 1.2.5 的 Windows 版本,我使用以下相关分支的 wiki 页面说明进行编译:

qBittorrent-4_2_x 分支
118af03534e5ded6d3c8323b5dbeeff57b177193

libtorrent-RC_1_2 分支
bc666052c7f77183fd3cade654d8521426f40404

使用 libtorrent 1.2.5 下载 qBittorrent 4.2.1

qBittorrent 4 2 1 self-compiled

对我来说可悲的是,这并没有解决问题。
使用这个二进制文件打开,即使在几分钟后,我也没有通过socks5 代理获得 DHT 节点。
切换回 4.1.9.1 二进制文件,我在几秒钟内得到 292..

@amsterdampaul您是否在日志中收到任何错误消息?

@amsterdampaul您是否在日志中收到任何错误消息?

不,我只记录关于 torrent 文件处理的日志,然后它会打印出我的 ext IP。

我需要在某处启用额外的日志记录吗?

免责声明:我不是这个项目或任何其他项目的开发人员/维护人员( _使用风险自负_

这是我使用来自以下相关分支的 wiki 页面说明编译的 libtorrent 1.2.5主存储库中 qBittorrent 的 Windows 版本:

qBittorrent-master 分支
f80b7affd9bc75adea62323e1d0cdf5bdf83fb85

libtorrent-RC_1_2 分支
bc666052c7f77183fd3cade654d8521426f40404

使用 libtorrent 1.2.5 下载 qBittorrent Master Build

qBittorrent 4 3 0 self-compiled

qbt master 是否启用更多日志记录?

qbt master 是否启用更多日志记录?

老实说,我不知道答案,我从 master 编译了一个构建,以防包含一些相关的修复程序,因为自 2019 年 12 月 17 日以来 master 没有合并到 4.2.x 分支

免责声明:我不是这个项目或任何其他项目的开发人员/维护人员( _使用风险自负_

这是我使用来自以下相关分支的 wiki 页面说明编译的 libtorrent 1.2.5主存储库中 qBittorrent 的 Windows 版本:

qBittorrent-master 分支
f80b7affd9bc75adea62323e1d0cdf5bdf83fb85

libtorrent-RC_1_2 分支
bc666052c7f77183fd3cade654d8521426f40404

使用 libtorrent 1.2.5 下载 qBittorrent Master Build

qBittorrent 4 3 0 self-compiled

我使用了该版本,但在通过带 socks5 代理的磁力链接添加时仍然没有连接到 UDP 跟踪器(torguard 代理支持 udp)。 我用以下方法测试了它:

magnet:?xt=urn:btih:0f9bde94c78cfb8a61627fdc82efe18460d570ee&dn=Kali%20Linux%20-%20An%20Ethical%20Hacker%27s%20Cookbook%20-%20End-to-end%20penetrati&tr=udp%3a%2f%2ftracker.leechers-paradise.org%3a6969&tr=udp%3a%2f%2fzer0day.ch%3a1337&tr=udp%3a%2f%2fopen.demonii.com%3a1337&tr=udp%3a%2f%2ftracker.coppersurfer.tk%3a6969&tr=udp%3a%2f%2fexodus.desync.com%3a6969

启动常规 torrentfile-download 时,它可以工作。 日志还显示正确的外部(代理)IP。 磁铁洪流停在downloading metadata

23.03.20 15:05 - UPnP/NAT-PMP: Fehler beim Portmapping, Meldung: could not map port using UPnP: no router found
23.03.20 15:04 - 'Kali Linux - An Ethical Hacker's Cookbook - End-to-end penetrati' zur Liste der Downloads hinzugefügt.
23.03.20 15:03 - Erkenne externe IP: 185.156.172.154
23.03.20 15:03 - 'ubuntu-18.04.4-desktop-amd64.iso' zur Liste der Downloads hinzugefügt.
23.03.20 15:03 - Erste und letzte Teile zuerst laden: Aus, Torrent: 'ubuntu-18.04.4-desktop-amd64.iso'
23.03.20 15:03 - 'Kali Linux - An Ethical Hacker's Cookbook - End-to-end penetrati' wurde von der Übertragungsliste entfernt.
23.03.20 15:02 - 'Kali Linux - An Ethical Hacker's Cookbook - End-to-end penetrati' wiederhergestellt.
23.03.20 15:02 - Lausche erfolgreich auf IP: ::1, Port: UDP/61587
23.03.20 15:02 - Lausche erfolgreich auf IP: XXX, Port: UDP/61586
23.03.20 15:02 - Lausche erfolgreich auf IP: XXX, Port: UDP/61585
23.03.20 15:02 - Lausche erfolgreich auf IP: XXX, Port: UDP/61584
23.03.20 15:02 - Lausche erfolgreich auf IP: 127.0.0.1, Port: UDP/61583
23.03.20 15:02 - Lausche erfolgreich auf IP: XXX, Port: UDP/59205
23.03.20 15:02 - Einstellungen wurden erfolgreich gespeichert.
23.03.20 15:02 - IP geolocation database loaded. Type: DBIP-Country-Lite. Build time: So Mrz 1 01:39:31 2020.
23.03.20 15:02 - UPnP / NAT-PMP Unterstützung [EIN]
23.03.20 15:02 - Verschlüsselungsunterstützung [EIN]
23.03.20 15:02 - Anonymer Modus [EIN]
23.03.20 15:02 - PeX-Unterstützung [EIN]
23.03.20 15:02 - Lokale Peers (LPD) finden [EIN]
23.03.20 15:02 - DHT-Unterstützung [EIN]
23.03.20 15:02 - HTTP Benutzer-Agent ist 'qBittorrent/4.3.0alpha1'
23.03.20 15:02 - Peer-ID:-qB4300-
23.03.20 15:02 - Trying to listen on: 0.0.0.0:0,[::]:0
23.03.20 15:02 - Using config directory: C:/Users/XXX/AppData/Roaming/qBittorrent/
23.03.20 15:02 - qBittorrent v4.3.0alpha1 gestartet

@migasQ是否适用于使用 libtorrent-1.2.3 的 qBT 版本? 或任何其他 1.2.x 版本? 这是完整的日志吗? 你没有看到任何错误信息?

@sledgehammer999我在日志中没有看到任何socks5警报,qbt 会打印这些警报吗?

@migasQ是否适用于使用 libtorrent-1.2.3 的 qBT 版本? 或任何其他 1.2.x 版本? 这是完整的日志吗? 你没有看到任何错误信息?

@sledgehammer999我在日志中没有看到任何socks5警报,qbt 会打印这些警报吗?

@arvidn
不幸的是,默认情况下 qBittorrent 不会记录太多日志,尤其是 libtorrent 的东西。 如果使用--enable-debug配置日志,则可以稍微增加日志记录,但即使如此,也不包括您感兴趣的 libtorrent 内容。

@ sledgehammer999 @Chocobo1 @glassez
我认为很明显我们需要一个分支、构建时配置或其他东西来启用更多的 libtorrent 日志记录。 否则,诊断这些 libtorrent 连接问题将继续非常困难。 许多具有多种不同用例的用户在报告问题时都在正确地做所有事情(发布日志、屏幕截图等),但日志看起来都相似并且似乎没有表明任何问题。

不久前,我尝试半成功地添加一些警报日志来尝试解决问题(https://github.com/qbittorrent/qBittorrent/issues/11879),我认为我们必须投资于类似的东西。

我认为很明显我们需要一个分支、构建时配置或其他东西来启用更多的 libtorrent 日志记录。

“当前” - 如果通过 wiki 说明编译libtorrent ,它有debug-symbols=on logging=off所以也许编译时应该将日志记录更改为“on”??.....

Qt 似乎没有任何“我可以看到”的日志记录,这似乎也有一些问题,因此我将成为“+1”以支持在适当的情况下进行更详细的日志记录和 wiki 文档相应地更新/编辑。

@xavier2k6 libtorrent 中logging=off功能仅控制低级调试日志记录。 诸如能够为正在发送或接收的每个 bittorrent 消息获取日志条目之类的事情。 仍然支持所有重要的错误消息,并且应该由 qbt 记录(但听起来有些不是)

@xavier2k6 libtorrent 中logging=off功能仅控制低级调试日志记录。 诸如能够为正在发送或接收的每个 bittorrent 消息获取日志条目之类的事情。 仍然支持所有重要的错误消息,并且应该由 qbt 记录(但听起来有些不是)

啊,我明白了......更多的内部工作,等等。

@sledgehammer999我在日志中没有看到任何 socks5 警报,qbt 会打印这些警报吗?

我们还没有,我认为我们应该添加它们。
https://www.libtorrent.org/reference-Alerts.html#socks5_alert(1.2.4新增)

作为对 qBT 代码不太熟悉的人; 我认为记录警报的黑名单而不是白名单是有意义的。 至少我的印象是,实际上有一个被认为重要到可以记录的警报白名单。 也许可以有一个设置来记录来自 libtorrent 的错误类别中的所有警报。 我不认为会有更多的警报。 跟踪器错误警报是在日志中过滤警报的一个显着示例。

只是使用代理服务器 SOCKS5 确认 qBittorrent v4.2.2? udp 跟踪器的工作方式与以前不同。 一旦我设置了 Proxy Server None 和“Force reannounce”,udp 跟踪器就会开始工作。 非常感谢您继续找出解决方案的所有辛勤工作。 谢谢!

@condoghost在以前的 qBT 版本中做了这个工作吗? 如果是这样,当您启用强制代理时它是否也有效?

如果它不适用于 force-proxy,您可能会误以为代理有效。 在 libtorrent 的早期版本中,配置代理是“尽力而为”。 即如果代理不支持 UDP(例如),UDP 数据包将直接发送到目的地。 这意味着配置一个根本不起作用的代理(例如,只是一些随机 IP),事情仍然可以工作,但没有使用代理。

关闭“对等连接使用代理”不会破坏屏蔽您的 IP 使其不被他人跟踪的目的吗? 当然,您仍然可以选中“仅对种子使用代理”,但这不只是通过代理传输种子的内容吗? 您不是还在“宣布”您的 IP(未屏蔽)在群中吗?

我发现这个线程 b/c 我有一个问题,所有的跟踪器都被列为状态 = '不工作'。 @condoghost所说的对我也

如果我错了,请纠正我,这只是我目前的理解。 我发现跟踪器上的大量线程无法正常工作,但似乎找不到可以清楚地解释问题的线程。 还有很多封闭的 Git 问题,但它们似乎都没有解决或解释潜在的问题。 如果我在关注,qBittorrent 使用 libtorrent... qBittorrent 是否会更新到最新的 libtorrent(我假设解决了其中一些 SOCKS5 和跟踪器问题)。

但使用 SOCKS5 完全屏蔽您的流量/IP 的选项的全部意义不是吗? 似乎这只是一个半生不熟的解决方案......

问题是:你将如何使用 Tor SOCKS5 代理来做到这一点?

即使我们忽略了不要将 Tor 用于 Torrent 的建议,我仍然没有找到一种方法来完全 Tor-proxify 跟踪器和对等连接 - Torrent 根本不会下载和上传。 我想这与其他代理相同。 唯一似乎有效的是 Tor 代理到跟踪器。 你有不同的经历吗?

这在 4.2.2 中如何仍未解决? 我们会得到修复吗? 已经几个月了。

@小熊

这在 4.2.2 中如何仍未解决? 我们会得到修复吗? 已经几个月了。

4.2.2 修复了部分问题(选择“任何接口”时,VPN 现在可以正常工作)。 4.2.3 将很快发布,并改进 SOCKS5 错误日志记录 (https://github.com/qbittorrent/qBittorrent/pull/12232),以便希望可以修复剩余的问题,无论是在 qBittorrent 方面还是在 libtorrent 方面。

我选择了任何接口,但它仍然需要我每天重新启动几次才能再次下载。

我选择了任何接口,但它仍然需要我每天重新启动几次才能再次下载。

请提供更多详细信息以重现(确切步骤、您使用的 qBIttorrent 设置、您是否使用 VPN/SOCKS5 等)并在https://github.com/qbittorrent/qBittorrent/issues/12253 上发布

@condoghost在以前的 qBT 版本中做了这个工作吗? 如果是这样,当您启用强制代理时它是否也有效?

如果它不适用于 force-proxy,您可能会误以为代理有效。 在 libtorrent 的早期版本中,配置代理是“尽力而为”。 即如果代理不支持 UDP(例如),UDP 数据包将直接发送到目的地。 这意味着配置一个根本不起作用的代理(例如,只是一些随机 IP),事情仍然可以工作,但没有使用代理。

不,我没有被误导,代理在早期版本中工作。 代理在 v4.1.9.1 上运行良好,自从几年前我偶然发现 uTorrent 中的代理不起作用以来,我用 qBittorrent 的每个新版本“证明”了这一点。 我使用 IP-Leak 和 IP Find Check 进行交叉检查。 v4.2.0、v4.2.1 和 v4.2.2 qBittorrent SOCKS 5 代理 udp 跟踪器显然不起作用。 关闭 SOCKS 5 代理,关闭重启 clinet,之前加载的 udp 跟踪器正在工作。 打开 Sock 5 代理,关闭并重新加载客户端,之前加载的 udp 跟踪器在没有 Socks 5 的情况下继续下载,并在设置了代理 SOCKS-5 的情况下继续下载 - 虽然清楚地显示不工作 - 并且新加载的带有 udp 跟踪器的种子不会开始下载并显示不工作。

至于“无效的代理”和“只是一些随机IP”? 我知道当代理不起作用时,我清楚地知道 IP 泄漏。 无论如何,我会定期更换代理。 使用我在 qBittorrent 中设置的代理,其中 udp 跟踪器不工作,它与我在 qBittorrent 之外的 NordVPN 桌面应用程序中使用的 P2P 代理相同,并且 Sock-5 代理已启动。 在 udp 跟踪器不工作的 qBittorrent SOCKS-5 内部使用它,在 qBittorrent SOCKS-5 代理之外使用它会引起 udp 跟踪器工作。 同样,我每次都使用 IP Leak 来检查代理在 qBittorrent 内部和外部是否正常工作,所以,不 - 它不是一个根本不起作用的代理或只是一些“随机 IP”。

我希望我已经说清楚了。 我不使用 qBittorrent 和代理 SOCKS-5 设置的代理 IP 不起作用。 我完全知道在 qBittorrent 运行时代理 IP 可能会停止工作、停机进行维护或其他任何事情,但可以肯定的是,我只遇到过这个“一次”。 实际上 - 一个理想的世界 - 如果代理 SOCK-5 设置停止通过指定的 IP 连接,我希望 qBittorrent 停止,但毫无疑问,有人会回来“这是不可能编码的”或类似的声明。

那么,我如何使用 qBittorrent 生存? 好吧,我不喜欢 v4.2.2 的行距,所以我回到 v4.2.1 并在 qBittorrent 之外运行我的代理。 这不是“理想的”,因为我被迫对所有连接使用相同的代理——浏览器、客户端、youtube 等等。 我更喜欢在客户端中使用代理,因为我可以完全自由地使用,例如在一个浏览器中使用非 P2P 代理,在第二个浏览器中使用非 P2P UK 代理,例如 BBC iPlayer,在第二个浏览器中使用非 P2P 美国代理美国内容的第三个浏览器 - 使用应用程序时无法执行此操作。

不 - 这不是代理,这是 qBittorrent libtorrent。 自 v1.9.1 以来,那个或 NordVPN 代理不再在 qBittorrent libtorrent 中为 udp 跟踪器工作,但不知何故,我认为 NordVPN 永远不会有选择性的“使用此版本但不使用该版本”:)

@小熊

这在 4.2.2 中如何仍未解决? 我们会得到修复吗? 已经几个月了。

4.2.2 修复了部分问题(选择“任何接口”时,VPN 现在可以正常工作)。 4.2.3 将很快发布,并改进 SOCKS5 错误日志记录 (#12232),以便希望可以修复剩余的问题,无论是在 qBittorrent 方面还是在 libtorrent 方面。

抱歉,但是“不”,您的陈述“4.2.2 修复了部分问题(选择“任何接口”时 VPN 现在可以正常工作)”? 当我设置 Proxy SOCKS-5 ON 时,udp 跟踪器不显示工作并且新加载的种子不开始下载。 我将代理 Socks-5 设置为关闭,关闭重新启动客户端,加载的种子中的 udp 跟踪器显示工作正常,并且种子开始下载。 将代理 SOCK-5 设置为 ON,关闭并重新打开客户端,之前加载的种子的 udp 跟踪器显示不工作,但种子开始下载。 强制宣布先前加载的 udp 跟踪器显示不工作,最终显示工作。 加载一个新的 torrent udp 跟踪器不起作用并且 torrent 没有开始下载。 强制宣布新加载的跟踪器仍然无法正常工作并且无法下载 torrent。
现在我们可以一次又一次地继续这样做,就像我所做的那样 - 设置,关闭重启,检查,关闭关闭重启检查 - 我们喜欢多少次,每次都得到完全相同的结果。
代理 SOCKS-5 在 qBittorrent v4.2.0 v4.2.1 v4.2.2 中设置为 ON? udp 跟踪器不显示工作,新加载的种子将永远不会开始下载。 我们可以随心所欲地玩这个。 有时 udp 开始工作,有时以前加载的种子开始下载,但可以肯定的是,新加载的种子不会显示工作,也不会开始下载。 我现在已经用 60 个不同的代理尝试了大约 30 次,每次都得到相同的结果,但是嘿,我们都非常感谢为解决这个问题所做的所有努力。
至于“错误日志”和“日志”以及所有这些好东西? 抱歉,直到我看到有关设置 qBittorrent 错误日志和日志以及报告的简单详细说明之前,我根本无法“提供帮助”。 我很想做,但这位 68 岁的头脑现在需要保持“简单”。
再次,我非常感谢每个人为解决这个问题所做的所有辛勤工作,无论阅读“4.2.2 修复了部分问题(选择“任何接口”时,VPN 现在都可以正常工作)” :)
我完全意识到并完全理解这不是一个“容易解决的问题”。
现在保持安全 - 我自己处于 12 周的锁定期。 不要因为 99% 的冠状病毒相关新闻而“疯狂”!

我无法在 ubuntu 上重现此问题。 我正在使用此命令行进行测试:

./client_test -f client-test.log -s . --alert_mask=error,connect,tracker --proxy_hostname=proxy-nl.privateinternetaccess.com --proxy_port=1080 --proxy_type=socks5_pw --proxy_username=XXX --proxy_password=XXX ubuntu-19.10-desktop-amd64.iso.torrent

我进行传出 uTP 连接和 DHT 节点。

在wireshark中,我看到了到socks5代理的这个(TCP)连接:

=> 00000000  05 02 00 02                                        ....
<=     00000000  05 02                                              ..
=> 00000004  01 08 78 32 38 33 30 36  35 38 0a XX XX XX XX XX   ..x28306 58.XXXXX
=> 00000014  XX XX XX XX XX                                     XXXXX
<=     00000002  01 00                                              ..
=> 00000019  05 03 00 01 00 00 00 00  00 00                     ........ ..
<=     00000004  05 00 00 01 6d c9 9a e9  af d5                     ....m... ..

所以:

  • socks5 握手(支持未验证和用户名+密码)
  • 代理选择2,用户名+密码
  • 发送用户名+密码
  • 好的
  • UDP ASSOCIATE 请求(没有请求的目标地址)
  • 好的,UDP 中继在 109.201.154.233:45013

然后将 UDP 数据包包装在 SOCKS5 UDP 标头中。 例如:

                              00 00 00 01 79 83             ....y.
63 56 da bb 64 31 3a 61 64 32 3a 69 64 32 30 3a   cV..d1:ad2:id20:
16 24 3d 5d 5e 0c eb 0f 15 dc 16 9c 48 d4 bd 39   .$=]^.......H..9
ef 91 6e 20 39 3a 69 6e 66 6f 5f 68 61 73 68 32   ..n 9:info_hash2
30 3a 24 3e db 47 32 20 17 28 1d 66 3a fa 96 59   0:$>.G2 .(.f:..Y
e0 77 ed fb 46 c3 65 31 3a 71 39 3a 67 65 74 5f   .w..F.e1:q9:get_
70 65 65 72 73 31 3a 74 32 3a 5a 88 31 3a 76 34   peers1:t2:Z.1:v4
3a 4c 54 01 25 31 3a 79 31 3a 71 65               :LT.%1:y1:qe

这是带有 SOCKS5 标头的传出 DHT 消息:

  • 2 个保留的零字节
  • 片段 0
  • 地址类型 1 (IPv4)
  • 目标地址(4 字节)
  • 目标端口(2 个字节)
  • DHT数据包

该协议在RFC1928 中进行了描述。

你在wireshark中看到了什么? SOCKS5 代理说什么?

对于在此线程中遇到问题的任何人,请尝试 4.2.3。

对于有代理问题的人,更具体地说,如果您可以从源代码编译,请测试https://github.com/arvidn/libtorrent/pull/4498

对于在此线程中遇到问题的任何人,请尝试 4.2.3。

对于有代理问题的人,更具体地说,如果您可以从源代码编译,请测试arvidn/libtorrent#4498

我已经用我的socks5 代理尝试了 4.2.3,但它对我来说仍然失败。

这就是我在 4.2.3 日志中的内容(即使在 10 分钟后我显示的 DHT 节点为零)

03/04/2020 17:28 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_open ec:已经打开 ep:XXX.XXX.XXX。 XXX:32768
03/04/2020 17:28 - 检测到外部 IP:XXX.XXX.XXX.XXX
03/04/2020 17:28 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_read ec:文件结尾 ep:XXX.XXX.XXX。 XXX:32768
03/04/2020 17:28 - 忽略 SSL 错误,URL:“ https://nyaa.uk/favicon.ico” ,错误:“找不到本地查找证书的颁发者证书。无法找到任何证书验证”
03/04/2020 17:28 - UPnP/NAT-PMP:端口映射失败,消息:无法使用 UPnP 映射端口:无效参数
...
03/04/2020 17:28 - 成功侦听 IP:192.168.0.50,端口:UDP/51042
03/04/2020 17:28 - 选项已成功保存。
03/04/2020 17:28 - 观看本地文件夹:“F:\QBT_In”
03/04/2020 17:28 - 加载了 IP 地理定位数据库。 类型:DBIP-Country-Lite。 构建时间:2020 年 4 月 1 日星期三 01:49:13。
03/04/2020 17:28 - UPnP / NAT-PMP 支持 [开启]
03/04/2020 17:28 - 加密支持 [ON]
03/04/2020 17:28 - 匿名模式 [开启]
03/04/2020 17:28 - PeX 支持 [开启]
03/04/2020 17:28 - 本地对等发现支持 [ON]
03/04/2020 17:28 - DHT 支持 [开启]
03/04/2020 17:28 - HTTP 用户代理是“qBittorrent/4.2.3”
03/04/2020 17:28 - 同行 ID:-qB4230-
03/04/2020 17:28 - 尝试收听:192.168.0.50:51042
03/04/2020 17:28 - 使用配置目录:C:/Users/amste/AppData/Roaming/qBittorrent/
03/04/2020 17:28 - qBittorrent v4.2.3 开始

使用 4.1.9.1 登录工作,一两分钟后我开始看到 DHT 节点攀升至数百个。

03/04/2020 18:25 - 外部 IP:XXX.XXX.XXX.XXX
03/04/2020 18:25 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:UDP/51042
03/04/2020 18:25 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:TCP/51042
...
03/04/2020 18:25 - qBittorrent 成功侦听接口 192.168.0.50 端口:UDP/51042
03/04/2020 18:25 - qBittorrent 成功侦听接口 192.168.0.50 端口:TCP/51042
03/04/2020 18:25 - 选项已成功保存。
03/04/2020 18:25 - 观看本地文件夹:“F:\QBT_In”
03/04/2020 18:25 - 加载了 GeoIP 数据库。 类型:GeoLite2-国家。 构建时间:2019 年 12 月 10 日星期二 16:06:53。
03/04/2020 18:25 - UPnP / NAT-PMP 支持 [开启]
03/04/2020 18:25 - 嵌入式跟踪器 [关闭]
03/04/2020 18:25 - 加密支持 [ON]
03/04/2020 18:25 - 匿名模式 [开启]
03/04/2020 18:25 - PeX 支持 [开启]
03/04/2020 18:25 - 本地对等发现支持 [ON]
03/04/2020 18:25 - DHT 支持 [开启]
03/04/2020 18:25 - HTTP 用户代理是“qBittorrent/4.1.9.1”
03/04/2020 18:25 - 同行 ID:-qB4191-
03/04/2020 18:25 - qBittorrent 正在尝试侦听接口 192.168.0.50 端口:51042
03/04/2020 18:25 - qBittorrent v4.1.9.1 开始

@arvidn在 4.2.3 中,日志现在包含 SOCKS5 错误消息。 例如,请参阅上面的评论。

如果发错地方了,请见谅
但这些是我在尝试使用新的 qbittorrent 4.2.3 连接到 SOCKS5 NordVPN 服务器时日志中的当前 SOCKS5 错误

4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: 192.168.116.1:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 98.142.213.12:1080
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: End of file ep: 98.142.213.12:1080
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [::1]:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::f5c3:b129:853c:d728%6]:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::5dd1:6105:c65:7930%20]:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: [fe80::14fd:46cd:cb1b:8c50%16]:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: 127.0.0.1:8888
4/5/2020 5:12 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: hostname_lookup ec: Unknown error ep: 192.168.216.1:8888

我正在端口 8888 上从我的路由器正确地将端口转发到我的 PC。

不知道这个信息有没有用。 这是一个当前的问题,我一直无法找到任何方法来解决它。

@arvidn另一个日志

嗨,如果以下 PR(https://github.com/arvidn/libtorrent/pull/4498/files)确实为任何人“修复”了该问题,则很难在评论线程中跟进。 嗯,它对我来说。 我的日志中不再有任何 SOCKS5 错误。

为了编译它,我使用了 Arch Linux AUR 包https://aur.archlinux.org/packages/libtorrent-rasterbar-git/并修改它以检查代理接口分支。 是的,我正在运行 Manjaro Linux,这是 Arch Linux 的一个变体。
QBittorrent 的版本是 4.2.3。

如果需要,很乐意帮助提供更多信息。

@mederel感谢您测试和发布结果。 你对这个话题变得越来越大是对的。
在包含该修复程序的官方 qBIttorrent 版本发布后,此问题可能应该关闭。

同时,如果更多人可以使用该 libtorrent PR 进行测试以进一步验证结果,那就太好了。

对我来说,在 Windows 10 上,socks5 错误仍然发生,这意味着 4.2.2 和 4.2.3 不可用。

对我来说,在 Windows 10 上,socks5 错误仍然发生,这意味着 4.2.2 和 4.2.3 不可用。

是的,该修复程序尚未登陆任何稳定版本。 您必须使用https://github.com/arvidn/libtorrent/pull/4498从源代码编译以测试修复。

@FranciscoPombal希望 Sledgehammer 可以在接下来的一两周内发布 4.2.4 版本,这看起来是一个与 4.2.3 相同的相当重要的错误修复版本。

Libtorrent 1.2.6 需要先与 PR 合并才能发布。 如果你
想帮助这个过程,参与代码审查和测试
公关在 libtorrent 方面。

2020 年 4 月 9 日星期四上午 7 点 27 分,Ryan通知@ github.com 写道:

@FranciscoPombal https://github.com/FranciscoPombal希望
Sledgehammer 可以在接下来的一两周内发布 4.2.4 版本,看起来
与 4.2.3 相同,这是一个相当重要的错误修复版本。


您收到此消息是因为您发表了评论。
直接回复本邮件,在GitHub上查看
https://github.com/qbittorrent/qBittorrent/issues/11735#issuecomment-611477497
或退订
https://github.com/notifications/unsubscribe-auth/ABDAR34BF4EOVO67NFB7RFDRLWWILANCNFSM4J6OCB7A
.

arvidn 似乎很好地及时完成提交,我相信我们很快就会看到它合并和 1.2.6 ;)

Socks5,这是我现在遇到的错误。

4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 46.166.190.167:1080
4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 46.166.188.248:1080

@小熊

Socks5,这是我现在遇到的错误。

4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 46.166.190.167:1080
4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 46.166.188.248:1080

哪个版本? 4.2.3 还是使用https://github.com/arvidn/libtorrent/pull/4498从源代码编译

@FranciscoPombal @arvidn arvidn/libtorrent#4498提交355bb905cd9dfb6eeed66a6fe639b4e739bc30fd是否正确?

@xavier2k6

@FranciscoPombal @arvidn arvidn/libtorrent#4498提交355bb905cd9dfb6eeed66a6fe639b4e739bc30fd是否正确?

正确的。 如果您可以提供 Windows 测试版本,供有代理问题的人进行测试,那就太好了。

正确的。 如果您可以提供 Windows 测试版本,供有代理问题的人进行测试,那就太好了。

qBittorrent 4.2.3 发布还是基于主?

@xavier2k6我认为关闭 master 是最好的,因为它包含另一个与网络相关的修复程序,但没有进入 4.2.3: https :

@小熊

Socks5,这是我现在遇到的错误。

4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 46.166.190.167:1080
4/9/2020 5:10 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 46.166.188.248:1080

哪个版本? 4.2.3 还是使用arvidn/libtorrent#4498从源代码编译?

4.2.3

@xavier2k6我认为离开 master 是最好的,因为它包含另一个与网络相关的修复程序,但没有进入 4.2.3:#12430

@FranciscoPombal
这是针对有此问题的人的测试版本:
qbittorrent master 和 libtorrent #4498

@amsterdampaul @galacticboy2009 @HnyBear
任何有代理问题的人请尝试 xavier 在上面的评论中发布的构建。 如果仍有问题,请发布包含错误的日志。

@amsterdampaul @galacticboy2009 @HnyBear
任何有代理问题的人请尝试 xavier 在上面的评论中发布的构建。 如果仍有问题,请发布包含错误的日志。

好吧,我的结果好坏参半:一方面,我现在直接与 socks5 代理建立了 DHT 连接,并且随着时间的推移而增加。 UDP 跟踪器也显示为正常工作,但实际上从未下载任何数据(无论是否激活代理)。 所有种子都处于“停滞”或“正在下载元数据”状态(对于我新添加的磁铁种子)。 但是日志中没有错误。 我刚刚比较了 4.1.9,看看我是否破坏了某些东西,但一切都在那里按预期工作。

我测试了booth @xavier2k6 win 版本和我从当前master 和https://github.com/arvidn/libtorrent/pull/4498编译的linux 版本( proxy-interface分支)。

我在 Windows 上测试构建的结果与@MigasQ 不同。 我可以毫无问题地下载(种子没有停止),但 UDP 跟踪器都显示“不工作”。

进一步测试后的更多信息-
在 4.2.3 上,一些 UDP 跟踪器连接,我的连接状态为绿色(“在线”)。
在测试版本中,没有 UDP 跟踪器连接,我的连接状态为黄色(“无直接连接”)。

@amsterdampaul @galacticboy2009 @HnyBear @FranciscoPombal @xavier2k6
任何有代理问题的人请尝试 xavier 在上面的评论中发布的构建。 如果仍有问题,请发布包含错误的日志。

新的。 我刚刚启动了那个版本,可以确认执行日志中的 SOCKS5 错误已经消失,我的下载看起来很愉快。 话虽如此,通常重启确实会暂时修复挂起的下载,但会出现 SOCKS5 错误。 我会让应用程序打开一段时间并报告回来,但启动时没有 SOCKS5 错误是有希望的。

*编辑/更新:不,SOCKS5 错误在运行几分钟后又回来了,并且种子“停滞”了......很快就谈到了。

在 Ubuntu 18.04 上有这个问题。 将尝试新版本谢谢!

此版本是否涵盖 qbitorrent-nox?

在 Ubuntu 18.04 上有这个问题。 将尝试新版本谢谢!

此版本是否涵盖 qbitorrent-nox?

xavier 发布的新版本仅适用于 Windows,并且适用于常规 GUI 版本。 如果您使用的是 Ubuntu,则可以使用最新的 libtorrent + https://github.com/arvidn/libtorrent/pull/4498从源代码编译

@austinjordan @crafty35a如果有错误,请发布您的日志。

@crafty35a @migasQ我假设您在使用 SOCKS5 时遇到 UDP 跟踪器 _only_ 的问题?

@FranciscoPombal我在测试构建日志中没有看到任何错误。 4.2.3 继续抛出 Socks5 错误。

关于你的另一个问题,我现在看到一些 UDP 跟踪器甚至在测试版本中连接。 不知道和昨晚相比有什么变化,抱歉。

测试版本仍然显示“没有直接连接”,4.2.3 显示可连接(这不是不可能吗?)

@amsterdampaul @galacticboy2009 @HnyBear
任何有代理问题的人请尝试 xavier 在上面的评论中发布的构建。 如果仍有问题,请发布包含错误的日志。

好吧,我的结果好坏参半:一方面,我现在直接与 socks5 代理建立了 DHT 连接,并且随着时间的推移而增加。 UDP 跟踪器也显示为正常工作,但实际上从未下载任何数据(无论是否激活代理)。 所有种子都处于“停滞”或“正在下载元数据”状态(对于我新添加的磁铁种子)。 但是日志中没有错误。 我刚刚比较了 4.1.9,看看我是否破坏了某些东西,但一切都在那里按预期工作。

我测试了booth @xavier2k6 win 版本和我从当前master 和arvidn/libtorrent#4498编译的linux 版本( proxy-interface分支)。

对我来说,这个版本不能解决我的问题。
日志

10/04/2020 17:18 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_open ec:已经打开 ep:XXX.XXX.XXX。 XXX:32768
10/04/2020 17:18 - 忽略 SSL 错误,URL:“ https://rarbg.me/favicon.ico” ,错误:“主机名与此证书的任何有效主机都不匹配”
...
10/04/2020 17:18 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_read ec:文件结尾 ep:XXX.XXX.XXX。 XXX:32768
...
10/04/2020 17:18 - 成功侦听 IP:0.0.0.0,端口:UDP/51042
10/04/2020 17:18 - 选项已成功保存。
10/04/2020 17:18 - 观看本地文件夹:“F:\QBT_In”
10/04/2020 17:18 - 加载了 IP 地理定位数据库。 类型:DBIP-Country-Lite。 构建时间:2020 年 4 月 1 日星期三 01:49:13。
10/04/2020 17:18 - UPnP / NAT-PMP 支持 [开启]
10/04/2020 17:18 - 加密支持 [ON]
10/04/2020 17:18 - 匿名模式 [开启]
10/04/2020 17:18 - PeX 支持 [开启]
10/04/2020 17:18 - 本地对等发现支持 [ON]
10/04/2020 17:18 - DHT 支持 [开启]
10/04/2020 17:18 - HTTP 用户代理是“qBittorrent/4.3.0alpha1”
10/04/2020 17:18 - 同行 ID:-qB4300-
10/04/2020 17:18 - 尝试收听:192.168.0.50:51042
10/04/2020 17:18 - 使用配置目录:C:/Users/amste/AppData/Roaming/qBittorrent/
10/04/2020 17:18 - qBittorrent v4.3.0alpha1 开始

@amsterdampaul您能否在高级设置中禁用“下载跟踪器的图标”。

@amsterdampaul您能否在高级设置中禁用“下载跟踪器的图标”。

这样做了,这就是我在日志中得到的,在 X 分钟后看到 DHT 节点出现在计数器中似乎没有任何区别。

10/04/2020 17:38 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_open ec:已经打开 ep:XXX.XXX.XXX。 XXX:32768
10/04/2020 17:38 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_read ec:文件结尾 ep:XXX.XXX.XXX。 XXX:32768
...
10/04/2020 17:38 - 成功侦听 IP:0.0.0.0,端口:UDP/51042
10/04/2020 17:38 - 选项已成功保存。
10/04/2020 17:38 - 观看本地文件夹:“F:\QBT_In”
10/04/2020 17:38 - 加载了 IP 地理定位数据库。 类型:DBIP-Country-Lite。 构建时间:2020 年 4 月 1 日星期三 01:49:13。
10/04/2020 17:38 - UPnP / NAT-PMP 支持 [ON]
10/04/2020 17:38 - 加密支持 [ON]
10/04/2020 17:38 - 匿名模式 [开启]
10/04/2020 17:38 - PeX 支持 [开启]
10/04/2020 17:38 - 本地对等发现支持 [ON]
10/04/2020 17:38 - DHT 支持 [开启]
10/04/2020 17:38 - HTTP 用户代理是“qBittorrent/4.3.0alpha1”
10/04/2020 17:38 - 同行 ID:-qB4300-
10/04/2020 17:38 - 尝试收听:192.168.0.50:51042
10/04/2020 17:38 - 使用配置目录:C:/Users/amste/AppData/Roaming/qBittorrent/
10/04/2020 17:38 - qBittorrent v4.3.0alpha1 开始

与 4.1.9.1
10/04/2020 17:40 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:UDP/51042
10/04/2020 17:40 - UPnP/NAT-PMP:端口映射成功,消息:使用 UPnP 成功映射端口。 外部端口:TCP/51042
10/04/2020 17:40 - 外部 IP:XXX.XXX.XXX.XXX
10/04/2020 17:40 - qBittorrent 成功侦听接口 192.168.0.50 端口:UDP/51042
10/04/2020 17:40 - qBittorrent 成功侦听接口 192.168.0.50 端口:TCP/51042
10/04/2020 17:40 - 选项已成功保存。
10/04/2020 17:40 - 观看本地文件夹:“F:\QBT_In”
10/04/2020 17:40 - 加载了 GeoIP 数据库。 类型:GeoLite2-国家。 构建时间:2019 年 12 月 10 日星期二 16:06:53。
10/04/2020 17:40 - UPnP / NAT-PMP 支持 [开启]
10/04/2020 17:40 - 嵌入式跟踪器 [关闭]
10/04/2020 17:40 - 加密支持 [ON]
10/04/2020 17:40 - 匿名模式 [开启]
10/04/2020 17:40 - PeX 支持 [开启]
10/04/2020 17:40 - 本地对等发现支持 [ON]
10/04/2020 17:40 - DHT 支持 [开启]
10/04/2020 17:40 - HTTP 用户代理是“qBittorrent/4.1.9.1”
10/04/2020 17:40 - 同行 ID:-qB4191-
10/04/2020 17:40 - qBittorrent 正在尝试侦听接口 192.168.0.50 端口:51042
10/04/2020 17:40 - qBittorrent v4.1.9.1 开始

在 Ubuntu 18.04 上有这个问题。 将尝试新版本谢谢!
此版本是否涵盖 qbitorrent-nox?

xavier 发布的新版本仅适用于 Windows,并且适用于常规 GUI 版本。 如果您使用的是 Ubuntu,则可以使用最新的 libtorrent + arvidn/libtorrent#4498从源代码编译

我可以这样做,但我只会等待新版本。 我暂时可以处理。 如果不需要,我宁愿不弄脏我的 linux 机器。 不过还是谢谢!

@Fyb3roptik

我可以这样做,但我只会等待新版本。 我暂时可以处理。 如果不需要,我宁愿不弄脏我的 linux 机器。 不过还是谢谢!

友情提示,您可以通过从构建文件夹运行来进行测试,而无需在最后执行传统的sudo make install (并将 libtorrent 安装到自定义前缀而不是/usr/lib ),从而不会“弄脏”您的安装.

大约 3.5 小时后,这些 Socks5 错误出现在测试版本中:

(W) 2020-04-10T12:04:23 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 194.59.250.234:1085
(W) 2020-04-10T12:04:28 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 96.44.144.114:1085

@arvidn很抱歉再次唠叨这个,但是自从https://github.com/qbittorrent/qBittorrent/issues/11735#issuecomment -608537869 以来,日志中出现了一些可能对您有用的 SOCKS5 错误的帖子。

是的,我相信那里仍然存在问题。 它在我的名单上

嗨,伙计们......任何人都可以发布最新版本的链接以供我现在测试吗?!
谢谢。

我使用 SOCKET5,所以我想测试...

在这里,日志是:

11/04/2020 00:10 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_open ec:已经打开 ep:xxx.xxx.xxx。 xxx:1000
11/04/2020 00:10 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_read ec:文件结尾 ep:xxx.xxx.xxx。 xxx:1000
11/04/2020 00:10 - 无法下载 IP 地理定位数据库文件。 原因:检测到与网络相关的未知错误
11/04/2020 00:10 - 'Westxxxxxxxxx' 恢复。
11/04/2020 00:10 - 成功侦听 IP:0.0.0.0,端口:UDP/55555
11/04/2020 00:10 - 选项已成功保存。
11/04/2020 00:10 - 无法加载 IP 地理定位数据库。 原因:系统找不到指定的路径。
11/04/2020 00:10 - UPnP / NAT-PMP 支持 [ON]
11/04/2020 00:10 - 加密支持 [强制]
11/04/2020 00:10 - 匿名模式 [开启]
11/04/2020 00:10 - PeX 支持 [开启]
11/04/2020 00:10 - 本地对等发现支持 [ON]
11/04/2020 00:10 - DHT 支持 [开启]
11/04/2020 00:10 - HTTP 用户代理是“qBittorrent/4.3.0alpha1”
11/04/2020 00:10 - 对等 ID:-qB4300-
11/04/2020 00:10 - 尝试听:0.0.0.0:55555,[::]:55555
11/04/2020 00:10 - 使用配置目录:C:/Users/xxx/AppData/Roaming/qBittorrent/
11/04/2020 00:10 - qBittorrent v4.3.0alpha1 开始

使用相同的设置,3.3.16 有效。

@xavier2k6显然https://github.com/qbittorrent/qBittorrent/pull/12430 _might_ 导致了一个非常讨厌的回归: https :

@calvilasboasjr同时,请在https://github.com/qbittorrent/qBittorrent/issues/11735#issuecomment -611737913 尝试构建

好的……一会儿……

这是我测试的构建...
HTTP 用户代理是“qBittorrent/4.3.0alpha1”

11/04/2020 00:10 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_open ec:已经打开 ep:xxx.xxx.xxx。 xxx:1000
11/04/2020 00:10 - SOCKS5 代理错误。 消息:SOCKS5 错误。 op:sock_read ec:文件结尾 ep:xxx.xxx.xxx。 xxx:1000
11/04/2020 00:10 - 无法下载 IP 地理定位数据库文件。 原因:检测到与网络相关的未知错误
11/04/2020 00:10 - 'Westxxxxxxxxx' 恢复。
11/04/2020 00:10 - 成功侦听 IP:0.0.0.0,端口:UDP/55555
11/04/2020 00:10 - 选项已成功保存。
11/04/2020 00:10 - 无法加载 IP 地理定位数据库。 原因:系统找不到指定的路径。
11/04/2020 00:10 - UPnP / NAT-PMP 支持 [ON]
11/04/2020 00:10 - 加密支持 [强制]
11/04/2020 00:10 - 匿名模式 [开启]
11/04/2020 00:10 - PeX 支持 [开启]
11/04/2020 00:10 - 本地对等发现支持 [ON]
11/04/2020 00:10 - DHT 支持 [开启]

11/04/2020 00:10 - HTTP 用户代理是 'qBittorrent/4.3.0alpha1' <<------------

11/04/2020 00:10 - 对等 ID:-qB4300-
11/04/2020 00:10 - 尝试听:0.0.0.0:55555,[::]:55555
11/04/2020 00:10 - 使用配置目录:C:/Users/xxx/AppData/Roaming/qBittorrent/

11/04/2020 00:10 - qBittorrent v4.3.0alpha1 开始<<--------------

@xavier2k6显然 #12430 _might_ 导致了非常讨厌的回归:#12443; 正在进行调查(就个人而言,我无法重现)。 如果您可以为 Windows 发布另一个 SOCKS5 测试版本,但没有那个特定的 qBittorrent 提交,那就太好了。

好的,我将从之前的提交342eec7进行测试构建

不过,我可能要在明天早上发布之前......

@arvidn您希望将 libtorrent 的哪些提交应用于新的测试版本?

https://github.com/arvidn/libtorrent/pull/4498

但我还没有解决人们发布的“已经开放”的问题

@arvidn在这里告诉我,所以当它被排序时,我将基于该提交的测试构建。 谢谢。

@crafty35a @migasQ我假设您在使用 SOCKS5 时遇到 UDP 跟踪器 _only_ 的问题?

没有和没有 SOCKS5 - 这就是我感到困惑的原因。 但!

@xavier2k6显然 #12430 _might_ 导致了非常讨厌的回归:#12443; 正在进行调查(就个人而言,我无法重现)。 如果您可以为 Windows 发布另一个 SOCKS5 测试版本,但没有那个特定的 qBittorrent 提交,那就太好了。

这就是诀窍。 在将高级设置中的网络接口设置为我的实际网络接口并且没有将其保留为默认设置后,我现在获得了连接并且它实际上正在下载一些东西。 我会让它运行一整夜,看看在接下来的几个小时内是否发生任何 SOCKS5 错误。

@xavier2k6显然 #12430 _might_ 导致了非常讨厌的回归:#12443; 正在进行调查(就个人而言,我无法重现)。 如果您可以为 Windows 发布另一个 SOCKS5 测试版本,但没有那个特定的 qBittorrent 提交,那就太好了。

好的,我将从之前的提交342eec7进行测试构建

不过,我可能要在明天早上发布之前......

当构建准备好时,我也会对其进行测试(或者自己编译,具体取决于我明天的时间)。

我在 alpha 版本 4.3.0.alpha1 上遇到的错误

4/10/2020 8:02 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 109.201.154.207:1080
4/10/2020 8:02 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 46.166.190.149:1080

我尝试了来自@xavier2k6Windows 版本起初它似乎像魔术一样完美地工作,但几个小时后它意外崩溃,我不确定是否有任何方法可以找到可以解释该崩溃的日志。

我又打开了几次,有时我仍然会收到 SOCKS5 代理错误,但大多数时候通过一些强制它可以工作,然后它会在一段时间后毫无故障地崩溃。

不过似乎是在正确的轨道上。 我不知道这些是否有帮助,但我很乐意尝试任何未来的 Windows 版本。 我是这里的菜鸟。

但我还没有解决人们发布的“已经开放”的问题

@galacticboy2009一旦@arvidn告诉我他已经解决了“已经开放”的问题,我就会提供另一个测试版本

关于崩溃,您能否查看事件查看器并查看在崩溃前后的应用程序日志中是否有任何提到 qBittorrent 的内容。

此外,您能否发布您的日志,注意删除任何种子信息。

@FranciscoPombal现在需要从 libtorrent 方面继续前进,我注意到与网络接口等相关的 master 发生了变化,所以我会从最新的master commit 5d1072编译 qBittorrent 还是你仍然想要和master 342eec7吗? 如果需要,我可以同时进行(单独构建)?

@xavier2k6

@FranciscoPombal现在需要从 libtorrent 方面继续前进,我注意到与网络接口等相关的 master 发生了变化,所以我会从最新的master commit 5d10724编译 qBittorrent

是的,去那个, 5d10724 (这是一个重要的修复)。 最终,使用https://github.com/qbittorrent/qBittorrent/pull/12487进行构建也会派上用场,但让我们一次处理一件事。

我假设您将使用最新的 libtorrent RC_1_2 提交 + https://github.com/arvidn/libtorrent/pull/4498进行构建?

@galacticboy2009一旦@arvidn告诉我他已经解决了“已经开放”的问题,我就会提供另一个测试版本

关于崩溃,您能否查看事件查看器并查看在崩溃前后的应用程序日志中是否有任何提到 qBittorrent 的内容。

此外,您能否发布您的日志,注意删除任何种子信息。

事件查看器报告来自 qBittorrent 的“Apphang”未知错误,仅此而已。
我还发现崩溃似乎只发生在我将 qBittorrent 最小化时。
所以我现在保持开放/最大化。

它昨晚(至少从早上 5 点开始)整夜运行,尽管它最终在早上 7 点 15 分出现了 SOCKS5 错误,
就在运行时间的 1 小时 30 分。
(不过,程序还在运行,没有崩溃)

我打开了连接设置对话框,
将 VPN 服务器 URL 编辑为稍微错误,
点击应用,然后返回并再次编辑它。
那时,我的种子文件开始正常工作。

使用完全相同的设置。
基本上,只需要强制 qBittorrent“重置”VPN 连接即可。

4/13/2020 7:15 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_open ec: Already open ep: 196.247.50.13:1080
4/13/2020 7:15 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 196.247.50.13:1080
4/13/2020 5:45 AM - Detected external IP: 196.247.50.14
[CENSORED ALL THE TORRENTS FROM HERE]
4/13/2020 5:45 AM - Successfully listening on IP: 0.0.0.0, port: UDP/8888
4/13/2020 5:45 AM - Options were saved successfully.
4/13/2020 5:45 AM - Encryption support [ON]
4/13/2020 5:45 AM - Anonymous mode [ON]
4/13/2020 5:45 AM - PeX support [ON]
4/13/2020 5:45 AM - Local Peer Discovery support [ON]
4/13/2020 5:45 AM - DHT support [ON]
4/13/2020 5:45 AM - HTTP User-Agent is 'qBittorrent/4.3.0alpha1'
4/13/2020 5:45 AM - Peer ID: -qB4300-
4/13/2020 5:45 AM - Trying to listen on: 0.0.0.0:8888,[::]:8888
4/13/2020 5:45 AM - Using config directory: C:/Users/galac/AppData/Roaming/qBittorrent/
4/13/2020 5:45 AM - qBittorrent v4.3.0alpha1 started

@galacticboy2009我想这是一个没有最近 libtorrent 补丁的版本,对吧? https://github.com/arvidn/libtorrent/pull/4498

@galacticboy2009我想这是一个没有最近 libtorrent 补丁的版本,对吧? arvidn/libtorrent#4498

那是来自之前的构建(尚未解决人们报告的“已经打开”的问题)

下面是基于arvidn/libtorrent#4498 的qBittorrent 主版本5d10724和 libtorrent 5a0e681的新版本

测试构建

qbittorrent master 5d10724 和 libtorrent 5a0e681 补丁 #4498

@galacticboy2009我想这是一个没有最近 libtorrent 补丁的版本,对吧? arvidn/libtorrent#4498

那是来自之前的构建(尚未解决人们报告的“已经打开”的问题)

下面是基于arvidn/libtorrent#4498 的qBittorrent 主版本5d10724和 libtorrent 5a0e681的新版本

测试构建

qbittorrent master 5d10724 和 libtorrent 5a0e681 补丁 #4498

对我来说,如果我使用我的socks5 代理,这个构建不能解决我没有获得 DHT 节点的问题。

日志,不断记录这些错误:
14/04/2020 09:33 - SOCKS5 代理错误。 消息:SOCKS5 错误。 操作:sock_read ec:文件结束 ep:109.201.142.163:32768
14/04/2020 09:33 - SOCKS5 代理错误。 消息:SOCKS5 错误。 操作:sock_read ec:文件结束 ep:109.201.142.163:32768
14/04/2020 09:33 - SOCKS5 代理错误。 消息:SOCKS5 错误。 操作:sock_read ec:文件结束 ep:109.201.142.163:32768
14/04/2020 09:33 - SOCKS5 代理错误。 消息:SOCKS5 错误。 操作:sock_read ec:文件结束 ep:109.201.142.163:32768
14/04/2020 09:33 - SOCKS5 代理错误。 消息:SOCKS5 错误。 操作:sock_read ec:文件结束 ep:109.201.142.163:32768

一遍又一遍...

@amsterdampaul看起来您的 socks5 服务器一直在关闭您的连接。 你确定它支持socks5 UDP ASSOCIATE 命令吗?

@amsterdampaul看起来您的 socks5 服务器一直在关闭您的连接。 你确定它支持socks5 UDP ASSOCIATE 命令吗?

它是一项付费服务​​,适用于 v4.1.9.1

适用于 v4.1.9.1

我不确定使用的是哪个版本的 libtorrent,但在删除force_proxy设置之前,默认行为是如果代理不起作用,则不使用它。 由于几个原因,这是有问题的,其中之一是当代理不工作时用户并不明显。

@amsterdampaul

它是一项付费服务​​,适用于 v4.1.9.1

在这种情况下,您可以询问技术支持他们是否支持socks5 UDP ASSOCIATE 命令吗? 可能只是它之前默默地失败了(https://github.com/qbittorrent/qBittorrent/issues/11735#issuecomment-613304214)

到目前为止,在来自@xavier2k6 的最新测试版本中,大约 10 小时内没有问题。

到目前为止,我整晚都看到了唯一的错误,但我真的没有任何新的下载。

4/14/2020 3:39 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: End of file ep: 109.201.154.214:1080

@HnyBear如果这种情况很少发生(比如每小时一次,或者不那么频繁),那是可以预料的。 然后代理可能会限制它允许连接保持打开状态的时间

超时错误返回,但到目前为止 UDP 跟踪器仍在工作,我仍然可以下载。

(W) 2020-04-14T09:56:06 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 88.202.177.243:1085

@amsterdampaul

它是一项付费服务​​,适用于 v4.1.9.1

在这种情况下,您可以询问技术支持他们是否支持socks5 UDP ASSOCIATE 命令吗? 可能只是它之前默默地失败了( #11735(评论)

我问过他们,并建议我使用 biglyBT,因为这与他们的 socks5 服务配合得很好......

我问过他们,并建议我使用 biglyBT,因为这与他们的 socks5 服务配合得很好......

不确定 BiglyBT 有什么不同,但这对@arvidn 来说可能是有用的信息。

我问过他们,并建议我使用 biglyBT,因为这与他们的 socks5 服务配合得很好......

对我来说,这听起来不像是“是的,我们支持 UDP”:)
可能只是 BiglyBT 不支持 uTP 并且没有人注意到 DHT 不起作用。 我并不是说情况就是这样,我是说根据此线程中的信息,这是一种可能性。

不确定 BiglyBT 有什么不同,但这可能是有用的信息

Wireshark 会告诉你。

我问过他们,并建议我使用 biglyBT,因为这与他们的 socks5 服务配合得很好......

对我来说,这听起来不像是“是的,我们支持 UDP”:)
可能只是 BitlyBT 不支持 uTP,没有人注意到 DHT 不起作用。 我并不是说情况就是这样,我是说根据此线程中的信息,这是一种可能性。

不确定 BiglyBT 有什么不同,但这可能是有用的信息

Wireshark 会告诉你。

我将尝试使用wireshark捕获流量。

他们指给我看这张票https://github.com/qbittorrent/qBittorrent/issues/7838

但正如我上面所说,我工作正常,我坚持使用 v4.1.9.1,并且根据我在 glasswire 中看到的统计数据,大量数据通过该 socks5 代理流动,因此我有理由相信它正在被客户端 v4 使用.1.9.1

如果我错了,请纠正我,但许多其他 VPN 解决方案并不像在客户端中输入代理主机名/端口/用户/密码那么简单。 我不想将 VPN 用于客户端上的所有连接。 我只希望 torrent 客户端安全地发送其流量..

我去尝试在wireshark中捕获一些东西

请记住,wireshark 捕获将以明文形式包含您的用户名和密码,因此您可能需要清除它,或者之后更改用户名和密码。

我一直在使用 PIA 的 socks5 代理进行测试(没有问题),并且我发布了我看到的 UDP ASSOCIATE 命令的数据包(已删除密码)。 我似乎无法找到我贴在哪张票上。

编辑:它在这个线程上更进一步,它刚刚被 github 折叠。 在这里

现在在最新的测试版本上运行了 22 多个小时,一切都在继续工作。 我在日志中有两个与socks5 相关的信号量超时错误,但我没有看到任何不利影响。

@xavier2k6 @amsterdampaul https://github.com/arvidn/libtorrent/pull/4498已登陆

使用来自 libtorrent 的fix UDP ASSOCIATE SOCKS5 connection retry的新主 TEST 构建。

qBittorrent 主提交 e030fc0 与 libtorrent RC_1_2 提交 ebc2bfc

使用来自 libtorrent 的fix UDP ASSOCIATE SOCKS5 connection retry的新主 TEST 构建。

qBittorrent 主提交 e030fc0 与 libtorrent RC_1_2 提交 ebc2bfc

它与 SOCKS5 配合良好。 我会让它运行几个小时,看看是否有任何 SOCKS5 重新连接问题。 也没有必要指定网络接口,我可以将它留在高级设置中的任何接口上。

使用来自 libtorrent 的fix UDP ASSOCIATE SOCKS5 connection retry的新主 TEST 构建。

qBittorrent 主提交 e030fc0 与 libtorrent RC_1_2 提交 ebc2bfc

这是我整夜运行后遇到的唯一错误。

4/17/2020 6:20 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: End of file ep: 109.201.154.132:1080

经过 12 小时的播种/下载(几个小时后还添加了新的磁力种子),在播种很长时间后,我只收到SOCKS5 连接已关闭错误。 但是 SOCKS5 仍然有效,因为在我添加了一个新的磁铁种子后,它直接开始寻找播种机并开始下载。 干得好@arvidn,@ sledgehammer999,@ xavier2k6@FranciscoPombal! 我认为我过去遇到的 SOCKS5 相关的 DHT、UDP 跟踪器、元数据停滞等错误似乎已解决!

几年来我一直有 SOCKS5 问题。 我最终只需要设置一个运行完整代理连接的虚拟机和一个 qbit 保姆,以便在代理断开连接时重新启动应用程序。 我希望能够放弃 VM 并回到一个简单的袜子5。 我一直在关注其中一些等待解决方案的线程。 我要测试这个最新的测试版本并交叉我的手指!

据我所知,绝大多数问题现在都解决了。 如果服务器断开连接,libtorrent 将重新连接。 由于 SOCKS5 连接空闲且长期存在,因此预计这种情况会时不时发生。

但是,仍然存在一些失败的情况,libtorrent 不会再试一次,例如,如果代理服务器的主机名查找失败,或者无法访问socks5 服务器 IP。 为了正确地做到这一点,需要某种退避计时器,以避免锤击一些糟糕的 IP。

解决这些案例现在不是非常重要,因为我认为它们只会影响很少的人,而且不会经常影响。

据我所知,绝大多数问题现在都解决了。 如果服务器断开连接,libtorrent 将重新连接。 由于 SOCKS5 连接空闲且长期存在,因此预计这种情况会时不时发生。

但是,仍然存在一些失败的情况,libtorrent 不会再试一次,例如,如果代理服务器的主机名查找失败,或者无法访问socks5 服务器 IP。 为了正确地做到这一点,需要某种退避计时器,以避免锤击一些糟糕的 IP。

解决这些案例现在不是非常重要,因为我认为它们只会影响很少的人,而且不会经常影响。

我想只要4.2.4发布,我们就可以关闭这个线程并打开一个专门跟踪_infrequent_SOCKS5断开连接的新线程。

@sledgehammer999你对 4.2.4 的发布日期有什么计划? 似乎所有更重要的问题都已经解决了(有几个重要的 PR 还没有合并,但已经差不多了)。 在 libtorrent 方面也是如此。 事实上,1.2.6 应该接近正式发布了,但此时里程碑中的剩余内容并不那么重要。

使用来自 libtorrent 的fix UDP ASSOCIATE SOCKS5 connection retry的新主 TEST 构建。

qBittorrent 主提交 e030fc0 与 libtorrent RC_1_2 提交 ebc2bfc

这是 4.2.3 还是 3.4.0alpha? 我下载了一个较早的版本,它是 4.3.0alpha。

@RabidWolf这是一个更新的 alpha版本

感谢将等待 3.2.4

一天左右后回到不下载。 看到这个错误。

4/18/2020 8:03 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: handshake ec: The semaphore timeout period has expired ep: 109.201.154.207:1080
4/18/2020 8:03 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 109.201.154.216:1080
4/18/2020 8:03 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 46.166.186.196:1080
4/18/2020 8:02 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 109.201.152.23:1080

不幸的是,这里也是如此,这是日志。

(W) 2020-04-19T16:01:06 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 68.71.244.34:1085
(I) 2020-04-19T16:04:03 - Detected external IP: 68.71.244.38
(W) 2020-04-19T16:16:35 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 68.71.244.38:1085
(I) 2020-04-19T16:21:09 - Detected external IP: 88.202.177.231
(W) 2020-04-19T16:28:20 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 88.202.177.231:1085
(I) 2020-04-19T16:31:44 - Detected external IP: 96.44.147.106
(W) 2020-04-19T17:00:35 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 96.44.147.106:1085
(I) 2020-04-19T17:05:54 - Detected external IP: 173.44.37.82
(W) 2020-04-19T17:34:21 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 173.44.37.82:1085
(I) 2020-04-19T17:39:06 - Detected external IP: 194.59.250.234
(W) 2020-04-19T18:21:54 - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 194.59.250.234:1085
(W) 2020-04-19T18:22:01 - SOCKS5 proxy error. Message: SOCKS5 error. op: handshake ec: An existing connection was forcibly closed by the remote host ep: 88.202.177.238:1085

我的也坏了。 真是太糟糕了。 我希望这是固定的。 我的日志每隔几个小时就会收到这条消息:

4/20/2020 6:32 AM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 46.166.190.161:1080

五分钟后进行了新的 IP 检测:

4/20/2020 6:37 AM - Detected external IP: 109.201.152.234

有一段时间这似乎不是问题,但最近我没有获得新的 IP 检测,而是立即收到一条新的错误消息:

4/20/2020 5:38 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: sock_read ec: The semaphore timeout period has expired ep: 109.201.138.233:1080
4/20/2020 5:38 PM - SOCKS5 proxy error. Message: SOCKS5 error. op: handshake ec: End of file ep: 109.201.154.198:1080

握手错误似乎是永久终止连接的错误。

无论出于何种原因,这完全清除了进行全新的 ubuntu 安装。 我在大约一个半星期内不必重新启动服务! 我当然希望你们能弄清楚!

一个观察:

我有两个种子无法与 SOCKS5 一起使用。 他们是在 qBittorrent 闲置约 1 天后开始的。 我已经重新启动,暂停和取消暂停,更改主机并将其放回原处,未检查身份验证并重新检查,以及您能想到的这些步骤的每个组合。 没爱。

但是,如果我暂停第二个并关闭代理服务器,第一个将启动。 现在,如果我通过身份验证启用代理服务器并取消选中“仅对种子使用代理”(我的正常设置),然后恢复第二个,它将启动。 我还没有使用 TorGuard torrent 检查第二个 torrent 的报告 IP,但我很快就会这样做。

如果任何人都可以测试和确认/否认这一点,它可能会有所帮助。

我确实运行了 CheckMyIPTorrent 种子文件,它确实隐藏了我的 IP:

21.04.2020 06:42:23 | 109.201.138.225 | qBittorrent/4.3.0alpha1
21.04.2020 06:41:39 | 46.166.137.203 | qBittorrent/4.3.0alpha1
21.04.2020 06:41:37 | 46.166.137.203 | qBittorrent/4.3.0alpha1

有趣的是,它切换 IP 的速度如此之快。

这是上周发布的同一个 4.3.0alpha1 吗?

这是上周发布的同一个 4.3.0alpha1 吗?

不,这是一个基于最新提交的新版本......

这是上周发布的同一个 4.3.0alpha1 吗?

不,这是一个基于最新提交的新版本......

好的,只是想知道因为它仍然显示为 4.3.0alpha1

好的,只是想知道因为它仍然显示为 4.3.0alpha1

是的,版本字符串在 alpha 版本之间不会改变。

我是否有 HTTPS 跟踪器:是

将 qbittorrent 可执行文件和 pdb 替换为:“qBittorrent master (3.4.0alpha1) commit 8ed63d6 libtorrent (1.2.6) RC_1_2 commit a996891.zip”

发生了什么降低了内存增量(我认为不确定),但在撰写本文时提交大小持续增加 3.8G(运行 23 分钟)。

qbittorrent extremely high mem usage qbit debug

自从这个问题被打开以来,似乎几乎所有的问题都在 qBittorrent/libtorrent 中所做的更改中得到了解决。 其余已确定的问题与一些罕见的 SOCKS5 代理断开连接有关,此处已确认: https :

因此,现在 4.2.4 发布,将修复带给所有用户群,我认为是时候关闭它了,因为它太长了,并且包含了很多关于已经修复的东西的评论。
我将打开一个新的问题报告来专门跟踪 SOCKS5 断开连接问题(编辑:此处 https://github.com/qbittorrent/qBittorrent/issues/12583)。

任何有与上述 SOCKS5 问题无关的进一步连接问题的人,请打开单独的问题报告。

非常感谢所有参与测试、调试和讨论这个问题的人。

此页面是否有帮助?
0 / 5 - 0 等级