Directories ¶
Path | Synopsis |
---|---|
Package apply contains code for applying changes to network interfaces and wireguard configurations.
|
Package apply contains code for applying changes to network interfaces and wireguard configurations. |
Package autopeer provides code to compute a peer's automatic IPv6-LL address derived from its public key.
|
Package autopeer provides code to compute a peer's automatic IPv6-LL address derived from its public key. |
Package cmd provides the main implementation of the wirelink command line.
|
Package cmd provides the main implementation of the wirelink command line. |
Package config provides code for working with both the wirelink command line arguments and its configuration file.
|
Package config provides code for working with both the wirelink command line arguments and its configuration file. |
Package detect provides utilities to detect if the local system is a router, or if some remote peer is one.
|
Package detect provides utilities to detect if the local system is a router, or if some remote peer is one. |
Package device wraps the wgctrl library with concurrency safety and dirty tracking to simplify interactions from the wirelink server.
|
Package device wraps the wgctrl library with concurrency safety and dirty tracking to simplify interactions from the wirelink server. |
Package fact provides the core code for representing facts, and their serialization and deserialization.
|
Package fact provides the core code for representing facts, and their serialization and deserialization. |
Package internal has bits and bobs for the internal implementation details of wirelink, esp.
|
Package internal has bits and bobs for the internal implementation details of wirelink, esp. |
channels
Package channels contains various generic helpers for working with channels
|
Package channels contains various generic helpers for working with channels |
mocks
Package mocks has just test files for use by other packages' tests
|
Package mocks has just test files for use by other packages' tests |
networking
Package networking provides abstraction layers for accessing networking resources both across platform specific details, and for virtual / mock configurations for testing
|
Package networking provides abstraction layers for accessing networking resources both across platform specific details, and for virtual / mock configurations for testing |
networking/darwin
Package darwin provides an implementation of networking.Environment for the host darwin (macOS) system, leveraging the Go native package, and then filling in the gaps by exececuting command line tools such as ifconfig.
|
Package darwin provides an implementation of networking.Environment for the host darwin (macOS) system, leveraging the Go native package, and then filling in the gaps by exececuting command line tools such as ifconfig. |
networking/host
Package host provides a generic accessor factory to create the appropriate platform-specific interface to the host networking APIs.
|
Package host provides a generic accessor factory to create the appropriate platform-specific interface to the host networking APIs. |
networking/linux
Package linux provides an implementation of networking.Environment for the host Linux system, leveraging the Go native package, and then filling in the gaps using netlink APIs.
|
Package linux provides an implementation of networking.Environment for the host Linux system, leveraging the Go native package, and then filling in the gaps using netlink APIs. |
networking/mocks
Package mocks provides mock implementations of the networking apis, for the testify mock library, generated via go generate and mockery.
|
Package mocks provides mock implementations of the networking apis, for the testify mock library, generated via go generate and mockery. |
networking/native
Package native provdies common base implementations of the networking.Environment and related interfaces, or at least the portions that can be implemented using common native Go APIs.
|
Package native provdies common base implementations of the networking.Environment and related interfaces, or at least the portions that can be implemented using common native Go APIs. |
networking/vnet
Package vnet provides a virtual (as opposed to mocked) implementation of the abstracted UDP networking stack.
|
Package vnet provides a virtual (as opposed to mocked) implementation of the abstracted UDP networking stack. |
testutils
Package testutils provides utility code needed by multiple packages' test suites, but which should not be referenced in any non-test code.
|
Package testutils provides utility code needed by multiple packages' test suites, but which should not be referenced in any non-test code. |
testutils/facts
Package facts provides helper code for generating facts for use in unit tests.
|
Package facts provides helper code for generating facts for use in unit tests. |
Package log is a bit of a ridiculous package to have, but the built in `log` package always writes to stderr, and fancy structured logging isn't what this tool needs
|
Package log is a bit of a ridiculous package to have, but the built in `log` package always writes to stderr, and fancy structured logging isn't what this tool needs |
Package peerfacts provides functions to extract facts from the local network interfaces and the wireguard interface config.
|
Package peerfacts provides functions to extract facts from the local network interfaces and the wireguard interface config. |
Package server provides the core class that implements the wirelink server, exchanging UDP packets with other peers on the same wireguard network.
|
Package server provides the core class that implements the wirelink server, exchanging UDP packets with other peers on the same wireguard network. |
Package signing provides code for signing and verifying signatures using the XChaCha20-Poly1305-Curve25519 construction.
|
Package signing provides code for signing and verifying signatures using the XChaCha20-Poly1305-Curve25519 construction. |
Package trust provides types and code for representing and evaluating trust levels of facts.
|
Package trust provides types and code for representing and evaluating trust levels of facts. |
Package util provides common utility functions used by multiple portions of wirelink, primarily providing wrappers and helpers for core go libraries and constructs.
|
Package util provides common utility functions used by multiple portions of wirelink, primarily providing wrappers and helpers for core go libraries and constructs. |
Click to show internal directories.
Click to hide internal directories.