HelloZeroNet / HelloZeroNet/ZeroNet
Port opening supports below full-cone NAT
- Dominant language
- JavaScript
- Stars
- 18.8k
- Forks
- 2.3k
- PR merge metrics
- No merged PRs in 30d
Description
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/).
Contributor guide
No contributing guide indexed for this repository
Research direction
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.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- distributed-systems, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100