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层次的节点,充分利用在线节点资源。
说明: 获取的节点信息进入自身服务器数据集。
连接策略
- 公共开放节点:Pub0, Pub1, FullC,端口不限。
- NAT穿透节点:RC 类型节点,端口不确定。
- NAT半穿透节点:P-RC 类型节点,端口不确定。
- 无穿透单向节点:Sym 类型节点,端口任意。
以上4类节点开放性逐渐降低,连接策略为:
- 高开放性节点连接为基础保障,一定数量必要保持。
- 尽量与低开放性节点建立连接,接收Sym节点的连入并适度保持,可分派NAT探测协助任务。
自身信息登记
提供自身应用类型、当前会话自身所用公钥。
- 节点登记。
- 节点查询。
- 节点信息缓存(tmp)。
- 节点效率测试。