mirror of
https://github.com/shtorm-7/sing-box-extended.git
synced 2026-05-14 00:51:12 +03:00
58 lines
2.9 KiB
Go
58 lines
2.9 KiB
Go
package option
|
|
|
|
import (
|
|
"net/netip"
|
|
|
|
Xbadoption "github.com/sagernet/sing-box/common/xray/json/badoption"
|
|
"github.com/sagernet/sing/common/json/badoption"
|
|
)
|
|
|
|
type WireGuardEndpointOptions struct {
|
|
System bool `json:"system,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
MTU uint32 `json:"mtu,omitempty"`
|
|
Address badoption.Listable[netip.Prefix] `json:"address"`
|
|
PrivateKey string `json:"private_key"`
|
|
ListenPort uint16 `json:"listen_port,omitempty"`
|
|
Peers []WireGuardPeer `json:"peers,omitempty"`
|
|
UDPTimeout badoption.Duration `json:"udp_timeout,omitempty"`
|
|
Workers int `json:"workers,omitempty"`
|
|
PreallocatedBuffersPerPool uint32 `json:"preallocated_buffers_per_pool,omitempty"`
|
|
DisablePauses bool `json:"disable_pauses,omitempty"`
|
|
Amnezia *WireGuardAmnezia `json:"amnezia,omitempty"`
|
|
DialerOptions
|
|
}
|
|
|
|
type WireGuardPeer struct {
|
|
Address string `json:"address,omitempty"`
|
|
Port uint16 `json:"port,omitempty"`
|
|
PublicKey string `json:"public_key,omitempty"`
|
|
PreSharedKey string `json:"pre_shared_key,omitempty"`
|
|
AllowedIPs badoption.Listable[netip.Prefix] `json:"allowed_ips,omitempty"`
|
|
PersistentKeepaliveInterval uint16 `json:"persistent_keepalive_interval,omitempty"`
|
|
Reserved []uint8 `json:"reserved,omitempty"`
|
|
}
|
|
|
|
type WireGuardAmnezia struct {
|
|
JC int `json:"jc,omitempty"`
|
|
JMin int `json:"jmin,omitempty"`
|
|
JMax int `json:"jmax,omitempty"`
|
|
S1 int `json:"s1,omitempty"`
|
|
S2 int `json:"s2,omitempty"`
|
|
S3 int `json:"s3,omitempty"`
|
|
S4 int `json:"s4,omitempty"`
|
|
H1 *Xbadoption.Range `json:"h1,omitempty"`
|
|
H2 *Xbadoption.Range `json:"h2,omitempty"`
|
|
H3 *Xbadoption.Range `json:"h3,omitempty"`
|
|
H4 *Xbadoption.Range `json:"h4,omitempty"`
|
|
I1 string `json:"i1,omitempty"`
|
|
I2 string `json:"i2,omitempty"`
|
|
I3 string `json:"i3,omitempty"`
|
|
I4 string `json:"i4,omitempty"`
|
|
I5 string `json:"i5,omitempty"`
|
|
J1 string `json:"j1,omitempty"`
|
|
J2 string `json:"j2,omitempty"`
|
|
J3 string `json:"j3,omitempty"`
|
|
ITime int64 `json:"itime,omitempty"`
|
|
}
|