Documentation
¶
Index ¶
- type ALGenevaInboundOptions
- type ALGenevaOutboundOptions
- type DNSEntryConfig
- type HTTPSEntryConfig
- type LegacyWireGuardOutboundOptions
- type LegacyWireGuardPeer
- type OutboundOutlineOptions
- type TCPEntryConfig
- type TLSEntryConfig
- type UDPEntryConfig
- type WireGuardAdvancedSecurityOptions
- type WireGuardEndpointOptions
- type WireGuardPeer
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ALGenevaInboundOptions ¶
type ALGenevaInboundOptions struct {
option.HTTPMixedInboundOptions
}
type ALGenevaOutboundOptions ¶
type ALGenevaOutboundOptions struct {
option.HTTPOutboundOptions
Strategy string `json:"strategy,omitempty"`
}
type DNSEntryConfig ¶
type DNSEntryConfig struct {
// System is used for using the system as a resolver, if you want to use it
// provide an empty object.
System *struct{} `json:"system,omitempty"`
// HTTPS use an encrypted DNS over HTTPS (DoH) resolver.
HTTPS *HTTPSEntryConfig `json:"https,omitempty"`
// TLS use an encrypted DNS over TLS (DoT) resolver.
TLS *TLSEntryConfig `json:"tls,omitempty"`
// UDP use a UDP resolver
UDP *UDPEntryConfig `json:"udp,omitempty"`
// TCP use a TCP resolver
TCP *TCPEntryConfig `json:"tcp,omitempty"`
}
DNSEntryConfig specifies a list of resolvers to test and they can be one of the attributes (system, https, tls, udp or tcp)
type HTTPSEntryConfig ¶
type LegacyWireGuardOutboundOptions ¶
type LegacyWireGuardOutboundOptions struct {
O.DialerOptions
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 []LegacyWireGuardPeer `json:"peers,omitempty"`
O.ServerOptions
PeerPublicKey string `json:"peer_public_key"`
Reserved []uint8 `json:"reserved,omitempty"`
Workers int `json:"workers,omitempty"`
MTU uint32 `json:"mtu,omitempty"`
Network O.NetworkList `json:"network,omitempty"`
}
type LegacyWireGuardPeer ¶
type OutboundOutlineOptions ¶
type OutboundOutlineOptions struct {
O.DialerOptions
DNSResolvers []DNSEntryConfig `json:"dns,omitempty" yaml:"dns,omitempty"`
TLS []string `json:"tls,omitempty" yaml:"tls,omitempty"`
TestTimeout string `json:"test_timeout" yaml:"-"`
Domains []string `json:"domains" yaml:"-"`
}
OutboundOutlineOptions set the outbound options used by the outline-sdk smart dialer. You can find more details about the parameters by looking through the implementation: https://github.com/Jigsaw-Code/outline-sdk/blob/v0.0.18/x/smart/stream_dialer.go#L65-L100 Or check the documentation README: https://github.com/Jigsaw-Code/outline-sdk/tree/v0.0.18/x/smart
type TCPEntryConfig ¶
type TCPEntryConfig struct {
// Host:port.
Address string `json:"address,omitempty"`
}
type TLSEntryConfig ¶
type UDPEntryConfig ¶
type UDPEntryConfig struct {
// Host:port.
Address string `json:"address,omitempty"`
}
type WireGuardAdvancedSecurityOptions ¶
type WireGuardAdvancedSecurityOptions struct {
JunkPacketCount int `json:"junk_packet_count,omitempty"` // jc
JunkPacketMinSize int `json:"junk_packet_min_size,omitempty"` // jmin
JunkPacketMaxSize int `json:"junk_packet_max_size,omitempty"` // jmax
InitPacketJunkSize int `json:"init_packet_junk_size,omitempty"` // s1
ResponsePacketJunkSize int `json:"response_packet_junk_size,omitempty"` // s2
InitPacketMagicHeader uint32 `json:"init_packet_magic_header,omitempty"` // h1
ResponsePacketMagicHeader uint32 `json:"response_packet_magic_header,omitempty"` // h2
UnderloadPacketMagicHeader uint32 `json:"underload_packet_magic_header,omitempty"` // h3
TransportPacketMagicHeader uint32 `json:"transport_packet_magic_header,omitempty"` // h4
}
type WireGuardEndpointOptions ¶
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"`
WireGuardAdvancedSecurityOptions /** ADDED FOR AMNEZIA **/
O.DialerOptions
}
******************* END *******************
type WireGuardPeer ¶
type WireGuardPeer struct {
Address string `json:"address,omitempty"`
Port uint16 `json:"port,omitempty"`
PublicKey string `json:"public_key,omitempty"`
AllowedIPs badoption.Listable[netip.Prefix] `json:"allowed_ips,omitempty"`
PersistentKeepaliveInterval uint16 `json:"persistent_keepalive_interval,omitempty"`
Reserved []uint8 `json:"reserved,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.