mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-29 19:43:57 +01:00
c3bc85e22d
rename the go module to netbirdio/netbird as part of our rebranding.
35 lines
607 B
Go
35 lines
607 B
Go
package proxy
|
|
|
|
import (
|
|
"github.com/netbirdio/netbird/iface"
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
"io"
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
const DefaultWgKeepAlive = 25 * time.Second
|
|
|
|
type Type string
|
|
|
|
const (
|
|
TypeNoProxy Type = "NoProxy"
|
|
TypeWireguard Type = "Wireguard"
|
|
TypeDummy Type = "Dummy"
|
|
)
|
|
|
|
type Config struct {
|
|
WgListenAddr string
|
|
RemoteKey string
|
|
WgInterface iface.WGIface
|
|
AllowedIps string
|
|
PreSharedKey *wgtypes.Key
|
|
}
|
|
|
|
type Proxy interface {
|
|
io.Closer
|
|
// Start creates a local remoteConn and starts proxying data from/to remoteConn
|
|
Start(remoteConn net.Conn) error
|
|
Type() Type
|
|
}
|