SYMBOL INDEX (605 symbols across 60 files) FILE: bridge/bridge.go type Client (line 26) | type Client struct function NewClient (line 34) | func NewClient(t, f *nps_mux.Mux, s *conn.Conn, vs string) *Client { type Bridge (line 43) | type Bridge struct method StartTunnel (line 71) | func (s *Bridge) StartTunnel() error { method GetHealthFromClient (line 93) | func (s *Bridge) GetHealthFromClient(id int, c *conn.Conn) { method verifyError (line 158) | func (s *Bridge) verifyError(c *conn.Conn) { method verifySuccess (line 162) | func (s *Bridge) verifySuccess(c *conn.Conn) { method cliProcess (line 166) | func (s *Bridge) cliProcess(c *conn.Conn) { method DelClient (line 212) | func (s *Bridge) DelClient(id int) { method typeDeal (line 228) | func (s *Bridge) typeDeal(typeVal string, c *conn.Conn, id int, vs str... method register (line 307) | func (s *Bridge) register(c *conn.Conn) { method SendLinkInfo (line 314) | func (s *Bridge) SendLinkInfo(clientId int, link *conn.Link, t *file.T... method ping (line 361) | func (s *Bridge) ping() { method getConfig (line 391) | func (s *Bridge) getConfig(c *conn.Conn, isPub bool, client *file.Clie... function NewTunnel (line 57) | func NewTunnel(tunnelPort int, tunnelType string, ipVerify bool, runList... FILE: client/client.go type TRPClient (line 22) | type TRPClient struct method Start (line 54) | func (s *TRPClient) Start() { method handleMain (line 88) | func (s *TRPClient) handleMain() { method newUdpConn (line 121) | func (s *TRPClient) newUdpConn(localAddr, rAddr string, md5Password st... method newChan (line 155) | func (s *TRPClient) newChan() { method handleChan (line 173) | func (s *TRPClient) handleChan(src net.Conn) { method handleUdp (line 221) | func (s *TRPClient) handleUdp(serverConn net.Conn) { method ping (line 281) | func (s *TRPClient) ping() { method Close (line 295) | func (s *TRPClient) Close() { method closing (line 299) | func (s *TRPClient) closing() { function NewRPClient (line 37) | func NewRPClient(svraddr string, vKey string, bridgeConnType string, pro... FILE: client/control.go function GetTaskStatus (line 32) | func GetTaskStatus(path string) { function StartFromFile (line 90) | func StartFromFile(path string) { function NewConn (line 184) | func NewConn(tp string, vkey string, server string, connType string, pro... function NewHttpProxyConn (line 255) | func NewHttpProxyConn(url *url.URL, remoteAddr string) (net.Conn, error) { function basicAuth (line 282) | func basicAuth(username, password string) string { function getRemoteAddressFromServer (line 287) | func getRemoteAddressFromServer(rAddr string, localConn *net.UDPConn, md... function handleP2PUdp (line 303) | func handleP2PUdp(localAddr, rAddr, md5Password, role string) (remoteAdd... function sendP2PTestMsg (line 352) | func sendP2PTestMsg(localConn *net.UDPConn, remoteAddr1, remoteAddr2, re... function newUdpConnByAddr (line 453) | func newUdpConnByAddr(addr string) (*net.UDPConn, error) { function getNextAddr (line 465) | func getNextAddr(addr string, n int) (string, error) { function getAddrInterval (line 477) | func getAddrInterval(addr1, addr2, addr3 string) (int, error) { function getRandomPortArr (line 509) | func getRandomPortArr(min, max int) []int { FILE: client/health.go function heathCheck (line 20) | func heathCheck(healths []*file.Health, c *conn.Conn) bool { function session (line 41) | func session(healths []*file.Health, h *sheap.IntHeap) { function check (line 68) | func check(t *file.Health) { FILE: client/local.go type p2pBridge (line 32) | type p2pBridge struct method SendLinkInfo (line 35) | func (p2pBridge *p2pBridge) SendLinkInfo(clientId int, link *conn.Link... function CloseLocalServer (line 56) | func CloseLocalServer() { function startLocalFileServer (line 65) | func startLocalFileServer(config *config.CommonConfig, t *file.Tunnel, v... function StartLocalServer (line 80) | func StartLocalServer(l *config.LocalServer, config *config.CommonConfig... function handleUdpMonitor (line 128) | func handleUdpMonitor(config *config.CommonConfig, l *config.LocalServer) { function handleSecret (line 154) | func handleSecret(localTcpConn net.Conn, config *config.CommonConfig, l ... function handleP2PVisitor (line 167) | func handleP2PVisitor(localTcpConn net.Conn, config *config.CommonConfig... function newUdpConn (line 185) | func newUdpConn(localAddr string, config *config.CommonConfig, l *config... FILE: client/register.go function RegisterLocalIp (line 11) | func RegisterLocalIp(server string, vKey string, tp string, proxyUrl str... FILE: lib/cache/lru.go type Cache (line 9) | type Cache struct method Add (line 41) | func (c *Cache) Add(key Key, value interface{}) { method Get (line 55) | func (c *Cache) Get(key Key) (value interface{}, ok bool) { method Remove (line 64) | func (c *Cache) Remove(key Key) { method RemoveOldest (line 71) | func (c *Cache) RemoveOldest() { method removeElement (line 78) | func (c *Cache) removeElement(e *list.Element) { method Len (line 88) | func (c *Cache) Len() int { method Clear (line 93) | func (c *Cache) Clear() { type Key (line 22) | type Key interface type entry (line 24) | type entry struct function New (line 32) | func New(maxEntries int) *Cache { FILE: lib/common/const.go constant CONN_DATA_SEQ (line 4) | CONN_DATA_SEQ = "*#*" constant VERIFY_EER (line 5) | VERIFY_EER = "vkey" constant VERIFY_SUCCESS (line 6) | VERIFY_SUCCESS = "sucs" constant WORK_MAIN (line 7) | WORK_MAIN = "main" constant WORK_CHAN (line 8) | WORK_CHAN = "chan" constant WORK_CONFIG (line 9) | WORK_CONFIG = "conf" constant WORK_REGISTER (line 10) | WORK_REGISTER = "rgst" constant WORK_SECRET (line 11) | WORK_SECRET = "sert" constant WORK_FILE (line 12) | WORK_FILE = "file" constant WORK_P2P (line 13) | WORK_P2P = "p2pm" constant WORK_P2P_VISITOR (line 14) | WORK_P2P_VISITOR = "p2pv" constant WORK_P2P_PROVIDER (line 15) | WORK_P2P_PROVIDER = "p2pp" constant WORK_P2P_CONNECT (line 16) | WORK_P2P_CONNECT = "p2pc" constant WORK_P2P_SUCCESS (line 17) | WORK_P2P_SUCCESS = "p2ps" constant WORK_P2P_END (line 18) | WORK_P2P_END = "p2pe" constant WORK_P2P_LAST (line 19) | WORK_P2P_LAST = "p2pl" constant WORK_STATUS (line 20) | WORK_STATUS = "stus" constant RES_MSG (line 21) | RES_MSG = "msg0" constant RES_CLOSE (line 22) | RES_CLOSE = "clse" constant NEW_UDP_CONN (line 23) | NEW_UDP_CONN = "udpc" constant NEW_TASK (line 24) | NEW_TASK = "task" constant NEW_CONF (line 25) | NEW_CONF = "conf" constant NEW_HOST (line 26) | NEW_HOST = "host" constant CONN_TCP (line 27) | CONN_TCP = "tcp" constant CONN_UDP (line 28) | CONN_UDP = "udp" constant CONN_TEST (line 29) | CONN_TEST = "TST" constant UnauthorizedBytes (line 30) | UnauthorizedBytes = `HTTP/1.1 401 Unauthorized constant ConnectionFailBytes (line 35) | ConnectionFailBytes = `HTTP/1.1 404 Not Found FILE: lib/common/logs.go constant MaxMsgLen (line 8) | MaxMsgLen = 5000 function init (line 12) | func init() { function GetLogMsg (line 18) | func GetLogMsg() string { type StoreMsg (line 22) | type StoreMsg struct method Init (line 25) | func (lg *StoreMsg) Init(config string) error { method WriteMsg (line 29) | func (lg *StoreMsg) WriteMsg(when time.Time, msg string, level int) er... method Destroy (line 42) | func (lg *StoreMsg) Destroy() { method Flush (line 46) | func (lg *StoreMsg) Flush() { FILE: lib/common/netpackager.go type NetPackager (line 13) | type NetPackager interface constant ipV4 (line 19) | ipV4 = 1 constant domainName (line 20) | domainName = 3 constant ipV6 (line 21) | ipV6 = 4 type UDPHeader (line 24) | type UDPHeader struct method Write (line 103) | func (h *UDPHeader) Write(w io.Writer) error { function NewUDPHeader (line 30) | func NewUDPHeader(rsv uint16, frag uint8, addr *Addr) *UDPHeader { type Addr (line 38) | type Addr struct method String (line 44) | func (addr *Addr) String() string { method Decode (line 48) | func (addr *Addr) Decode(b []byte) error { method Encode (line 72) | func (addr *Addr) Encode(b []byte) (int, error) { type UDPDatagram (line 120) | type UDPDatagram struct method Write (line 189) | func (d *UDPDatagram) Write(w io.Writer) error { function ReadUDPDatagram (line 125) | func ReadUDPDatagram(r io.Reader) (*UDPDatagram, error) { function NewUDPDatagram (line 182) | func NewUDPDatagram(header *UDPHeader, data []byte) *UDPDatagram { function ToSocksAddr (line 206) | func ToSocksAddr(addr net.Addr) *Addr { FILE: lib/common/pool.go constant PoolSize (line 7) | PoolSize = 64 * 1024 constant PoolSizeSmall (line 8) | PoolSizeSmall = 100 constant PoolSizeUdp (line 9) | PoolSizeUdp = 1472 + 200 constant PoolSizeCopy (line 10) | PoolSizeCopy = 32 << 10 function PutBufPoolUdp (line 39) | func PutBufPoolUdp(buf []byte) { function PutBufPoolCopy (line 45) | func PutBufPoolCopy(buf []byte) { function GetBufPoolCopy (line 51) | func GetBufPoolCopy() []byte { function PutBufPoolMax (line 55) | func PutBufPoolMax(buf []byte) { type copyBufferPool (line 61) | type copyBufferPool struct method New (line 65) | func (Self *copyBufferPool) New() { method Get (line 73) | func (Self *copyBufferPool) Get() []byte { method Put (line 78) | func (Self *copyBufferPool) Put(x []byte) { function newPool (line 89) | func newPool() { function init (line 93) | func init() { FILE: lib/common/pprof.go function InitPProfFromFile (line 10) | func InitPProfFromFile() { function InitPProfFromArg (line 18) | func InitPProfFromArg(arg string) { function runPProf (line 24) | func runPProf(ipPort string) { FILE: lib/common/run.go function GetRunPath (line 12) | func GetRunPath() string { function GetInstallPath (line 21) | func GetInstallPath() string { function GetAppPath (line 32) | func GetAppPath() string { function IsWindows (line 40) | func IsWindows() bool { function GetLogPath (line 48) | func GetLogPath() string { function GetNpcLogPath (line 59) | func GetNpcLogPath() string { function GetTmpPath (line 70) | func GetTmpPath() string { function GetConfigPath (line 81) | func GetConfigPath() string { FILE: lib/common/util.go function GetHostByName (line 25) | func GetHostByName(hostname string) string { function DomainCheck (line 41) | func DomainCheck(domain string) bool { function CheckAuth (line 53) | func CheckAuth(r *http.Request, user, passwd string) bool { function GetBoolByStr (line 75) | func GetBoolByStr(s string) bool { function GetStrByBool (line 84) | func GetStrByBool(b bool) string { function GetIntNoErrByStr (line 92) | func GetIntNoErrByStr(str string) int { function Getverifyval (line 98) | func Getverifyval(vkey string) string { function ChangeHostAndHeader (line 103) | func ChangeHostAndHeader(r *http.Request, host string, header string, ad... function ReadAllFromFile (line 127) | func ReadAllFromFile(filePath string) ([]byte, error) { function FileExists (line 137) | func FileExists(name string) bool { function TestTcpPort (line 147) | func TestTcpPort(port int) bool { function TestUdpPort (line 161) | func TestUdpPort(port int) bool { function BinaryWrite (line 177) | func BinaryWrite(raw *bytes.Buffer, v ...string) { function GetWriteStr (line 184) | func GetWriteStr(v ...string) []byte { function InStrArr (line 196) | func InStrArr(arr []string, val string) bool { function InIntArr (line 206) | func InIntArr(arr []int, val int) bool { function GetPorts (line 216) | func GetPorts(p string) []int { function IsPort (line 240) | func IsPort(p string) bool { function FormatAddress (line 252) | func FormatAddress(s string) string { function GetIpByAddr (line 260) | func GetIpByAddr(addr string) string { function GetPortByAddr (line 266) | func GetPortByAddr(addr string) int { function CopyBuffer (line 278) | func CopyBuffer(dst io.Writer, src io.Reader, label ...string) (written ... function GetLocalUdpAddr (line 309) | func GetLocalUdpAddr() (net.Conn, error) { function ParseStr (line 318) | func ParseStr(str string) (string, error) { function GetEnvMap (line 332) | func GetEnvMap() map[string]string { function TrimArr (line 345) | func TrimArr(arr []string) []string { function IsArrContains (line 356) | func IsArrContains(arr []string, val string) bool { function RemoveArrVal (line 369) | func RemoveArrVal(arr []string, val string) []string { function BytesToNum (line 380) | func BytesToNum(b []byte) int { function GeSynctMapLen (line 390) | func GeSynctMapLen(m sync.Map) int { function GetExtFromPath (line 399) | func GetExtFromPath(path string) string { function GetExternalIp (line 410) | func GetExternalIp() string { function GetIntranetIp (line 424) | func GetIntranetIp() (error, string) { function IsPublicIP (line 440) | func IsPublicIP(IP net.IP) bool { function GetServerIpByClientIp (line 459) | func GetServerIpByClientIp(clientIp net.IP) string { function PrintVersion (line 467) | func PrintVersion() { FILE: lib/config/config.go type CommonConfig (line 13) | type CommonConfig struct type LocalServer (line 23) | type LocalServer struct type Config (line 31) | type Config struct function NewConfig (line 41) | func NewConfig(path string) (c *Config, err error) { function getTitleContent (line 102) | func getTitleContent(s string) string { function dealCommon (line 107) | func dealCommon(s string) *CommonConfig { function dealHost (line 158) | func dealHost(s string) *file.Host { function dealHealth (line 191) | func dealHealth(s string) *file.Health { function dealTunnel (line 218) | func dealTunnel(s string) *file.Tunnel { function dealMultiUser (line 266) | func dealMultiUser(s string) map[string]string { function delLocalService (line 280) | func delLocalService(s string) *LocalServer { function getAllTitle (line 303) | func getAllTitle(content string) (arr []string, err error) { function splitStr (line 321) | func splitStr(s string) (configDataArr []string) { FILE: lib/config/config_test.go function TestReg (line 9) | func TestReg(t *testing.T) { function TestDealCommon (line 51) | func TestDealCommon(t *testing.T) { function TestGetTitleContent (line 64) | func TestGetTitleContent(t *testing.T) { FILE: lib/conn/conn.go type Conn (line 28) | type Conn struct method readRequest (line 38) | func (s *Conn) readRequest(buf []byte) (n int, err error) { method GetHost (line 61) | func (s *Conn) GetHost() (method, address string, rb []byte, err error... method GetShortLenContent (line 94) | func (s *Conn) GetShortLenContent() (b []byte, err error) { method GetShortContent (line 106) | func (s *Conn) GetShortContent(l int) (b []byte, err error) { method ReadLen (line 112) | func (s *Conn) ReadLen(cLen int, buf []byte) (int, error) { method GetLen (line 122) | func (s *Conn) GetLen() (int, error) { method WriteLenContent (line 128) | func (s *Conn) WriteLenContent(buf []byte) (err error) { method ReadFlag (line 137) | func (s *Conn) ReadFlag() (string, error) { method SetAlive (line 143) | func (s *Conn) SetAlive(tp string) { method SetReadDeadlineBySecond (line 158) | func (s *Conn) SetReadDeadlineBySecond(t time.Duration) { method GetLinkInfo (line 170) | func (s *Conn) GetLinkInfo() (lk *Link, err error) { method SendHealthInfo (line 176) | func (s *Conn) SendHealthInfo(info, status string) (int, error) { method GetHealthInfo (line 183) | func (s *Conn) GetHealthInfo() (info string, status bool, err error) { method GetHostInfo (line 201) | func (s *Conn) GetHostInfo() (h *file.Host, err error) { method GetConfigInfo (line 210) | func (s *Conn) GetConfigInfo() (c *file.Client, err error) { method GetTaskInfo (line 222) | func (s *Conn) GetTaskInfo() (t *file.Tunnel, err error) { method SendInfo (line 231) | func (s *Conn) SendInfo(t interface{}, flag string) (int, error) { method getInfo (line 257) | func (s *Conn) getInfo(t interface{}) (err error) { method Close (line 272) | func (s *Conn) Close() error { method Write (line 277) | func (s *Conn) Write(b []byte) (int, error) { method Read (line 282) | func (s *Conn) Read(b []byte) (n int, err error) { method WriteClose (line 296) | func (s *Conn) WriteClose() (int, error) { method WriteMain (line 301) | func (s *Conn) WriteMain() (int, error) { method WriteConfig (line 306) | func (s *Conn) WriteConfig() (int, error) { method WriteChan (line 311) | func (s *Conn) WriteChan() (int, error) { method GetAddStatus (line 316) | func (s *Conn) GetAddStatus() (b bool) { method WriteAddOk (line 321) | func (s *Conn) WriteAddOk() error { method WriteAddFail (line 325) | func (s *Conn) WriteAddFail() error { method LocalAddr (line 330) | func (s *Conn) LocalAddr() net.Addr { method RemoteAddr (line 334) | func (s *Conn) RemoteAddr() net.Addr { method SetDeadline (line 338) | func (s *Conn) SetDeadline(t time.Time) error { method SetWriteDeadline (line 342) | func (s *Conn) SetWriteDeadline(t time.Time) error { method SetReadDeadline (line 346) | func (s *Conn) SetReadDeadline(t time.Time) error { function NewConn (line 34) | func NewConn(conn net.Conn) *Conn { function GetLenBytes (line 351) | func GetLenBytes(buf []byte) (b []byte, err error) { function SetUdpSession (line 364) | func SetUdpSession(sess *kcp.UDPSession) { function CopyWaitGroup (line 376) | func CopyWaitGroup(conn1, conn2 net.Conn, crypt bool, snappy bool, rate ... function GetConn (line 407) | func GetConn(conn net.Conn, cpt, snappy bool, rt *rate.Rate, isServer bo... type LenConn (line 419) | type LenConn struct method Write (line 427) | func (c *LenConn) Write(p []byte) (n int, err error) { function NewLenConn (line 424) | func NewLenConn(conn io.Writer) *LenConn { FILE: lib/conn/link.go type Secret (line 5) | type Secret struct function NewSecret (line 10) | func NewSecret(p string, conn *Conn) *Secret { type Link (line 17) | type Link struct type Option (line 27) | type Option type Options (line 29) | type Options struct function NewLink (line 35) | func NewLink(connType string, host string, crypt bool, compress bool, re... function newOptions (line 49) | func newOptions(opts ...Option) Options { function LinkTimeout (line 59) | func LinkTimeout(t time.Duration) Option { FILE: lib/conn/listener.go function NewTcpListenerAndProcess (line 11) | func NewTcpListenerAndProcess(addr string, f func(c net.Conn), listener ... function NewKcpListenerAndProcess (line 21) | func NewKcpListenerAndProcess(addr string, f func(c net.Conn)) error { function Accept (line 39) | func Accept(l net.Listener, f func(c net.Conn)) { FILE: lib/conn/snappy.go type SnappyConn (line 10) | type SnappyConn struct method Write (line 25) | func (s *SnappyConn) Write(b []byte) (n int, err error) { method Read (line 36) | func (s *SnappyConn) Read(b []byte) (n int, err error) { method Close (line 40) | func (s *SnappyConn) Close() error { function NewSnappyConn (line 16) | func NewSnappyConn(conn io.ReadWriteCloser) *SnappyConn { FILE: lib/crypt/clientHello.go type CurveID (line 7) | type CurveID type SignatureScheme (line 8) | type SignatureScheme constant statusTypeOCSP (line 11) | statusTypeOCSP uint8 = 1 constant extensionServerName (line 12) | extensionServerName uint16 = 0 constant extensionStatusRequest (line 13) | extensionStatusRequest uint16 = 5 constant extensionSupportedCurves (line 14) | extensionSupportedCurves uint16 = 10 constant extensionSupportedPoints (line 15) | extensionSupportedPoints uint16 = 11 constant extensionSignatureAlgorithms (line 16) | extensionSignatureAlgorithms uint16 = 13 constant extensionALPN (line 17) | extensionALPN uint16 = 16 constant extensionSCT (line 18) | extensionSCT uint16 = 18 constant extensionSessionTicket (line 19) | extensionSessionTicket uint16 = 35 constant extensionNextProtoNeg (line 20) | extensionNextProtoNeg uint16 = 13172 constant extensionRenegotiationInfo (line 21) | extensionRenegotiationInfo uint16 = 0xff01 constant scsvRenegotiation (line 22) | scsvRenegotiation uint16 = 0x00ff type ClientHelloMsg (line 25) | type ClientHelloMsg struct method GetServerName (line 46) | func (m *ClientHelloMsg) GetServerName() string { method Unmarshal (line 50) | func (m *ClientHelloMsg) Unmarshal(data []byte) bool { FILE: lib/crypt/crypt.go function AesEncrypt (line 15) | func AesEncrypt(origData, key []byte) ([]byte, error) { function AesDecrypt (line 29) | func AesDecrypt(crypted, key []byte) ([]byte, error) { function PKCS5Padding (line 43) | func PKCS5Padding(ciphertext []byte, blockSize int) []byte { function PKCS5UnPadding (line 50) | func PKCS5UnPadding(origData []byte) (error, []byte) { function Md5 (line 60) | func Md5(s string) string { function GetRandomString (line 67) | func GetRandomString(l int) string { FILE: lib/crypt/tls.go function InitTls (line 23) | func InitTls() { function NewTlsServerConn (line 33) | func NewTlsServerConn(conn net.Conn) net.Conn { function NewTlsClientConn (line 44) | func NewTlsClientConn(conn net.Conn) net.Conn { function generateKeyPair (line 51) | func generateKeyPair(CommonName string) (rawCert, rawKey []byte, err err... FILE: lib/daemon/daemon.go function InitDaemon (line 15) | func InitDaemon(f string, runPath string, pidPath string) { function reload (line 49) | func reload(f string, pidPath string) { function status (line 69) | func status(f string, pidPath string) bool { function start (line 86) | func start(osArgs []string, f string, pidPath, runPath string) { function stop (line 102) | func stop(f string, p string, pidPath string) { FILE: lib/daemon/reload.go function init (line 15) | func init() { FILE: lib/file/db.go type DbUtils (line 16) | type DbUtils struct method GetClientList (line 49) | func (s *DbUtils) GetClientList(start, length int, search, sort, order... method GetIdByVerifyKey (line 76) | func (s *DbUtils) GetIdByVerifyKey(vKey string, addr string) (id int, ... method NewTask (line 94) | func (s *DbUtils) NewTask(t *Tunnel) (err error) { method UpdateTask (line 112) | func (s *DbUtils) UpdateTask(t *Tunnel) error { method DelTask (line 118) | func (s *DbUtils) DelTask(id int) error { method GetTaskByMd5Password (line 125) | func (s *DbUtils) GetTaskByMd5Password(p string) (t *Tunnel) { method GetTask (line 136) | func (s *DbUtils) GetTask(id int) (t *Tunnel, err error) { method DelHost (line 145) | func (s *DbUtils) DelHost(id int) error { method IsHostExist (line 151) | func (s *DbUtils) IsHostExist(h *Host) bool { method NewHost (line 164) | func (s *DbUtils) NewHost(t *Host) error { method GetHost (line 177) | func (s *DbUtils) GetHost(start, length int, id int, search string) ([... method DelClient (line 200) | func (s *DbUtils) DelClient(id int) error { method NewClient (line 206) | func (s *DbUtils) NewClient(c *Client) error { method VerifyVkey (line 239) | func (s *DbUtils) VerifyVkey(vkey string, id int) (res bool) { method VerifyUserName (line 252) | func (s *DbUtils) VerifyUserName(username string, id int) (res bool) { method UpdateClient (line 265) | func (s *DbUtils) UpdateClient(t *Client) error { method IsPubClient (line 274) | func (s *DbUtils) IsPubClient(id int) bool { method GetClient (line 282) | func (s *DbUtils) GetClient(id int) (c *Client, err error) { method GetClientIdByVkey (line 291) | func (s *DbUtils) GetClientIdByVkey(vkey string) (id int, err error) { method GetHostById (line 309) | func (s *DbUtils) GetHostById(id int) (h *Host, err error) { method GetInfoByHost (line 319) | func (s *DbUtils) GetInfoByHost(host string, r *http.Request) (h *Host... function GetDb (line 26) | func GetDb() *DbUtils { function GetMapKeys (line 37) | func GetMapKeys(m sync.Map, isSort bool, sortKey, order string) (keys []... FILE: lib/file/file.go function NewJsonDb (line 17) | func NewJsonDb(runPath string) *JsonDb { type JsonDb (line 26) | type JsonDb struct method LoadTaskFromJsonFile (line 40) | func (s *JsonDb) LoadTaskFromJsonFile() { method LoadClientFromJsonFile (line 57) | func (s *JsonDb) LoadClientFromJsonFile() { method LoadHostFromJsonFile (line 77) | func (s *JsonDb) LoadHostFromJsonFile() { method GetClient (line 94) | func (s *JsonDb) GetClient(id int) (c *Client, err error) { method StoreHostToJsonFile (line 105) | func (s *JsonDb) StoreHostToJsonFile() { method StoreTasksToJsonFile (line 113) | func (s *JsonDb) StoreTasksToJsonFile() { method StoreClientsToJsonFile (line 121) | func (s *JsonDb) StoreClientsToJsonFile() { method GetClientId (line 127) | func (s *JsonDb) GetClientId() int32 { method GetTaskId (line 131) | func (s *JsonDb) GetTaskId() int32 { method GetHostId (line 135) | func (s *JsonDb) GetHostId() int32 { function loadSyncMapFromFile (line 139) | func loadSyncMapFromFile(filePath string, f func(value string)) { function storeSyncMapToFile (line 149) | func storeSyncMapToFile(m sync.Map, filePath string) { FILE: lib/file/obj.go type Flow (line 13) | type Flow struct method Add (line 20) | func (s *Flow) Add(in, out int64) { type Config (line 27) | type Config struct type Client (line 34) | type Client struct method CutConn (line 75) | func (s *Client) CutConn() { method AddConn (line 79) | func (s *Client) AddConn() { method GetConn (line 83) | func (s *Client) GetConn() bool { method HasTunnel (line 91) | func (s *Client) HasTunnel(t *Tunnel) (exist bool) { method GetTunnelNum (line 103) | func (s *Client) GetTunnelNum() (num int) { method HasHost (line 114) | func (s *Client) HasHost(h *Host) bool { function NewClient (line 57) | func NewClient(vKey string, noStore bool, noDisplay bool) *Client { type Tunnel (line 127) | type Tunnel struct type Health (line 149) | type Health struct type Host (line 162) | type Host struct type Target (line 181) | type Target struct method GetRandomTarget (line 193) | func (s *Target) GetRandomTarget() (string, error) { type MultiAccount (line 189) | type MultiAccount struct FILE: lib/file/sort.go type Pair (line 10) | type Pair struct type PairList (line 18) | type PairList method Swap (line 20) | func (p PairList) Swap(i, j int) { p[i], p[j] = p[j], p[i] } method Len (line 21) | func (p PairList) Len() int { return len(p) } method Less (line 22) | func (p PairList) Less(i, j int) bool { function sortClientByKey (line 30) | func sortClientByKey(m sync.Map, sortKey, order string) (res []int) { FILE: lib/goroutine/pool.go type connGroup (line 12) | type connGroup struct function newConnGroup (line 19) | func newConnGroup(dst, src io.ReadWriteCloser, wg *sync.WaitGroup, n *in... function copyConnGroup (line 28) | func copyConnGroup(group interface{}) { type Conns (line 43) | type Conns struct function NewConns (line 50) | func NewConns(c1 io.ReadWriteCloser, c2 net.Conn, flow *file.Flow, wg *s... function copyConns (line 59) | func copyConns(group interface{}) { FILE: lib/install/install.go constant SysvScript (line 21) | SysvScript = `#!/bin/sh constant SystemdScript (line 112) | SystemdScript = `[Unit] function UpdateNps (line 137) | func UpdateNps() { function UpdateNpc (line 144) | func UpdateNpc() { type release (line 151) | type release struct function downloadLatest (line 155) | func downloadLatest(bin string) string { function copyStaticFile (line 193) | func copyStaticFile(srcPath, bin string) string { function InstallNpc (line 229) | func InstallNpc() { function InstallNps (line 240) | func InstallNps() string { function MkidrDirAll (line 268) | func MkidrDirAll(path string, v ...string) { function CopyDir (line 276) | func CopyDir(srcPath string, destPath string) error { function copyFile (line 313) | func copyFile(src, dest string) (w int64, err error) { function pathExists (line 348) | func pathExists(path string) (bool, error) { function chMod (line 359) | func chMod(name string, mode os.FileMode) { FILE: lib/pmux/pconn.go type PortConn (line 8) | type PortConn struct method Read (line 23) | func (pConn *PortConn) Read(b []byte) (n int, err error) { method Write (line 45) | func (pConn *PortConn) Write(b []byte) (n int, err error) { method Close (line 49) | func (pConn *PortConn) Close() error { method LocalAddr (line 53) | func (pConn *PortConn) LocalAddr() net.Addr { method RemoteAddr (line 57) | func (pConn *PortConn) RemoteAddr() net.Addr { method SetDeadline (line 61) | func (pConn *PortConn) SetDeadline(t time.Time) error { method SetReadDeadline (line 65) | func (pConn *PortConn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 69) | func (pConn *PortConn) SetWriteDeadline(t time.Time) error { function newPortConn (line 15) | func newPortConn(conn net.Conn, rs []byte, readMore bool) *PortConn { FILE: lib/pmux/plistener.go type PortListener (line 8) | type PortListener struct method Accept (line 22) | func (pListener *PortListener) Accept() (net.Conn, error) { method Close (line 33) | func (pListener *PortListener) Close() error { method Addr (line 42) | func (pListener *PortListener) Addr() net.Addr { function NewPortListener (line 15) | func NewPortListener(connCh chan *PortConn, addr net.Addr) *PortListener { FILE: lib/pmux/pmux.go constant HTTP_GET (line 21) | HTTP_GET = 716984 constant HTTP_POST (line 22) | HTTP_POST = 807983 constant HTTP_HEAD (line 23) | HTTP_HEAD = 726965 constant HTTP_PUT (line 24) | HTTP_PUT = 808585 constant HTTP_DELETE (line 25) | HTTP_DELETE = 686976 constant HTTP_CONNECT (line 26) | HTTP_CONNECT = 677978 constant HTTP_OPTIONS (line 27) | HTTP_OPTIONS = 798084 constant HTTP_TRACE (line 28) | HTTP_TRACE = 848265 constant CLIENT (line 29) | CLIENT = 848384 constant ACCEPT_TIME_OUT (line 30) | ACCEPT_TIME_OUT = 10 type PortMux (line 33) | type PortMux struct method Start (line 57) | func (pMux *PortMux) Start() error { method process (line 82) | func (pMux *PortMux) process(conn net.Conn) { method Close (line 140) | func (pMux *PortMux) Close() error { method GetClientListener (line 152) | func (pMux *PortMux) GetClientListener() net.Listener { method GetHttpListener (line 156) | func (pMux *PortMux) GetHttpListener() net.Listener { method GetHttpsListener (line 160) | func (pMux *PortMux) GetHttpsListener() net.Listener { method GetManagerListener (line 164) | func (pMux *PortMux) GetManagerListener() net.Listener { function NewPortMux (line 44) | func NewPortMux(port int, managerHost string) *PortMux { FILE: lib/pmux/pmux_test.go function TestPortMux_Close (line 10) | func TestPortMux_Close(t *testing.T) { FILE: lib/rate/conn.go type rateConn (line 7) | type rateConn struct method Read (line 19) | func (s *rateConn) Read(b []byte) (n int, err error) { method Write (line 27) | func (s *rateConn) Write(b []byte) (n int, err error) { method Close (line 35) | func (s *rateConn) Close() error { function NewRateConn (line 12) | func NewRateConn(conn io.ReadWriteCloser, rate *Rate) io.ReadWriteCloser { FILE: lib/rate/rate.go type Rate (line 8) | type Rate struct method Start (line 25) | func (s *Rate) Start() { method add (line 29) | func (s *Rate) add(size int64) { method ReturnBucket (line 38) | func (s *Rate) ReturnBucket(size int64) { method Stop (line 43) | func (s *Rate) Stop() { method Get (line 47) | func (s *Rate) Get(size int64) { method session (line 65) | func (s *Rate) session() { function NewRate (line 16) | func NewRate(addSize int64) *Rate { FILE: lib/sheap/heap.go type IntHeap (line 3) | type IntHeap method Len (line 5) | func (h IntHeap) Len() int { return len(h) } method Less (line 6) | func (h IntHeap) Less(i, j int) bool { return h[i] < h[j] } method Swap (line 7) | func (h IntHeap) Swap(i, j int) { h[i], h[j] = h[j], h[i] } method Push (line 9) | func (h *IntHeap) Push(x interface{}) { method Pop (line 15) | func (h *IntHeap) Pop() interface{} { FILE: lib/version/version.go constant VERSION (line 3) | VERSION = "0.26.10" function GetVersion (line 6) | func GetVersion() string { FILE: server/connection/connection.go function InitConnectionService (line 19) | func InitConnectionService() { function GetBridgeListener (line 35) | func GetBridgeListener(tp string) (net.Listener, error) { function GetHttpListener (line 48) | func GetHttpListener() (net.Listener, error) { function GetHttpsListener (line 57) | func GetHttpsListener() (net.Listener, error) { function GetWebManagerListener (line 66) | func GetWebManagerListener() (net.Listener, error) { function getTcpListener (line 75) | func getTcpListener(ip, p string) (net.Listener, error) { FILE: server/proxy/base.go type Service (line 16) | type Service interface type NetBridge (line 21) | type NetBridge interface type BaseServer (line 26) | type BaseServer struct method FlowAdd (line 44) | func (s *BaseServer) FlowAdd(in, out int64) { method FlowAddHost (line 52) | func (s *BaseServer) FlowAddHost(host *file.Host, in, out int64) { method writeConnFail (line 60) | func (s *BaseServer) writeConnFail(c net.Conn) { method auth (line 66) | func (s *BaseServer) auth(r *http.Request, c *conn.Conn, u, p string) ... method CheckFlowAndConnNum (line 76) | func (s *BaseServer) CheckFlowAndConnNum(client *file.Client) error { method DealClient (line 87) | func (s *BaseServer) DealClient(c *conn.Conn, client *file.Client, add... function NewBaseServer (line 34) | func NewBaseServer(bridge *bridge.Bridge, task *file.Tunnel) *BaseServer { FILE: server/proxy/http.go type httpServer (line 25) | type httpServer struct method Start (line 57) | func (s *httpServer) Start() error { method Close (line 91) | func (s *httpServer) Close() error { method handleTunneling (line 104) | func (s *httpServer) handleTunneling(w http.ResponseWriter, r *http.Re... method handleHttp (line 117) | func (s *httpServer) handleHttp(c *conn.Conn, r *http.Request) { method NewServer (line 265) | func (s *httpServer) NewServer(port int, scheme string) *http.Server { function NewHttp (line 38) | func NewHttp(bridge *bridge.Bridge, c *file.Tunnel, httpPort, httpsPort ... function resetReqMethod (line 255) | func resetReqMethod(method string) string { FILE: server/proxy/https.go type HttpsServer (line 19) | type HttpsServer struct method Start (line 36) | func (https *HttpsServer) Start() error { method Close (line 91) | func (https *HttpsServer) Close() error { method NewHttps (line 96) | func (https *HttpsServer) NewHttps(l net.Listener, certFile string, ke... method handleHttps (line 103) | func (https *HttpsServer) handleHttps(c net.Conn) { function NewHttpsServer (line 25) | func NewHttpsServer(l net.Listener, bridge NetBridge, useCache bool, cac... type HttpsListener (line 131) | type HttpsListener struct method Accept (line 142) | func (httpsListener *HttpsListener) Accept() (net.Conn, error) { method Close (line 151) | func (httpsListener *HttpsListener) Close() error { method Addr (line 156) | func (httpsListener *HttpsListener) Addr() net.Addr { function NewHttpsListener (line 137) | func NewHttpsListener(l net.Listener) *HttpsListener { function GetServerNameFromClientHello (line 161) | func GetServerNameFromClientHello(c net.Conn) (string, []byte) { function buildHttpsRequest (line 178) | func buildHttpsRequest(hostName string) *http.Request { FILE: server/proxy/p2p.go type P2PServer (line 12) | type P2PServer struct method Start (line 31) | func (s *P2PServer) Start() error { method handleP2P (line 52) | func (s *P2PServer) handleP2P(addr *net.UDPAddr, str string) { type p2p (line 19) | type p2p struct function NewP2PServer (line 24) | func NewP2PServer(p2pPort int) *P2PServer { FILE: server/proxy/socks5.go constant ipV4 (line 17) | ipV4 = 1 constant domainName (line 18) | domainName = 3 constant ipV6 (line 19) | ipV6 = 4 constant connectMethod (line 20) | connectMethod = 1 constant bindMethod (line 21) | bindMethod = 2 constant associateMethod (line 22) | associateMethod = 3 constant maxUDPPacketSize (line 27) | maxUDPPacketSize = 1476 constant succeeded (line 31) | succeeded uint8 = iota constant serverFailure (line 32) | serverFailure constant notAllowed (line 33) | notAllowed constant networkUnreachable (line 34) | networkUnreachable constant hostUnreachable (line 35) | hostUnreachable constant connectionRefused (line 36) | connectionRefused constant ttlExpired (line 37) | ttlExpired constant commandNotSupported (line 38) | commandNotSupported constant addrTypeNotSupported (line 39) | addrTypeNotSupported constant UserPassAuth (line 43) | UserPassAuth = uint8(2) constant userAuthVersion (line 44) | userAuthVersion = uint8(1) constant authSuccess (line 45) | authSuccess = uint8(0) constant authFailure (line 46) | authFailure = uint8(1) type Sock5ModeServer (line 49) | type Sock5ModeServer struct method handleRequest (line 55) | func (s *Sock5ModeServer) handleRequest(c net.Conn) { method sendReply (line 88) | func (s *Sock5ModeServer) sendReply(c net.Conn, rep uint8) { method doConnect (line 109) | func (s *Sock5ModeServer) doConnect(c net.Conn, command uint8) { method handleConnect (line 150) | func (s *Sock5ModeServer) handleConnect(c net.Conn) { method handleBind (line 155) | func (s *Sock5ModeServer) handleBind(c net.Conn) { method sendUdpReply (line 157) | func (s *Sock5ModeServer) sendUdpReply(writeConn net.Conn, c net.Conn,... method handleUDP (line 176) | func (s *Sock5ModeServer) handleUDP(c net.Conn) { method handleConn (line 284) | func (s *Sock5ModeServer) handleConn(c net.Conn) { method Auth (line 321) | func (s *Sock5ModeServer) Auth(c net.Conn) error { method Start (line 371) | func (s *Sock5ModeServer) Start() error { method Close (line 393) | func (s *Sock5ModeServer) Close() error { function NewSock5ModeServer (line 385) | func NewSock5ModeServer(bridge NetBridge, task *file.Tunnel) *Sock5ModeS... FILE: server/proxy/tcp.go type TunnelModeServer (line 19) | type TunnelModeServer struct method Start (line 35) | func (s *TunnelModeServer) Start() error { method Close (line 49) | func (s *TunnelModeServer) Close() error { function NewTunnelModeServer (line 26) | func NewTunnelModeServer(process process, bridge NetBridge, task *file.T... type WebServer (line 54) | type WebServer struct method Start (line 59) | func (s *WebServer) Start() error { method Close (line 85) | func (s *WebServer) Close() error { function NewWebServer (line 90) | func NewWebServer(bridge *bridge.Bridge) *WebServer { type process (line 96) | type process function ProcessTunnel (line 99) | func ProcessTunnel(c *conn.Conn, s *TunnelModeServer) error { function ProcessHttp (line 110) | func ProcessHttp(c *conn.Conn, s *TunnelModeServer) error { FILE: server/proxy/transport.go function HandleTrans (line 14) | func HandleTrans(c *conn.Conn, s *TunnelModeServer) error { constant SO_ORIGINAL_DST (line 22) | SO_ORIGINAL_DST = 80 function getAddress (line 24) | func getAddress(conn net.Conn) (string, error) { FILE: server/proxy/transport_windows.go function HandleTrans (line 9) | func HandleTrans(c *conn.Conn, s *TunnelModeServer) error { FILE: server/proxy/udp.go type UdpModeServer (line 17) | type UdpModeServer struct method Start (line 31) | func (s *UdpModeServer) Start() error { method process (line 55) | func (s *UdpModeServer) process(addr *net.UDPAddr, data []byte) { method Close (line 97) | func (s *UdpModeServer) Close() error { function NewUdpModeServer (line 23) | func NewUdpModeServer(bridge *bridge.Bridge, task *file.Tunnel) *UdpMode... FILE: server/server.go function init (line 31) | func init() { function InitFromCsv (line 36) | func InitFromCsv() { function DealBridgeTask (line 54) | func DealBridgeTask() { function StartNewServer (line 88) | func StartNewServer(bridgePort int, cnf *file.Tunnel, bridgeType string,... function dealClientFlow (line 114) | func dealClientFlow() { function NewMode (line 126) | func NewMode(Bridge *bridge.Bridge, c *file.Tunnel) proxy.Service { function StopServer (line 160) | func StopServer(id int) error { function AddTask (line 185) | func AddTask(t *file.Tunnel) error { function StartTask (line 218) | func StartTask(id int) error { function DelTask (line 230) | func DelTask(id int) error { function GetTunnel (line 241) | func GetTunnel(start, length int, typeVal string, clientId int, search s... function GetClientList (line 277) | func GetClientList(start, length int, search, sort, order string, client... function dealClientData (line 283) | func dealClientData() { function DelTunnelAndHostByClientId (line 316) | func DelTunnelAndHostByClientId(clientId int, justDelNoStore bool) { function DelClientConnect (line 348) | func DelClientConnect(clientId int) { function GetDashboardData (line 352) | func GetDashboardData() map[string]interface{} { function flowSession (line 449) | func flowSession(m time.Duration) { FILE: server/test/test.go function TestServerConfig (line 13) | func TestServerConfig() { function isInArr (line 67) | func isInArr(arr *[]int, val int, remark string, tp string) { FILE: server/tool/utils.go function StartSystemInfo (line 21) | func StartSystemInfo() { function InitAllowPort (line 28) | func InitAllowPort() { function TestServerPort (line 33) | func TestServerPort(p int, m string) (b bool) { function getSeverStatus (line 53) | func getSeverStatus() { FILE: web/controllers/auth.go type AuthController (line 11) | type AuthController struct method GetAuthKey (line 15) | func (s *AuthController) GetAuthKey() { method GetTime (line 37) | func (s *AuthController) GetTime() { FILE: web/controllers/base.go type BaseController (line 17) | type BaseController struct method Prepare (line 24) | func (s *BaseController) Prepare() { method display (line 66) | func (s *BaseController) display(tpl ...string) { method error (line 90) | func (s *BaseController) error() { method getEscapeString (line 97) | func (s *BaseController) getEscapeString(key string) string { method GetIntNoErr (line 102) | func (s *BaseController) GetIntNoErr(key string, def ...int) int { method GetBoolNoErr (line 112) | func (s *BaseController) GetBoolNoErr(key string, def ...bool) bool { method AjaxOk (line 122) | func (s *BaseController) AjaxOk(str string) { method AjaxErr (line 129) | func (s *BaseController) AjaxErr(str string) { method AjaxTable (line 144) | func (s *BaseController) AjaxTable(list interface{}, cnt int, recordsT... method GetAjaxParams (line 161) | func (s *BaseController) GetAjaxParams() (start, limit int) { method SetInfo (line 165) | func (s *BaseController) SetInfo(name string) { method SetType (line 169) | func (s *BaseController) SetType(name string) { method CheckUserAuth (line 173) | func (s *BaseController) CheckUserAuth() { function ajax (line 136) | func ajax(str string, status int) map[string]interface{} { FILE: web/controllers/client.go type ClientController (line 11) | type ClientController struct method List (line 15) | func (s *ClientController) List() { method Add (line 40) | func (s *ClientController) Add() { method GetClient (line 75) | func (s *ClientController) GetClient() { method Edit (line 91) | func (s *ClientController) Edit() { method ChangeStatus (line 153) | func (s *ClientController) ChangeStatus() { method Del (line 166) | func (s *ClientController) Del() { FILE: web/controllers/index.go type IndexController (line 11) | type IndexController struct method Index (line 15) | func (s *IndexController) Index() { method Help (line 21) | func (s *IndexController) Help() { method Tcp (line 26) | func (s *IndexController) Tcp() { method Udp (line 32) | func (s *IndexController) Udp() { method Socks5 (line 38) | func (s *IndexController) Socks5() { method Http (line 44) | func (s *IndexController) Http() { method File (line 49) | func (s *IndexController) File() { method Secret (line 55) | func (s *IndexController) Secret() { method P2p (line 60) | func (s *IndexController) P2p() { method Host (line 66) | func (s *IndexController) Host() { method All (line 72) | func (s *IndexController) All() { method GetTunnel (line 80) | func (s *IndexController) GetTunnel() { method Add (line 88) | func (s *IndexController) Add() { method GetOneTunnel (line 128) | func (s *IndexController) GetOneTunnel() { method Edit (line 140) | func (s *IndexController) Edit() { method Stop (line 184) | func (s *IndexController) Stop() { method Del (line 192) | func (s *IndexController) Del() { method Start (line 200) | func (s *IndexController) Start() { method HostList (line 208) | func (s *IndexController) HostList() { method GetHost (line 222) | func (s *IndexController) GetHost() { method DelHost (line 236) | func (s *IndexController) DelHost() { method AddHost (line 244) | func (s *IndexController) AddHost() { method EditHost (line 275) | func (s *IndexController) EditHost() { FILE: web/controllers/login.go type LoginController (line 15) | type LoginController struct method Index (line 26) | func (self *LoginController) Index() { method Verify (line 37) | func (self *LoginController) Verify() { method doLogin (line 48) | func (self *LoginController) doLogin(username, password string, explic... method Register (line 108) | func (self *LoginController) Register() { method Out (line 140) | func (self *LoginController) Out() { type record (line 21) | type record struct function clearIprecord (line 145) | func clearIprecord() { FILE: web/routers/router.go function Init (line 8) | func Init() { FILE: web/static/js/inspinia.js function localStorageSupport (line 170) | function localStorageSupport() { function SmoothlyMenu (line 238) | function SmoothlyMenu() { function WinMove (line 260) | function WinMove() { FILE: web/static/js/language.js function xml2json (line 3) | function xml2json(Xml) { function setCookie (line 21) | function setCookie (c_name, value, expiredays) { function getCookie (line 27) | function getCookie (c_name) { function setchartlang (line 40) | function setchartlang (langobj,chartobj) { function langreply (line 134) | function langreply(langstr) { function submitform (line 141) | function submitform(action, url, postdata) { function changeunit (line 167) | function changeunit(limit) {