Help us shape the future of Go! Take the 2026 Go Developer Survey

option

package
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2025 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

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 HTTPSEntryConfig struct {
	// Domain name of the host.
	Name string `json:"name,omitempty"`
	// Host:port. Defaults to Name:443.
	Address string `json:"address,omitempty"`
}

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"`
	PreSharedKey  string        `json:"pre_shared_key,omitempty"`
	Reserved      []uint8       `json:"reserved,omitempty"`
	Workers       int           `json:"workers,omitempty"`
	MTU           uint32        `json:"mtu,omitempty"`
	Network       O.NetworkList `json:"network,omitempty"`
}

type LegacyWireGuardPeer

type LegacyWireGuardPeer struct {
	O.ServerOptions
	PublicKey    string                           `json:"public_key,omitempty"`
	PreSharedKey string                           `json:"pre_shared_key,omitempty"`
	AllowedIPs   badoption.Listable[netip.Prefix] `json:"allowed_ips,omitempty"`
	Reserved     []uint8                          `json:"reserved,omitempty"`
}

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 TLSEntryConfig struct {
	// Domain name of the host.
	Name string `json:"name,omitempty"`
	// Host:port. Defaults to Name:853.
	Address string `json:"address,omitempty"`
}

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"`
	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"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL