Documentation
¶
Index ¶
- Constants
- func CheckConfig(configContent string) error
- func FormatBytes(length int64) string
- func FormatConfig(configContent string) (string, error)
- func RedirectStderr(path string) error
- func RedirectStderrAsUser(path string, uid, gid int) error
- func RegisterLocalDNSTransport(transport LocalDNSTransport)
- func Setup(basePath string, tempPath string, userID int, groupID int)
- func Version() string
- type BoxService
- type CommandClient
- func (c *CommandClient) CloseConnections() error
- func (c *CommandClient) Connect() error
- func (c *CommandClient) Disconnect() error
- func (c *CommandClient) SelectOutbound(groupTag string, outboundTag string) error
- func (c *CommandClient) ServiceReload() error
- func (c *CommandClient) URLTest(groupTag string) error
- type CommandClientHandler
- type CommandClientOptions
- type CommandServer
- type CommandServerHandler
- type ExchangeContext
- type Func
- type HTTPClient
- type HTTPRequest
- type HTTPResponse
- type InterfaceUpdateListener
- type LocalDNSTransport
- type NetworkInterface
- type NetworkInterfaceIterator
- type OnDemandRule
- type OnDemandRuleIterator
- type OutboundGroup
- type OutboundGroupItem
- type OutboundGroupItemIterator
- type OutboundGroupIterator
- type PProfServer
- type PlatformInterface
- type RoutePrefix
- type RoutePrefixIterator
- type StatusMessage
- type StringIterator
- type TunInterface
- type TunOptions
Constants ¶
View Source
const ( CommandLog int32 = iota CommandStatus CommandServiceReload CommandCloseConnections CommandGroup CommandSelectOutbound CommandURLTest )
Variables ¶
This section is empty.
Functions ¶
func CheckConfig ¶ added in v1.2.3
func FormatBytes ¶
func FormatConfig ¶ added in v1.2.3
func RedirectStderr ¶ added in v1.2.4
func RedirectStderrAsUser ¶ added in v1.3.0
func RegisterLocalDNSTransport ¶ added in v1.3.0
func RegisterLocalDNSTransport(transport LocalDNSTransport)
Types ¶
type BoxService ¶
type BoxService struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(configContent string, platformInterface PlatformInterface) (*BoxService, error)
func (*BoxService) Close ¶
func (s *BoxService) Close() error
func (*BoxService) Start ¶
func (s *BoxService) Start() error
type CommandClient ¶ added in v1.2.3
type CommandClient struct {
// contains filtered or unexported fields
}
func NewCommandClient ¶ added in v1.2.3
func NewCommandClient(sharedDirectory string, handler CommandClientHandler, options *CommandClientOptions) *CommandClient
func NewStandaloneCommandClient ¶ added in v1.3.3
func NewStandaloneCommandClient(sharedDirectory string) *CommandClient
func (*CommandClient) CloseConnections ¶ added in v1.3.3
func (c *CommandClient) CloseConnections() error
func (*CommandClient) Connect ¶ added in v1.2.3
func (c *CommandClient) Connect() error
func (*CommandClient) Disconnect ¶ added in v1.2.3
func (c *CommandClient) Disconnect() error
func (*CommandClient) SelectOutbound ¶ added in v1.3.3
func (c *CommandClient) SelectOutbound(groupTag string, outboundTag string) error
func (*CommandClient) ServiceReload ¶ added in v1.3.3
func (c *CommandClient) ServiceReload() error
func (*CommandClient) URLTest ¶ added in v1.3.3
func (c *CommandClient) URLTest(groupTag string) error
type CommandClientHandler ¶ added in v1.2.3
type CommandClientHandler interface { Connected() Disconnected(message string) WriteLog(message string) WriteStatus(message *StatusMessage) WriteGroups(message OutboundGroupIterator) }
type CommandClientOptions ¶ added in v1.2.3
type CommandServer ¶ added in v1.2.3
type CommandServer struct {
// contains filtered or unexported fields
}
func NewCommandServer ¶ added in v1.2.3
func NewCommandServer(sharedDirectory string, handler CommandServerHandler, maxLines int32) *CommandServer
func (*CommandServer) Close ¶ added in v1.2.3
func (s *CommandServer) Close() error
func (*CommandServer) SetService ¶ added in v1.3.3
func (s *CommandServer) SetService(newService *BoxService)
func (*CommandServer) Start ¶ added in v1.2.3
func (s *CommandServer) Start() error
func (*CommandServer) WriteMessage ¶ added in v1.2.3
func (s *CommandServer) WriteMessage(message string)
type CommandServerHandler ¶ added in v1.2.3
type CommandServerHandler interface {
ServiceReload() error
}
type ExchangeContext ¶ added in v1.3.0
type ExchangeContext struct {
// contains filtered or unexported fields
}
func (*ExchangeContext) ErrnoCode ¶ added in v1.3.0
func (c *ExchangeContext) ErrnoCode(code int32)
func (*ExchangeContext) ErrorCode ¶ added in v1.3.0
func (c *ExchangeContext) ErrorCode(code int32)
func (*ExchangeContext) OnCancel ¶ added in v1.3.0
func (c *ExchangeContext) OnCancel(callback Func)
func (*ExchangeContext) RawSuccess ¶ added in v1.3.0
func (c *ExchangeContext) RawSuccess(result []byte)
func (*ExchangeContext) Success ¶ added in v1.3.0
func (c *ExchangeContext) Success(result string)
type HTTPClient ¶ added in v1.2.3
type HTTPClient interface { RestrictedTLS() ModernTLS() PinnedTLS12() PinnedSHA256(sumHex string) TrySocks5(port int32) KeepAlive() NewRequest() HTTPRequest Close() }
func NewHTTPClient ¶ added in v1.2.3
func NewHTTPClient() HTTPClient
type HTTPRequest ¶ added in v1.2.3
type HTTPResponse ¶ added in v1.2.3
type InterfaceUpdateListener ¶ added in v1.2.5
type LocalDNSTransport ¶ added in v1.3.0
type LocalDNSTransport interface { Raw() bool Lookup(ctx *ExchangeContext, network string, domain string) error Exchange(ctx *ExchangeContext, message []byte) error }
type NetworkInterface ¶ added in v1.2.5
type NetworkInterface struct { Index int32 MTU int32 Name string Addresses StringIterator }
type NetworkInterfaceIterator ¶ added in v1.2.5
type NetworkInterfaceIterator interface { Next() *NetworkInterface HasNext() bool }
type OnDemandRule ¶
type OnDemandRule interface { Target() int32 DNSSearchDomainMatch() StringIterator DNSServerAddressMatch() StringIterator InterfaceTypeMatch() int32 SSIDMatch() StringIterator ProbeURL() string }
type OnDemandRuleIterator ¶
type OnDemandRuleIterator interface { Next() OnDemandRule HasNext() bool }
type OutboundGroup ¶ added in v1.3.3
type OutboundGroup struct { Tag string Type string Selectable bool Selected string // contains filtered or unexported fields }
func (*OutboundGroup) GetItems ¶ added in v1.3.3
func (g *OutboundGroup) GetItems() OutboundGroupItemIterator
type OutboundGroupItem ¶ added in v1.3.3
type OutboundGroupItemIterator ¶ added in v1.3.3
type OutboundGroupItemIterator interface { Next() *OutboundGroupItem HasNext() bool }
type OutboundGroupIterator ¶ added in v1.3.3
type OutboundGroupIterator interface { Next() *OutboundGroup HasNext() bool }
type PProfServer ¶
type PProfServer struct {
// contains filtered or unexported fields
}
func NewPProfServer ¶
func NewPProfServer(port int) *PProfServer
func (*PProfServer) Close ¶
func (s *PProfServer) Close() error
func (*PProfServer) Start ¶
func (s *PProfServer) Start() error
type PlatformInterface ¶
type PlatformInterface interface { UsePlatformAutoDetectInterfaceControl() bool AutoDetectInterfaceControl(fd int32) error OpenTun(options TunOptions) (int32, error) WriteLog(message string) UseProcFS() bool FindConnectionOwner(ipProtocol int32, sourceAddress string, sourcePort int32, destinationAddress string, destinationPort int32) (int32, error) PackageNameByUid(uid int32) (string, error) UIDByPackageName(packageName string) (int32, error) UsePlatformDefaultInterfaceMonitor() bool StartDefaultInterfaceMonitor(listener InterfaceUpdateListener) error CloseDefaultInterfaceMonitor(listener InterfaceUpdateListener) error UsePlatformInterfaceGetter() bool GetInterfaces() (NetworkInterfaceIterator, error) UnderNetworkExtension() bool }
type RoutePrefix ¶
func (*RoutePrefix) Mask ¶
func (p *RoutePrefix) Mask() string
type RoutePrefixIterator ¶
type RoutePrefixIterator interface { Next() *RoutePrefix HasNext() bool }
type StatusMessage ¶ added in v1.2.3
type StringIterator ¶
type TunInterface ¶
type TunOptions ¶
type TunOptions interface { GetInet4Address() RoutePrefixIterator GetInet6Address() RoutePrefixIterator GetDNSServerAddress() (string, error) GetMTU() int32 GetAutoRoute() bool GetStrictRoute() bool GetInet4RouteAddress() RoutePrefixIterator GetInet6RouteAddress() RoutePrefixIterator GetIncludePackage() StringIterator GetExcludePackage() StringIterator IsHTTPProxyEnabled() bool GetHTTPProxyServer() string GetHTTPProxyServerPort() int32 }
Source Files
¶
- command.go
- command_client.go
- command_conntrack.go
- command_group.go
- command_log.go
- command_reload.go
- command_select.go
- command_server.go
- command_shared.go
- command_status.go
- command_urltest.go
- config.go
- dns.go
- http.go
- iterator.go
- log.go
- monitor.go
- platform.go
- pprof.go
- service.go
- service_other.go
- setup.go
- tun.go
- tun_name_linux.go
Click to show internal directories.
Click to hide internal directories.