sing-box/option/wireguard.go

33 lines
1.3 KiB
Go
Raw Normal View History

2022-08-16 15:37:51 +00:00
package option
2024-11-07 13:44:04 +00:00
import (
"net/netip"
"github.com/sagernet/sing/common/json/badoption"
)
2023-10-21 04:00:00 +00:00
2022-08-16 15:37:51 +00:00
type WireGuardOutboundOptions struct {
2022-09-03 04:55:10 +00:00
DialerOptions
2024-11-07 13:44:04 +00:00
SystemInterface bool `json:"system_interface,omitempty"`
GSO bool `json:"gso,omitempty"`
InterfaceName string `json:"interface_name,omitempty"`
LocalAddress badoption.Listable[netip.Prefix] `json:"local_address"`
PrivateKey string `json:"private_key"`
Peers []WireGuardPeer `json:"peers,omitempty"`
ServerOptions
PeerPublicKey string `json:"peer_public_key"`
PreSharedKey string `json:"pre_shared_key,omitempty"`
Reserved []uint8 `json:"reserved,omitempty"`
Workers int `json:"workers,omitempty"`
MTU uint32 `json:"mtu,omitempty"`
Network NetworkList `json:"network,omitempty"`
}
type WireGuardPeer struct {
ServerOptions
2024-11-07 13:44:04 +00:00
PublicKey string `json:"public_key,omitempty"`
PreSharedKey string `json:"pre_shared_key,omitempty"`
AllowedIPs badoption.Listable[string] `json:"allowed_ips,omitempty"`
Reserved []uint8 `json:"reserved,omitempty"`
2022-08-16 15:37:51 +00:00
}