HelloZeroNet / HelloZeroNet/ZeroNet

Port opening supports below full-cone NAT

未关闭
#844 10 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
18.8k
派生
2.3k
PR 合并指标
30 天内没有已合并 PR

描述

Due to the lack of IPv4 address, more and more ISP have been deployed carrier-grade NAT. So less connectability for these users.
Tor network can improve the connectability for these users, but it has many issues for the users who needn't anonymity:
- Poor performance.
- Bring more pressure for Tor relay bridge.
- Tor is blocked in some country or ISP.

IPv6 is the ultimate solution, but it still have a long way to go. (15% supportive in the whole world, and only 1% supportive in China)

Full-cone NAT is most used in carrier-grade NAT and easy to penetrate.
We need do these thing for support port opening supports below full-cone NAT
- Send port checker a request for external IP and external port.
- Separated port number with internal port number and external port, listen the internal port and report tracker the external port.
- Keep port mapping exist using heartbeat packet.

Separated port number is also useful in the environment:
- I don't have the manage permissions of router, but I can ask my administrator to open ramdom one.
- Free reverse proxy services such as [ngrok](https://ngrok.com/).

贡献指南

这个仓库没有索引到贡献指南

调研方向

Start by locating the port-opening, port-checker, tracker-reporting, and heartbeat entry points in the repository. Compare the existing behavior with the requested external-IP and external-port reporting, separate internal and external ports, and persistent NAT mapping; done means below-full-cone NAT users can maintain a usable mapping without the listed limitations.

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript
领域
distributed-systems, networking
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。