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