config

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2026 License: GPL-3.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const SchemeMimic = "mimic"

Variables

This section is empty.

Functions

func GenerateMimicURL added in v0.3.1

func GenerateMimicURL(uuid, serverAddr, serverName string, domains []string, transport, dns string) string

GenerateMimicURL generates a mimic:// URI from connection parameters.

Types

type ClientConfig

type ClientConfig struct {
	Server     string         // Server address (IP:PORT)
	UUID       string         // Unique authorization identifier
	Domains    []string       // List of domains for masking
	Transport  string         // Transport type: "mtp" or "tcp"
	Proxies    []ProxyConfig  // Local proxy server settings
	DNS        string         // Custom DNS server
	Settings   ClientSettings // Fine-tuning settings
	Routing    RoutingConfig  // Routing rules
	ServerName string         // Server name from URL
	LocalPort  int            // Local proxy port (for backward compatibility)
}

ClientConfig represents the client configuration

func LoadClientConfig

func LoadClientConfig(path string) (*ClientConfig, error)

LoadClientConfig loads client configuration from YAML file

func ParseMimicURL added in v0.3.1

func ParseMimicURL(uri string) (*ClientConfig, error)

ParseMimicURL parses a mimic:// URI into a ClientConfig. Format: mimic://<uuid>@<server_ip>:<port>?domains=d1,d2&transport=mtp&dns=8.8.8.8:53

type ClientSettings

type ClientSettings struct {
	SwitchTimeRangeStr string        // Time range for domain switching (e.g., "60s-300s")
	SwitchMin          time.Duration // Minimum switch interval
	SwitchMax          time.Duration // Maximum switch interval
	Randomize          bool          // Randomize domain order
}

ClientSettings represents fine-tuning settings

type ProxyConfig

type ProxyConfig struct {
	Type string // Proxy type: "socks5", "http"
	Port int    // Port number
}

ProxyConfig represents local proxy configuration

type RoutingConfig

type RoutingConfig struct {
	DefaultPolicy string        // Default policy: "proxy", "direct", "block"
	Rules         []RoutingRule // Routing rules
}

RoutingConfig represents routing configuration

type RoutingRule

type RoutingRule struct {
	Type   string // Rule type: "domain_suffix", "domain_keyword", "ip_cidr"
	Value  string // Rule value (domain, keyword, or CIDR)
	Policy string // Policy: "proxy", "direct", "block"
}

RoutingRule represents a single routing rule

type ServerConfig

type ServerConfig struct {
	Port       int      // Listening port
	MaxClients int      // Maximum number of clients
	UUID       string   // Server UUID for authentication
	DomainList []string // List of domains for masking
	Transport  string   // Transport type: "mtp" or "tcp"
	DNS        string   // DNS server
	Name       string   // Server name
}

ServerConfig represents the server configuration

func LoadServerConfig

func LoadServerConfig(path string) (*ServerConfig, error)

LoadServerConfig loads server configuration from YAML file

Jump to

Keyboard shortcuts

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