mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
Currently, one machines that have multiple routable egress interfaces, `connlib` may bounce between the two instead of settling on one. This happens because we have a dedicated `CandidateSet` that we use to filter out "duplicate" candidates of the same type. Doing that is important because if the other party is behind a symmetric NAT, they will send us many server-reflexive candidates that all only differ by their port, none of them will actually be routable though. To prevent sending many of these candidates to the remote, we first gather them locally in our `CandidateSet` and de-duplicate them.
Connlib
Firezone's connectivity library shared by all clients.
Building Connlib
You shouldn't need to build connlib directly; it's typically built as a dependency of one of the other Firezone components. See READMEs in those directories for relevant instructions.