Documentation ¶
Index ¶
- Variables
- func CleanCache()
- func ClientProxy(listenPort int, cmdChan chan string, isLocalHost func(host string) bool, ...) (err error)
- func LocalQueryDNS(query *dns.Msg, localdnsserver ...string) (replyData []byte, err error)
- func NewDNSClientServer(port int, server string, cmdChan chan string, ...)
- func NewDNSProxyServer(port int)
- func RegistDNS(host string, replyDNS []byte)
- func ServerParseDNS(buffer []byte, replyFunc func(replyData []byte) error) (err error)
- func SetLocalDNS(dnsServer string)
- func Vlogf(level int, format string, v ...interface{})
- type Cache
- type Config
- type TlsConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var ( SIG_CLEAN = "[SIG_CLEAN]" SIG_EXIT = "[SIG_EXIT]" DefaultLocalDNS = "223.5.5.5:53" )
View Source
var (
Cachsed = make(map[string]*Cache)
)
View Source
var ( // PASWD = "dGxzOi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFbVRDQ0E0R2dBd0lCQWdLQ0FRQlZGbm1Ja3lhVGcrUXR3S2d6aHhjVE9MdDlvZnl3alNMS01XL2YwSlFQCm1md0x1b3gzc08yc0hKK2FHaHhCYTVINkhOaXl5TitTMmlkck55OVNnRi80WiswMUl2c29NbVBDVzdwblhrZTgKQXg4LzVUTWJUV3VXM0FxamRTZHZXdjlIMkI1NExYSXk5WkJVdUl3U3pJMW90cmZrNFh1N2xNa01sS0Q1dk9IQgpxWWtOVDY4cEl6VTVNTFZoWVN4bUNSRnI1dkhvbXJYWUVCejBPTU1ZcHlqRjBrajNzZks1Zlh3NDdsclo1VnpPClFOZURhajIrZWlaUWVNWWYvaWVHTHpza0VPRUYvdUc4dGxaN052RUUxdTdhd0doRmJTQy9xYjhYeWk5b3d5ME4KU2g2Z1ZibUp2SFBrZzVFT1lZRm5lS1ZDZnE0WXpRWnZvVUVzN0drRWZQQ3RNQTBHQ1NxR1NJYjNEUUVCQ3dVQQpNR1V4Q3pBSkJnTlZCQVlUQWtwUU1RNHdEQVlEVlFRSUV3VlViMnQ1YnpFT01Bd0dBMVVFQnhNRlZHOXJlVzh4CkVEQU9CZ05WQkFrVEIxUmhjMk5wYTI4eEVUQVBCZ05WQkJFVENERXdMVEl3TUMwME1SRXdEd1lEVlFRS0V3aEwKWTNCbFpTQkRiekFlRncweU1EQTNNRGd3T0RNM016SmFGdzB5TVRBM01EZ3dPRE0zTXpKYU1HVXhDekFKQmdOVgpCQVlUQWtwUU1RNHdEQVlEVlFRSUV3VlViMnQ1YnpFT01Bd0dBMVVFQnhNRlZHOXJlVzh4RURBT0JnTlZCQWtUCkIxUmhjMk5wYTI4eEVUQVBCZ05WQkJFVENERXdMVEl3TUMwME1SRXdEd1lEVlFRS0V3aExZM0JsWlNCRGJ6Q0MKQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFMdFNHdXVLWGhzVWY0cDNzT2I2QnNBNAo3WCtDRVpJSys2RzZiWFp4V2poSDdCNDI0amdPNS9XZ0ZDbzNySDEwK0FvRU5BRGtBcUUrYjAyTWgzb0d4Wm9QCk5yT0hXeE5Rb2puVlBVd1drMW05NGEra2JIcHNQdHdDd0FnNzBmbTJlNUJKK3ZMNEJEdUsyeEZta1Zub2dpN0kKMDJFWmtDcFdQaU5kMTlaMVdvWmY4MlVCaFBoQ3RyRURGV1NWeW1Vc0lac1Rsa2JWbmJXQzhnMU1Wa2xJdlMxNgp4aGVHa1kyR2hNOEViWUJrZmZ1bzlyT2Fmazh3dTlKT0V5eTFzelIxL3FMZjA0Q0xGa0dMdGRKbnFrSmJaQ2hYCllTRXZqSEpzVkRhMDg1ODZzUGZPckQrRUlsODlyZ1JPalJuWDFGWlBiVW41OW8xN05XTWFTTmtINVdaOU5Ic0MKQXdFQUFhTlRNRkV3RGdZRFZSMFBBUUgvQkFRREFnV2dNQjBHQTFVZEpRUVdNQlFHQ0NzR0FRVUZCd01CQmdncgpCZ0VGQlFjREFqQVBCZ05WSFJNQkFmOEVCVEFEQVFIL01BOEdBMVVkRVFRSU1BYUhCSDhBQUFFd0RRWUpLb1pJCmh2Y05BUUVMQlFBRGdnRUJBSnZsODd0RXVQZ3labGZma3BNMzFtK2ZjN2pralUzdjVla0pwWUsreVVDS3B2d0sKSGo3V3ZTdW1oa0cyb0VHTGdKeUh1WEdtT2E3NFp4RWhSY3RRd3VFODM4M0NhYXkrZmczeXQ0NGZPa0ExVzhRSwpKZXQ3K21HeERESVJQM0s3VExvMWdmS09kRFJ5RTc1N0NMeG1mcHNkbngwbWRUQUIyWDgwM05rTmk3TXNka3NPCm5QTmhjQjZyVDc4Q0RTSlpwUkZvK1RTMytEUVQ0c0daT05vSkN1OVhuQ0VPaFk2c0xBb1FxVVl5d0xibVJFaG4KUThXbHFLN1BnTDR3SmViNHRieEwyeWhoelI3TDQ3VGtrb2w1Z0ZNRGRQcGxQZVNSbWdCaG0vSnJaRkN3WFZDUAp2WWVhQlNmdkxid0hUaWVaL1VBVGlyaUVUaGg2WndRVHM5KytYMlE9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KPFNFUD4tLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS0KTUlJRXZnSUJBREFOQmdrcWhraUc5dzBCQVFFRkFBU0NCS2d3Z2dTa0FnRUFBb0lCQVFDN1VocnJpbDRiRkgrSwpkN0RtK2diQU9PMS9naEdTQ3Z1aHVtMTJjVm80Uit3ZU51STREdWYxb0JRcU42eDlkUGdLQkRRQTVBS2hQbTlOCmpJZDZCc1dhRHphemgxc1RVS0k1MVQxTUZwTlp2ZUd2cEd4NmJEN2NBc0FJTzlINXRudVFTZnJ5K0FRN2l0c1IKWnBGWjZJSXV5Tk5oR1pBcVZqNGpYZGZXZFZxR1gvTmxBWVQ0UXJheEF4VmtsY3BsTENHYkU1WkcxWjIxZ3ZJTgpURlpKU0wwdGVzWVhocEdOaG9UUEJHMkFaSDM3cVBhem1uNVBNTHZTVGhNc3RiTTBkZjZpMzlPQWl4WkJpN1hTClo2cENXMlFvVjJFaEw0eHliRlEydFBPZk9yRDN6cXcvaENKZlBhNEVUbzBaMTlSV1QyMUorZmFOZXpWakdraloKQitWbWZUUjdBZ01CQUFFQ2dnRUJBSUV2SFl1bFVFTWl2dGF5dHRpRVE5V2JMUWRMbjJ4MWtKWTNxTGdQY21YdwpEQUhHWGZyRkpPbDdiWXl6K294Rzk2eUl1NGlGdHQ2VzNWSEJBY21CRkJPc1BGQlJuOWpST2gvaVZMUzl1UDhoCitad1ZMQTY5eWhnVytYSjBOdG9kSkZnYy9TbEZMRDRZQS82Ykd0RERqY3hRQ1o4a2J3MFRqeVQ2MmhoM3RHZUkKWkkvN2RCeUFTSk1nODZRdlJzaDdiOTJYYVZ3eXM0SHpDcVNDeGVrZDIxVmVSWlQzRnNVSXUzbkptamNZazJVdgo3OWdUQWt1aUNydnpBcG81TzBybnphSEJhUEl6YThUUWdCamJxMnpNT1hCOGsyUktGZUNCY2RId1U5UkIzUlVHCmE1cjhLSFhrS09pK1JKT2s1b0Z1d05hRUo1UkcyVlY2c2lSYTE0ZlM4REVDZ1lFQTNwektlSFpCUzJLVnpURSsKOVR4citTVVBxZlkvZnNNRk9YdEZYSlpkRmhQQnRkSkk5MEllL2N3UDVYeE16VFdzeHBPOENIdVNocU1BbUZyagpGa1pFdWVFQlcwWnVhellGT3dSdkd1YUlsU05RWjdoVHZSRWJ6UXFVSjFwMzBXWjE2LzQyNDMyY0F0NXhTTXUxCmRoZVB1bzF6VFNnbWZmV2pjWFM0SXdkeWg3a0NnWUVBMTJwSmpCanlHbUFlVjhhcHB6Z1dkYm1IblJDazVQNkUKdmJpN3Vid2tta2FVUDByY2ZOaWl2aHB0UUFidWNvMytZVHRyZ3RWYTN2WFkrTTkwd0JxS3NMTk9jR21xWnFIOQppNHVzanI2TGdJYzlMaWo1N2tleklHOVU3UWJDRllaSUtFU24va0pyODVCYW14QUh5cGQyeTB0ZWF2UFI4TU5xCnFteWdaTmovajlNQ2dZRUF3S1Y1Um5RNEgwL3FpWTlqaDRESmcrdkJ1WGtrQzhRam9sSCtmWmlXYUFPaThJRlIKcWNDcjUwRVFSSzJrSFRhbEZaaEY4aVZXY1hOZ2tYaWQ2dW5Xa2ZHWlplNzJvWXMzVFpLUnYvcmZHZ2xjak5YawppY3JqZnpiM2JYTUtHOG9LcExienN6MUJwTzN4cFdpODJieWNJbnBFM1BHeEZmSmNobFBYQW1Gd2lPa0NnWUFRCldqb3hEMmU1aHRobTAyYm5rY05xdG1YTUQ0cGs4OGxCMmJjdWQxRFVBVTJackdZbWVBK0tuTmowUmxKdGtjZmcKdTdFQ29vMmVaVTFPUGZsZjUrUGxYQWMxVTJBaklHTHQ1L0YyZUpLQWRFTzVzRlNndVFLcEVLcUN2OE9WL0xhWApqL2FzdjRBUVlrSHVpWDM5N0JlUmdTd3V0RW1ZbkUwSm1PdG9IR3p5RHdLQmdDNTBtUDNVbzVYUmpYWlQzNnBsClU5SE51UzQ2OW8wcWNFd2d1b1JvUWxUWXp1MXJkT0M1WCtGbEpaWk5kcGczWVVUR0t6cXhGTVpLOVRjNzdnelMKRDV6VWVTQlBhamZiTVJmVHRsZkp2MmhBTEFBeEFWc3FMS3MzVkZPNDM2dGZyVFpQRlZNYWZpRU9OWkFLZ3VxaQpYcFY1OU5DTFdsN1RBUVFSWFRSZDdPNXIKLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQpAMTI3LjAuMC4xOjEyMzQ1" PASWD = "" /* 4564-byte string literal not displayed */ )
Functions ¶
func CleanCache ¶
func CleanCache()
func ClientProxy ¶
func ClientProxy(listenPort int, cmdChan chan string, isLocalHost func(host string) bool, sendFund func(sendBuf []byte, otherDNSServer string) (reply []byte, err error)) (err error)
Routine to handle inputs to Proxy port
func LocalQueryDNS ¶
func NewDNSClientServer ¶
func NewDNSProxyServer ¶
func NewDNSProxyServer(port int)
func ServerParseDNS ¶
func SetLocalDNS ¶
func SetLocalDNS(dnsServer string)
SetLocalDNS set default local dns : defualt is 223.5.5.5
Types ¶
type Config ¶
type Config struct { Server interface{} `json:"server"` ServerPort int `json:"server_port"` LocalPort int `json:"local_port"` LocalAddress string `json:"local_address"` Password string `json:"password"` Method string `json:"method"` // encryption method // following options are only used by server PortPassword map[string]string `json:"port_password"` Timeout int `json:"timeout"` // The order of servers in the client config is significant, so use array // instead of map to preserve the order. ServerPassword string `json:"server_password"` // shadowsocks options SSPassword string `json:"ss_password"` OldSSPwd string `json:"ss_old"` SSMethod string `json:"ss_method"` SALT string `json:"salt"` EBUFLEN int `json:"buflen"` }
Config can use file to load
func (*Config) ToTlsConfig ¶
type TlsConfig ¶
type TlsConfig struct { Ca x509.CertPool Cert tls.Certificate Server string // contains filtered or unexported fields }
func UseDefaultTlsConfig ¶
func (*TlsConfig) GenerateConfig ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.