package
0.0.0-20241105105557-a08ad04cdbe4
Repository: https://github.com/cxio/findings.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

P2P 端点

服务节点搜寻(公域)

  • 外部配置:首先从本机配置的公网节点IP进行连接尝试,如果正常连接并获取数据,则无需进行后续的节点搜寻。
  • 预配置集:如果用户没有配置自己公网IP节点,则从App内置的公网节点IP进行连接。
  • 历史衍生:以历史IP记录为延伸起点,随机构造公网IP地址尝试连接。

端口

  • 标准端口号:7788 (TCP/UDP)
  • 动态端口号:目标难度工作量的初次匹配(确定性递增),见README算法说明。

请求NAT类型探测

获得Findings节点回应后,探测自身NAT类型。

连接组网

请求Findings网络节点信息集,建立更多Findings连接。连接兼顾各个NAT层次的节点,充分利用在线节点资源。

说明: 获取的节点信息进入自身服务器数据集。

连接策略

  1. 公共开放节点:Pub0, Pub1, FullC,端口不限。
  2. NAT穿透节点:RC 类型节点,端口不确定。
  3. NAT半穿透节点:P-RC 类型节点,端口不确定。
  4. 无穿透单向节点:Sym 类型节点,端口任意。

以上4类节点开放性逐渐降低,连接策略为:

  1. 高开放性节点连接为基础保障,一定数量必要保持。
  2. 尽量与低开放性节点建立连接,接收Sym节点的连入并适度保持,可分派NAT探测协助任务。

自身信息登记

提供自身应用类型、当前会话自身所用公钥。

  • 节点登记。
  • 节点查询。
  • 节点信息缓存(tmp)。
  • 节点效率测试。