Documentation
¶
Index ¶
- Constants
- func RegisterProxyParser(name string, parser ProxyParser)
- type App
- type BlockDomain
- func (*BlockDomain) CaddyModule() caddy.ModuleInfo
- func (p *BlockDomain) Close() error
- func (d *BlockDomain) Dial(network, addr string) (net.Conn, error)
- func (d *BlockDomain) Exist(domain string) bool
- func (d *BlockDomain) ListenPacket(network, addr string) (net.PacketConn, error)
- func (p *BlockDomain) Provision(ctx caddy.Context) error
- type CaddyUpstream
- func (u *CaddyUpstream) Add(s string) error
- func (CaddyUpstream) CaddyModule() caddy.ModuleInfo
- func (u *CaddyUpstream) Consume(k string, nr, nw int64) error
- func (u *CaddyUpstream) Delete(s string) error
- func (u *CaddyUpstream) Provision(ctx caddy.Context) error
- func (u *CaddyUpstream) Range(fn func(k string, up, down int64))
- func (u *CaddyUpstream) Validate(k string) bool
- type DropProxy
- type EnvProxy
- type HttpProxy
- type MemoryUpstream
- func (u *MemoryUpstream) Add(s string) error
- func (u *MemoryUpstream) AddKey(key string)
- func (*MemoryUpstream) CaddyModule() caddy.ModuleInfo
- func (u *MemoryUpstream) Cleanup() error
- func (u *MemoryUpstream) Consume(k string, nr, nw int64) error
- func (u *MemoryUpstream) Delete(s string) error
- func (u *MemoryUpstream) Provision(ctx caddy.Context) error
- func (u *MemoryUpstream) Range(fn func(string, int64, int64))
- func (u *MemoryUpstream) Validate(k string) bool
- type NoProxy
- type Proxy
- type ProxyParser
- type ShadowsocksProxy
- func (ShadowsocksProxy) CaddyModule() caddy.ModuleInfo
- func (p *ShadowsocksProxy) Close() error
- func (p *ShadowsocksProxy) Dial(network, addr string) (net.Conn, error)
- func (p *ShadowsocksProxy) ListenPacket(network, addr string) (net.PacketConn, error)
- func (p *ShadowsocksProxy) Provision(ctx caddy.Context) error
- type SocksProxy
- type Task
- type TaskType
- type Traffic
- type UnixProxy
- type Upstream
- type WireGuardProxy
- func (WireGuardProxy) CaddyModule() caddy.ModuleInfo
- func (p *WireGuardProxy) Close() error
- func (p *WireGuardProxy) Dial(network, addr string) (net.Conn, error)
- func (p *WireGuardProxy) ListenPacket(network, addr string) (net.PacketConn, error)
- func (p *WireGuardProxy) Provision(ctx caddy.Context) error
Constants ¶
View Source
const CaddyAppID = "trojan"
Variables ¶
This section is empty.
Functions ¶
func RegisterProxyParser ¶
func RegisterProxyParser(name string, parser ProxyParser)
Types ¶
type App ¶
type App struct {
UpstreamRaw json.RawMessage `json:"upstream" caddy:"namespace=trojan.upstream inline_key=upstream"`
ProxyRaw json.RawMessage `json:"proxy" caddy:"namespace=trojan.proxy inline_key=proxy"`
NamedProxyRaw map[string]json.RawMessage `json:"named_proxy,omitempty" caddy:"namespace=trojan.proxy inline_key=proxy"`
Users []string `json:"users,omitempty"`
// contains filtered or unexported fields
}
func (App) CaddyModule ¶
func (App) CaddyModule() caddy.ModuleInfo
func (*App) GetUpstream ¶
type BlockDomain ¶
type BlockDomain struct {
ProxyRaw json.RawMessage `json:"pre_proxy,omitempty" caddy:"namespace=trojan.proxy inline_key=proxy"`
DomainList []string `json:"domain_list,omitempty"`
sync.RWMutex
// contains filtered or unexported fields
}
func (*BlockDomain) CaddyModule ¶
func (*BlockDomain) CaddyModule() caddy.ModuleInfo
func (*BlockDomain) Close ¶
func (p *BlockDomain) Close() error
func (*BlockDomain) Exist ¶
func (d *BlockDomain) Exist(domain string) bool
func (*BlockDomain) ListenPacket ¶
func (d *BlockDomain) ListenPacket(network, addr string) (net.PacketConn, error)
type CaddyUpstream ¶
type CaddyUpstream struct {
// contains filtered or unexported fields
}
func (*CaddyUpstream) Add ¶
func (u *CaddyUpstream) Add(s string) error
func (CaddyUpstream) CaddyModule ¶
func (CaddyUpstream) CaddyModule() caddy.ModuleInfo
func (*CaddyUpstream) Delete ¶
func (u *CaddyUpstream) Delete(s string) error
func (*CaddyUpstream) Range ¶
func (u *CaddyUpstream) Range(fn func(k string, up, down int64))
func (*CaddyUpstream) Validate ¶
func (u *CaddyUpstream) Validate(k string) bool
type DropProxy ¶
type DropProxy struct{}
func (DropProxy) CaddyModule ¶
func (DropProxy) CaddyModule() caddy.ModuleInfo
func (*DropProxy) ListenPacket ¶
func (*DropProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type EnvProxy ¶
type EnvProxy struct {
ProxyRaw json.RawMessage `json:"pre_proxy" caddy:"namespace=trojan.proxy inline_key=proxy"`
// contains filtered or unexported fields
}
func (EnvProxy) CaddyModule ¶
func (EnvProxy) CaddyModule() caddy.ModuleInfo
func (*EnvProxy) ListenPacket ¶
func (*EnvProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type HttpProxy ¶
type HttpProxy struct {
ProxyRaw json.RawMessage `json:"pre_proxy" caddy:"namespace=trojan.proxy inline_key=proxy"`
Server string `json:"server"`
User string `json:"user,omitempty"`
Password string `json:"password,omitempty"`
// contains filtered or unexported fields
}
HttpProxy is a caddy module and supports socks5 proxy server. All tcp connections will be sent to proxy server.
func (HttpProxy) CaddyModule ¶
func (HttpProxy) CaddyModule() caddy.ModuleInfo
func (*HttpProxy) ListenPacket ¶
func (p *HttpProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type MemoryUpstream ¶
type MemoryUpstream struct {
UpstreamRaw json.RawMessage `json:"persist" caddy:"namespace=trojan.upstream inline_key=upstream"`
// contains filtered or unexported fields
}
func (*MemoryUpstream) Add ¶
func (u *MemoryUpstream) Add(s string) error
func (*MemoryUpstream) AddKey ¶
func (u *MemoryUpstream) AddKey(key string)
func (*MemoryUpstream) CaddyModule ¶
func (*MemoryUpstream) CaddyModule() caddy.ModuleInfo
func (*MemoryUpstream) Cleanup ¶
func (u *MemoryUpstream) Cleanup() error
func (*MemoryUpstream) Delete ¶
func (u *MemoryUpstream) Delete(s string) error
func (*MemoryUpstream) Validate ¶
func (u *MemoryUpstream) Validate(k string) bool
type NoProxy ¶
type NoProxy struct{}
func (NoProxy) CaddyModule ¶
func (NoProxy) CaddyModule() caddy.ModuleInfo
func (*NoProxy) ListenPacket ¶
func (*NoProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type ProxyParser ¶
type ProxyParser func(args []string) (json.RawMessage, error)
func GetProxyParser ¶
func GetProxyParser(name string) (ProxyParser, bool)
type ShadowsocksProxy ¶
type ShadowsocksProxy struct {
ProxyRaw json.RawMessage `json:"pre_proxy" caddy:"namespace=trojan.proxy inline_key=proxy"`
Server string `json:"server"`
Password string `json:"password"`
Method string `json:"method"`
// contains filtered or unexported fields
}
func (ShadowsocksProxy) CaddyModule ¶
func (ShadowsocksProxy) CaddyModule() caddy.ModuleInfo
func (*ShadowsocksProxy) Close ¶
func (p *ShadowsocksProxy) Close() error
func (*ShadowsocksProxy) Dial ¶
func (p *ShadowsocksProxy) Dial(network, addr string) (net.Conn, error)
func (*ShadowsocksProxy) ListenPacket ¶
func (p *ShadowsocksProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type SocksProxy ¶
type SocksProxy struct {
ProxyRaw json.RawMessage `json:"pre_proxy" caddy:"namespace=trojan.proxy inline_key=proxy"`
Server string `json:"server"`
User string `json:"user,omitempty"`
Password string `json:"password,omitempty"`
// contains filtered or unexported fields
}
SocksProxy is a caddy module and supports socks5 proxy server. All tcp connections will be sent to proxy server.
func (SocksProxy) CaddyModule ¶
func (SocksProxy) CaddyModule() caddy.ModuleInfo
func (*SocksProxy) Close ¶
func (p *SocksProxy) Close() error
func (*SocksProxy) ListenPacket ¶
func (p *SocksProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type UnixProxy ¶
type UnixProxy struct {
Path string `json:"path"`
}
func (UnixProxy) CaddyModule ¶
func (UnixProxy) CaddyModule() caddy.ModuleInfo
func (*UnixProxy) ListenPacket ¶
func (*UnixProxy) ListenPacket(network, addr string) (net.PacketConn, error)
type WireGuardProxy ¶
type WireGuardProxy struct {
Address string `json:"address"`
DNSServer string `json:"dns_server"`
PrivateKey string `json:"private_key"`
PublicKey string `json:"public_key"`
AllowedIP string `json:"allowed_ip,omitempty"`
Endpoint string `json:"endpoint"`
// contains filtered or unexported fields
}
func (WireGuardProxy) CaddyModule ¶
func (WireGuardProxy) CaddyModule() caddy.ModuleInfo
func (*WireGuardProxy) Close ¶
func (p *WireGuardProxy) Close() error
func (*WireGuardProxy) ListenPacket ¶
func (p *WireGuardProxy) ListenPacket(network, addr string) (net.PacketConn, error)
Click to show internal directories.
Click to hide internal directories.