Documentation
¶
Overview ¶
Package wireguard manipulates wireguard interfaces
Index ¶
- Variables
- func ApplyWithoutWGQuick(nc *NCIface) error
- func DeleteOldInterface(iface string)
- func EndpointDetectedAlready(peerPubKey string) bool
- func GetPeer(ifaceName, peerPubKey string) (wgtypes.Peer, error)
- func IfaceDelta(currentNode *config.Node, newNode *config.Node) bool
- func IfaceExists(ifacename string) bool
- func RemoveWithoutWGQuick(ifacename string) error
- func SetEgressRoutes(egressRoutes []models.EgressNetworkRoutes)
- func SetPeers(replace bool) error
- func SetRoutes(addrs []ifaceAddress)
- func ShouldReplace(incomingPeers []wgtypes.PeerConfig) bool
- func UpdatePeer(p *wgtypes.PeerConfig) error
- type NCIface
Constants ¶
This section is empty.
Variables ¶
var (
ErrModuleNotFound = errors.New("module not found")
)
Functions ¶
func ApplyWithoutWGQuick ¶
ApplyWithoutWGQuick - Function for running the equivalent of "wg-quick up" for linux if wg-quick is missing
func DeleteOldInterface ¶ added in v0.18.3
func DeleteOldInterface(iface string)
DeleteOldInterface - removes named interface
func EndpointDetectedAlready ¶ added in v0.22.0
EndpointDetectedAlready - checks if better endpoint has been detected already
func IfaceDelta ¶
IfaceDelta - checks if the new node causes an interface change
func IfaceExists ¶
IfaceExists - return true if you can find the iface
func RemoveWithoutWGQuick ¶
RemoveWithoutWGQuick - Function for running the equivalent of "wg-quick down" for linux if wg-quick is missing
func SetEgressRoutes ¶ added in v0.20.4
func SetEgressRoutes(egressRoutes []models.EgressNetworkRoutes)
func SetRoutes ¶ added in v0.20.4
func SetRoutes(addrs []ifaceAddress)
SetRoutes - sets additional routes to the interface
func ShouldReplace ¶ added in v0.22.0
func ShouldReplace(incomingPeers []wgtypes.PeerConfig) bool
ShouldReplace - checks curr peers and incoming peers to see if the peers should be replaced
func UpdatePeer ¶
func UpdatePeer(p *wgtypes.PeerConfig) error
UpdatePeer replaces a wireguard peer temporarily making public func to pass staticchecks this function will be required in future when update node on server is refactored
Types ¶
type NCIface ¶
type NCIface struct {
Iface netIface
Name string
Addresses []ifaceAddress
MTU int
Config wgtypes.Config
}
NCIface - represents a Netclient network interface
func GetInterface ¶
func GetInterface() *NCIface
func NewNCIface ¶
NewNCIFace - creates a new Netclient interface in memory
func (*NCIface) ApplyAddrs ¶
netLink.ApplyAddrs - applies the assigned node addresses to given interface (netLink)
func (*NCIface) Create ¶
NCIface.Create - creates a linux WG interface based on a node's host config
func (*NCIface) UpdatePeer ¶
func (n *NCIface) UpdatePeer(p wgtypes.PeerConfig)
NCIface.UpdatePeer - Updates Peers from provided PeerConfig