为 XMPP 文件传输寻找 XEP-0065 SOCKS5 服务
选择 XMPP 文件传输代理时,请依次跟进 XEP-0065 服务发现、streamhost 选择与激活。
任意出站 SOCKS5 端点并不会自动成为 XMPP 文件传输中继。XEP-0065 需要一个参与 XMPP 发现与激活的服务,并且要能打开套接字。
该服务既有 XMPP 地址,也有网络主机/端口。发起方发现候选并给出 streamhost,目标方选择一个可用的。其 SOCKS 目标值由流标识和双方 JID 推导而来,并非对收件人公网 IP 的普通请求。在使用代理的传输中,激活会让服务把两条流合并。
传输卡住时,先定位第一个未完成的阶段:发现、连接 streamhost、选择目标还是激活。连上主机可能成功,但 XMPP 协调仍然失败。对比客户端与服务端证据时,把服务 JID、端点和传输 ID 放在一起看。
排查配置时,检查 XMPP 服务器对外公布的服务,以及确切 Smack 版本中的 bytestream 管理器。较旧的管理器可能在没有受支持的自定义主机方法时于内部选择。现行文档包含代理优先级与超时,但偏好最后一个可用候选既不会发布新服务,也无法让不兼容的端点理解 XEP-0065。