Versions in this module Expand all Collapse all v1 v1.0.0 Aug 22, 2026 Changes in this version + func Run() + type AutoBlacklist struct + func NewAutoBlacklist(config *Config) *AutoBlacklist + func (b *AutoBlacklist) CheckDomain(domain string) + func (b *AutoBlacklist) IsBlocked(domain string) bool + type BlacklistManager interface + CheckDomain func(domain string) + IsBlocked func(domain string) bool + type Config struct + Adaptive bool + AutoBlacklist bool + Benchmark bool + BlacklistFile string + BlockQUIC bool + BufferSize int + ConfigFile string + DoHCache bool + DoHServer string + DomainMatching string + ECHGrease bool + EnableDoH bool + EnableSocks5 bool + EnableTransparent bool + FakePacket bool + FakePacketCount int + FakePacketTTL int + FakeSNI string + FakeSNIPool []string + FakeSNIPoolRaw string + FragmentDelay int + FragmentJitter int + FragmentMax int + FragmentMethod string + FragmentMin int + FrontMap map[string]string + FrontMapRaw string + HTTPObfuscate bool + Host string + HostsFile string + KeepAlive bool + LogAccess string + LogDomains bool + LogError string + MaxConnections int + NoBlacklist bool + OutHost string + OutPassword string + OutPort int + OutType string + OutUsername string + Password string + Port int + Preset string + Profiles map[string]*DomainProfile + QUICDelay int + QUICMode string + Quiet bool + RaceStrategies bool + Scan bool + ScanDomains []string + ScanDomainsRaw string + Selftest bool + Socks5Host string + Socks5Port int + SplitAfterSNI bool + SplitBeforeSNI bool + StatsHTTP bool + StatsPort int + StrategyCacheFile string + TCPFastOpen bool + TCPMSS int + TLSGrease bool + TLSPadding int + TLSProfile string + TLSShuffle bool + TTL int + Timeout int + TransparentHost string + TransparentPort int + Username string + func (c *Config) GetProfile(domain string) *DomainProfile + func (c *Config) ReloadProfiles() (int, error) + type DoHResolver struct + func NewDoHResolver(server string, useCache, queryEnabled bool) *DoHResolver + func (d *DoHResolver) Resolve(domain string) ([]net.IP, error) + func (d *DoHResolver) SetStaticHosts(hosts map[string][]net.IP) + type DomainDiagnosis struct + DNSMismatch bool + DoHDNS []net.IP + Domain string + LikelyDPI bool + Method string + Suggestion string + SystemDNS []net.IP + TCPDirect ProbeResult + TLSDirect ProbeResult + TLSFakeSNI ProbeResult + TLSFragmentedSNI ProbeResult + type DomainProfile struct + FakeSNI string + FragmentDelay int + FragmentMax int + FragmentMethod string + FragmentMin int + SplitAfterSNI *bool + type FileBlacklist struct + func NewFileBlacklist(config *Config) (*FileBlacklist, error) + func (b *FileBlacklist) CheckDomain(domain string) + func (b *FileBlacklist) IsBlocked(domain string) bool + type FragmentStrategy struct + FakePacket bool + FakeSNI string + Method string + Name string + SplitAfterSNI bool + type HTTPRequest struct + Body io.Reader + Chunked bool + Headers map[string]string + Host string + IsConnect bool + Method string + Port int + Raw []byte + URL string + type NoBlacklist struct + func (n *NoBlacklist) CheckDomain(domain string) + func (n *NoBlacklist) IsBlocked(domain string) bool + type ProbeResult struct + Detail string + Elapsed time.Duration + OK bool + type ProxyServer struct + func NewProxyServer(config *Config, stats *Statistics, blacklist BlacklistManager) *ProxyServer + func (s *ProxyServer) Start() error + func (s *ProxyServer) Stop() + type Socks5Server struct + func NewSocks5Server(config *Config, stats *Statistics, blacklist BlacklistManager, ...) *Socks5Server + func (s *Socks5Server) Start() error + func (s *Socks5Server) Stop() + type Statistics struct + func (s *Statistics) GetStats() string + func (s *Statistics) IncrementAllowed() + func (s *Statistics) IncrementBlocked() + func (s *Statistics) IncrementError() + func (s *Statistics) IncrementTotal() + func (s *Statistics) ReleaseConn() + func (s *Statistics) TryAcquireConn(max int) bool + func (s *Statistics) UpdateTraffic(in, out uint64) + type StrategyRecord struct + Attempts int64 + Strategy FragmentStrategy + Successes int64 + func (r *StrategyRecord) Confidence() float64 + type TransparentServer struct + func NewTransparentServer(config *Config, stats *Statistics, blacklist BlacklistManager, ...) *TransparentServer + func (s *TransparentServer) Start() error + func (s *TransparentServer) Stop()