Skip to content

Conversation

dozyio
Copy link

@dozyio dozyio commented Jan 5, 2025

Adds PCP support - https://www.rfc-editor.org/rfc/rfc6887

Supports

  • Private IPv4 -> Private IPv4 NAT -> Pubic IPv4
  • IPv6 GUA -> IPv6 Firewall -> IPv6 GUA

Unsupported

  • Rapid recovery via mutlicast
  • IPv6 privacy address rotation
  • PEER opcode
  • Multiple gateways for same IP version

Running tests

IPv6 - GATEWAY needs to be the routers IPv6 GUA LAN address so that the host uses the correct source address

GATEWAY=xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx npm run test -- --grep "pcp"

IPv4 - GATEWAY needs to be the routers private NAT interface

GATEWAY=x.x.x.x npm run test -- --grep "pcp"

Having a bit of trouble updating the readme via npm run docs - it deletes the About section... any ideas?

@dozyio dozyio changed the title Port Control Protocol (PCP) / rfc6887 support feat: Port Control Protocol (PCP) / rfc6887 support Feb 1, 2025
@dozyio dozyio marked this pull request as ready for review February 25, 2025 17:40
@dozyio
Copy link
Author

dozyio commented Feb 27, 2025

@achingbrain this should be ok to review now 🙏

@dozyio
Copy link
Author

dozyio commented Apr 21, 2025

@achingbrain any chance you can take a look at this or I should I put it in its own package? :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants