mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-22 08:03:30 +01:00
30ebcf38c7
In the case of user space WireGuard mode, use in-memory proxy between the TURN/Relay connection and the WireGuard Bind. We keep the UDP proxy and eBPF proxy for kernel mode. The key change is the new wgproxy/bind and the iface/bind/ice_bind changes. Everything else is just to fulfill the dependencies.
36 lines
1.1 KiB
Go
36 lines
1.1 KiB
Go
package iface
|
|
|
|
import (
|
|
"net"
|
|
"time"
|
|
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
|
|
"github.com/netbirdio/netbird/client/iface/bind"
|
|
"github.com/netbirdio/netbird/client/iface/configurer"
|
|
"github.com/netbirdio/netbird/client/iface/device"
|
|
"github.com/netbirdio/netbird/client/iface/wgproxy"
|
|
)
|
|
|
|
type IWGIface interface {
|
|
Create() error
|
|
CreateOnAndroid(routeRange []string, ip string, domains []string) error
|
|
IsUserspaceBind() bool
|
|
Name() string
|
|
Address() device.WGAddress
|
|
ToInterface() *net.Interface
|
|
Up() (*bind.UniversalUDPMuxDefault, error)
|
|
UpdateAddr(newAddr string) error
|
|
GetProxy() wgproxy.Proxy
|
|
UpdatePeer(peerKey string, allowedIps string, keepAlive time.Duration, endpoint *net.UDPAddr, preSharedKey *wgtypes.Key) error
|
|
RemovePeer(peerKey string) error
|
|
AddAllowedIP(peerKey string, allowedIP string) error
|
|
RemoveAllowedIP(peerKey string, allowedIP string) error
|
|
Close() error
|
|
SetFilter(filter device.PacketFilter) error
|
|
GetFilter() device.PacketFilter
|
|
GetDevice() *device.FilteredDevice
|
|
GetStats(peerKey string) (configurer.WGStats, error)
|
|
GetInterfaceGUIDString() (string, error)
|
|
}
|