SYMBOL INDEX (142 symbols across 34 files) FILE: api/api_cfip.go function apiCfIpInit (line 11) | func apiCfIpInit(w http.ResponseWriter, req *http.Request) { function apiCfIpList (line 31) | func apiCfIpList(w http.ResponseWriter, req *http.Request) { function apiCfIpUpdate (line 40) | func apiCfIpUpdate(w http.ResponseWriter, req *http.Request) { function apiCfIpCreate (line 53) | func apiCfIpCreate(w http.ResponseWriter, req *http.Request) { function apiCfIpDelete (line 67) | func apiCfIpDelete(w http.ResponseWriter, req *http.Request) { FILE: api/api_meta.go function responseJson (line 9) | func responseJson(w http.ResponseWriter, code int, data any) { function checkErr (line 17) | func checkErr(w http.ResponseWriter, err error) (shouldReturn bool) { function apiMeta (line 25) | func apiMeta(w http.ResponseWriter, req *http.Request) { FILE: api/api_proxy.go function apiProxyList (line 10) | func apiProxyList(w http.ResponseWriter, req *http.Request) { function apiProxyUpdate (line 19) | func apiProxyUpdate(w http.ResponseWriter, req *http.Request) { function apiProxyCreate (line 32) | func apiProxyCreate(w http.ResponseWriter, req *http.Request) { function apiProxyDelete (line 46) | func apiProxyDelete(w http.ResponseWriter, req *http.Request) { FILE: api/app.go type apiHandler (line 8) | type apiHandler struct method ServeHTTP (line 10) | func (apiHandler) ServeHTTP(http.ResponseWriter, *http.Request) {} function AdminServer (line 12) | func AdminServer(addr string) *http.Server { FILE: main.go function main (line 24) | func main() { FILE: model/config.go type Config (line 5) | type Config struct function Cfg (line 22) | func Cfg() *Config { FILE: model/db.go function initDb (line 10) | func initDb() { function DB (line 19) | func DB() *gorm.DB { FILE: model/helper.go type PaginationQ (line 9) | type PaginationQ struct method SearchAll (line 18) | func (p *PaginationQ) SearchAll(queryTx *gorm.DB) (data *PaginationQ, ... function crudAll (line 42) | func crudAll(p *PaginationQ, queryTx *gorm.DB, list interface{}) (int64,... function crudOne (line 63) | func crudOne(m interface{}) (err error) { function crudDelete (line 70) | func crudDelete(m interface{}) (err error) { FILE: model/migrate.go function migrate (line 5) | func migrate() { FILE: model/t_cfip.go type ModelBase (line 8) | type ModelBase struct type CfIp (line 15) | type CfIp struct FILE: model/t_meta.go type Meta (line 3) | type Meta struct FILE: model/t_proxy.go type Proxy (line 8) | type Proxy struct method IsActive (line 25) | func (p *Proxy) IsActive() bool { method RelayURL (line 28) | func (p *Proxy) RelayURL() string { FILE: socks5ws/app.go type ClientLocalSocks5Server (line 17) | type ClientLocalSocks5Server struct method fetchActiveProxy (line 37) | func (ss *ClientLocalSocks5Server) fetchActiveProxy() { method Run (line 57) | func (ss *ClientLocalSocks5Server) Run(ctx context.Context) { method socks5HandShake (line 90) | func (ss *ClientLocalSocks5Server) socks5HandShake(conn net.Conn) error { method socks5Request (line 113) | func (ss *ClientLocalSocks5Server) socks5Request(conn net.Conn) (*Sock... method handleConnection (line 126) | func (ss *ClientLocalSocks5Server) handleConnection(outerCtx context.C... method shouldGoDirect (line 176) | func (ss *ClientLocalSocks5Server) shouldGoDirect(req *Socks5Request) ... method dispatchRelayTcpServer (line 186) | func (ss *ClientLocalSocks5Server) dispatchRelayTcpServer(ctx context.... method pipeTcp (line 194) | func (ss *ClientLocalSocks5Server) pipeTcp(ctx context.Context, s5 net... function NewClientLocalSocks5Server (line 24) | func NewClientLocalSocks5Server(addr, geoIpPath string) (*ClientLocalSoc... FILE: socks5ws/const.go constant socks5Version (line 9) | socks5Version = 0x05 constant socks5ReplyOkay (line 10) | socks5ReplyOkay = 0x00 constant socks5ReplyFail (line 11) | socks5ReplyFail = 0x01 constant socks5ReplyReserved (line 12) | socks5ReplyReserved = 0x00 constant socks5CmdConnect (line 13) | socks5CmdConnect = 0x01 constant socks5CmdBind (line 14) | socks5CmdBind = 0x02 constant socks5CmdUdpAssoc (line 15) | socks5CmdUdpAssoc = 0x03 constant socks5AtypeIPv4 (line 16) | socks5AtypeIPv4 = 0x01 constant socks5AtypeDomain (line 17) | socks5AtypeDomain = 0x03 constant socks5AtypeIPv6 (line 18) | socks5AtypeIPv6 = 0x04 constant socks5UdpFragNotSupported (line 19) | socks5UdpFragNotSupported = 0x00 constant socks5UdpFragEnd (line 20) | socks5UdpFragEnd = 0x80 constant bufferSize (line 22) | bufferSize = 64 << 10 function socks5Response (line 25) | func socks5Response(conn net.Conn, ipv4 net.IP, port int, socks5OkayOrFa... FILE: socks5ws/relay_svr.go type RelayTcp (line 5) | type RelayTcp interface FILE: socks5ws/relay_tcp_direct.go type RelayTcpDirect (line 7) | type RelayTcpDirect struct method Read (line 19) | func (r *RelayTcpDirect) Read(p []byte) (n int, err error) { method Write (line 23) | func (r *RelayTcpDirect) Write(p []byte) (n int, err error) { method Close (line 27) | func (r *RelayTcpDirect) Close() error { function NewRelayTcpDirect (line 11) | func NewRelayTcpDirect(req *Socks5Request) (*RelayTcpDirect, error) { FILE: socks5ws/relay_tcp_socks5e.go type RelayTcpSocks5e (line 13) | type RelayTcpSocks5e struct method Read (line 31) | func (r RelayTcpSocks5e) Read(data []byte) (n int, err error) { method Write (line 42) | func (r RelayTcpSocks5e) Write(data []byte) (n int, err error) { method Close (line 53) | func (r RelayTcpSocks5e) Close() error { function NewRelayTcpSocks5e (line 19) | func NewRelayTcpSocks5e(ctx context.Context, cfg *model.Proxy, req *Sock... FILE: socks5ws/relay_udp_direct.go type RelayUdpDirect (line 15) | type RelayUdpDirect struct method addFragment (line 27) | func (ud *RelayUdpDirect) addFragment(clientAddr *net.UDPAddr, frag *u... method startTimer (line 52) | func (ud *RelayUdpDirect) startTimer(ClientDstAddr string) { method clientDstAddrAsID (line 64) | func (ud *RelayUdpDirect) clientDstAddrAsID(clientAddr *net.UDPAddr, d... method assembleThenPipeUdp (line 67) | func (ud *RelayUdpDirect) assembleThenPipeUdp(clientAddr *net.UDPAddr,... method PipeUdp (line 91) | func (ud *RelayUdpDirect) PipeUdp() { method segmentPipe (line 112) | func (ud *RelayUdpDirect) segmentPipe(comboPacket *udpPacket, clientAd... method Close (line 259) | func (ud *RelayUdpDirect) Close() { function NewRelayUdpDirect (line 125) | func NewRelayUdpDirect(s5 net.Conn) (*RelayUdpDirect, error) { function forwardUDPData (line 155) | func forwardUDPData(udpPacket *udpPacket) ([]byte, error) { type udpPacket (line 175) | type udpPacket struct method ResponseData (line 184) | func (p udpPacket) ResponseData(payload []byte) []byte { method ip (line 230) | func (p udpPacket) ip() net.IP { method port (line 249) | func (p udpPacket) port() int { method addr (line 252) | func (p udpPacket) addr() *net.UDPAddr { method dstAddr (line 255) | func (p udpPacket) dstAddr() string { function parseUDPData (line 191) | func parseUDPData(data []byte) (*udpPacket, error) { FILE: socks5ws/socks5_bind.go function relayBind (line 10) | func relayBind(s5 net.Conn, _ *Socks5Request) { FILE: socks5ws/socks5_req.go type Socks5Request (line 11) | type Socks5Request struct method host (line 75) | func (s Socks5Request) host() string { method addr (line 87) | func (s Socks5Request) addr() string { method cmd (line 90) | func (s Socks5Request) cmd() string { method Network (line 102) | func (s Socks5Request) Network() string { method aType (line 114) | func (s Socks5Request) aType() string { method port (line 118) | func (s Socks5Request) port() string { method Logger (line 123) | func (s Socks5Request) Logger() *slog.Logger { method String (line 126) | func (s Socks5Request) String() string { method addressBytes (line 130) | func (s Socks5Request) addressBytes() []byte { function parseSocks5Request (line 20) | func parseSocks5Request(data []byte, geo *util.GeoIP) (*Socks5Request, e... FILE: socks5ws/websocket.go constant browserAgent (line 14) | browserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/53... function webSocketConn (line 17) | func webSocketConn(ctx context.Context, proxy *model.Proxy, req *Socks5R... FILE: util/browse_open.go function BrowserOpen (line 8) | func BrowserOpen(url string) error { FILE: util/cf_ip.go type CfIP (line 16) | type CfIP struct method IsCf (line 70) | func (ci CfIP) IsCf(ip net.IP) bool { method AllIps (line 84) | func (ci CfIP) AllIps(fn func(ip, cidr string)) { function singletonCfIP (line 24) | func singletonCfIP() *CfIP { function NewCfIP (line 35) | func NewCfIP() (*CfIP, error) { function getIPsFromCIDR (line 132) | func getIPsFromCIDR(cidr string) ([]string, error) { function inc (line 146) | func inc(ip net.IP) { function isReachable (line 155) | func isReachable(ip string, port int) bool { FILE: util/cf_ip_test.go function TestCfIP_CheckReachableIps (line 5) | func TestCfIP_CheckReachableIps(t *testing.T) { FILE: util/crypt_aes.go function AesEncrypt (line 12) | func AesEncrypt(origData []byte, key string) (string, error) { function AesDecrypt (line 36) | func AesDecrypt(cryted string, key string) ([]byte, error) { function PKCS7Padding (line 63) | func PKCS7Padding(ciphertext []byte, blocksize int) []byte { function PKCS7UnPadding (line 70) | func PKCS7UnPadding(origData []byte) []byte { FILE: util/crypt_aes_test.go function TestAesDecryptEn (line 5) | func TestAesDecryptEn(t *testing.T) { FILE: util/crypt_des.go function ZeroPadding (line 10) | func ZeroPadding(ciphertext []byte, blockSize int) []byte { function ZeroUnPadding (line 16) | func ZeroUnPadding(origData []byte) []byte { function DesEncrypt (line 23) | func DesEncrypt(text string, key []byte) (string, error) { function DesDecrypt (line 43) | func DesDecrypt(decrypted string, key []byte) (string, error) { FILE: util/enable_socks5_darwin.go function proxySettingOn (line 10) | func proxySettingOn(socks5Addr string) { function proxySettingOff (line 42) | func proxySettingOff() (string, error) { FILE: util/enable_socks5_linux.go function proxySettingOn (line 3) | func proxySettingOn(socks5Addr string) { function proxySettingOff (line 6) | func proxySettingOff(socks5Addr string) { FILE: util/enable_socks5_windows.go function proxySettingOn (line 9) | func proxySettingOn(socks5Addr string) { function proxySettingOff (line 51) | func proxySettingOff() { FILE: util/geo_ip.go type GeoIP (line 9) | type GeoIP struct method Close (line 24) | func (g *GeoIP) Close() error { method Country (line 31) | func (g *GeoIP) Country(host string) (isoCountryCode string, err error) { function NewGeoIP (line 13) | func NewGeoIP(geoIpFilePath string) (*GeoIP, error) { FILE: util/geo_ip_test.go function TestGeoDns_country (line 7) | func TestGeoDns_country(t *testing.T) { FILE: util/random_string.go function RandomString (line 27) | func RandomString(n int) string { function RandStringWordL (line 35) | func RandStringWordL(n int) string { function RandStringWordU (line 43) | func RandStringWordU(n int) string { function RandStringWordC (line 50) | func RandStringWordC(n int) string { function RandStringDigit (line 57) | func RandStringDigit(n int) string { FILE: util/vless_data.go type SchemaVLESS (line 12) | type SchemaVLESS struct method UUID (line 22) | func (h SchemaVLESS) UUID() string { method DataUdp (line 26) | func (h SchemaVLESS) DataUdp() []byte { method DataTcp (line 46) | func (h SchemaVLESS) DataTcp() []byte { method AddrUdp (line 50) | func (h SchemaVLESS) AddrUdp() *net.UDPAddr { method HostIP (line 53) | func (h SchemaVLESS) HostIP() net.IP { method HostPort (line 69) | func (h SchemaVLESS) HostPort() string { method Logger (line 72) | func (h SchemaVLESS) Logger() *slog.Logger { function VlessParse (line 77) | func VlessParse(buf []byte) (*SchemaVLESS, error) {