报告种子结束或水蛭跟踪 Libtorrent



据我所知,在播种或窃取种子时,您的 IP 在跟踪器上,并且会保留几个小时或几天 如何使用 Libtorrent 手动告诉我的跟踪器我将不再连接到跟踪器,它应该忘记我的 IP,因为我既没有播种 nore leeching。任何代码位或建议将不胜感激,目前我正在使用 rasterbar 提供的 Python 绑定,但我也可以使用C++代码。

跟踪

器只是HTTP服务(尽管设计不佳)。 请参阅 BitTorrent 跟踪器协议,特别是 event 查询参数。 在 Python 中,您可以使用 urllib .

libtorrent在停止种子或停止会话时会自动执行此操作。如果似乎失败,您可能需要在关机时增加跟踪器超时。这将增加关机延迟,但会给更多过载的跟踪器更多时间。请参阅session_settings::stop_tracker_timeout 。默认情况下,这是 5 秒,但有时跟踪器需要比这更长的时间才能响应,最多 30 秒。

跟踪器通常会在大约一个小时内使同行超时,您需要每 30 分钟重新宣布一次才能保持活力。

如果您尝试使用单独的 bittorrent 客户端将停止事件发送到跟踪器(在这种情况下,假设您使用的任何客户端都无法将停止的事件发送到跟踪器),则它可能不太可靠。

您应该在跟踪器请求中包含信息哈希(即种子的唯一标识符),客户端在启动时生成的密钥,peer-id(也由客户端生成)和传输统计信息。

您可以省略统计信息,但是如果您不知道信息哈希或客户端密钥,在某些情况下不知道对等ID,则跟踪器将无法确定您的请求实际上是指客户的跟踪器请求,并且不会删除您的IP。

在实践中,在大多数情况下,您可以通过知道信息哈希和跟踪器URL来使其工作。您可以通过加载.torrent文件,从中获取信息哈希和跟踪器URL来获取信息哈希。

最新更新