netbird icon indicating copy to clipboard operation
netbird copied to clipboard

[relay] Feature/relay integration

Open pappz opened this issue 1 year ago • 1 comments

Describe your changes

  • Add Relay server implementation
  • Integrate the Relay server
  • Refactor the conn worker logic
  • Refactor the offer/answer sending logic
  • Add fallback logic to Relay connection in case failed to use ICE p2p connection

Relay package

  • Authentication (client/server)
  • Helathcheck and reconnection (guard.go). The health check is in a separated package but the usage of it is also relevant.
  • Protocol life circle betwen the Relay server - Relay client. Review to process the message types (messages package).
    • Hello (auth msg),
    • package transfer logic and internal store of the peers
    • close procedure
  • Roaming between the server instances in case if the peers are connected on different servers. client/manager.go
  • Review the command line (cmd) package what boot TLS, listeners, metrics components
  • TLS managment code review. It is relevant for the signal and managmenet code also because I reuse these function in all server services.
  • Metrics

Issue ticket number and link

Checklist

  • [ ] Is it a bug fix
  • [ ] Is a typo/documentation fix
  • [x] Is a feature enhancement
  • [x] It is a refactor
  • [ ] Created tests that fail without the change (if possible)
  • [ ] Extended the README / documentation, if necessary

pappz avatar Jul 08 '24 13:07 pappz