SYMBOL INDEX (127 symbols across 12 files) FILE: cf_speedtest.js method fetch (line 2) | async fetch(request) { FILE: main.go function init (line 26) | func init() { function main (line 139) | func main() { function endPrint (line 191) | func endPrint() { function checkUpdate (line 202) | func checkUpdate() { FILE: task/download.go constant bufferSize (line 19) | bufferSize = 1024 constant defaultURL (line 20) | defaultURL = "https://cf.xiu2.xyz/url" constant defaultTimeout (line 21) | defaultTimeout = 5 * time.Second constant defaultDisableDownload (line 22) | defaultDisableDownload = false constant defaultTestNum (line 23) | defaultTestNum = 10 constant defaultMinSpeed (line 24) | defaultMinSpeed float64 = 0.0 function checkDownloadDefault (line 36) | func checkDownloadDefault() { function TestDownloadSpeedByCountry (line 51) | func TestDownloadSpeedByCountry(ipSet utils.PingDelaySet) (speedSet util... function TestDownloadSpeed (line 111) | func TestDownloadSpeed(ipSet utils.PingDelaySet) (speedSet utils.Downloa... function getDialContext (line 157) | func getDialContext(ip *net.IPAddr) func(ctx context.Context, network, a... function downloadHandler (line 170) | func downloadHandler(ip *net.IPAddr) float64 { FILE: task/httping.go method httping (line 25) | func (p *Ping) httping(ip *net.IPAddr) (int, time.Duration) { function MapColoMap (line 111) | func MapColoMap() *sync.Map { method getColo (line 124) | func (p *Ping) getColo(b string) string { FILE: task/ip.go constant defaultInputFile (line 14) | defaultInputFile = "ip.txt" function InitRandSeed (line 24) | func InitRandSeed() { function isIPv4 (line 28) | func isIPv4(ip string) bool { function randIPEndWith (line 32) | func randIPEndWith(num byte) byte { type IPRanges (line 39) | type IPRanges struct method fixIP (line 53) | func (r *IPRanges) fixIP(ip string) string { method parseCIDR (line 69) | func (r *IPRanges) parseCIDR(ip string) { method appendIPv4 (line 76) | func (r *IPRanges) appendIPv4(d byte) { method appendIP (line 80) | func (r *IPRanges) appendIP(ip net.IP) { method getIPRange (line 85) | func (r *IPRanges) getIPRange() (minIP, hosts byte) { method chooseIPv4 (line 102) | func (r *IPRanges) chooseIPv4() { method chooseIPv6 (line 126) | func (r *IPRanges) chooseIPv6() { function newIPRanges (line 46) | func newIPRanges() *IPRanges { function loadIPRanges (line 150) | func loadIPRanges() []*net.IPAddr { FILE: task/tcping.go constant tcpConnectTimeout (line 15) | tcpConnectTimeout = time.Second * 1 constant maxRoutine (line 16) | maxRoutine = 1000 constant defaultRoutines (line 17) | defaultRoutines = 200 constant defaultPort (line 18) | defaultPort = 443 constant defaultPingTimes (line 19) | defaultPingTimes = 4 type Ping (line 28) | type Ping struct method Run (line 62) | func (p *Ping) Run() utils.PingDelaySet { method start (line 82) | func (p *Ping) start(ip *net.IPAddr) { method tcping (line 89) | func (p *Ping) tcping(ip *net.IPAddr) (bool, time.Duration) { method checkConnection (line 108) | func (p *Ping) checkConnection(ip *net.IPAddr) (recv int, totalDelay t... method appendIPData (line 122) | func (p *Ping) appendIPData(data *utils.PingData) { method tcpingHandler (line 131) | func (p *Ping) tcpingHandler(ip *net.IPAddr) { function checkPingDefault (line 37) | func checkPingDefault() { function NewPing (line 49) | func NewPing() *Ping { FILE: trojan_workers/_worker.js function getprotocol (line 13) | function getprotocol() { method fetch (line 30) | async fetch(request, env, ctx) { function trojanOverWSHandler (line 74) | async function trojanOverWSHandler(request) { function parseTrojanHeader (line 131) | async function parseTrojanHeader(buffer) { function handleTCPOutBound (line 227) | async function handleTCPOutBound(remoteSocket, addressRemote, portRemote... function makeReadableWebSocketStream (line 253) | function makeReadableWebSocketStream(webSocketServer, earlyDataHeader, l... function remoteSocketToWS (line 295) | async function remoteSocketToWS(remoteSocket, webSocket, retry, log) { function isValidSHA224 (line 334) | function isValidSHA224(hash) { function base64ToArrayBuffer (line 339) | function base64ToArrayBuffer(base64Str) { constant WS_READY_STATE_OPEN (line 353) | let WS_READY_STATE_OPEN = 1; constant WS_READY_STATE_CLOSING (line 354) | let WS_READY_STATE_CLOSING = 2; function safeCloseWebSocket (line 356) | function safeCloseWebSocket(socket) { function Sha256 (line 506) | function Sha256(is224, sharedMemory) { function HmacSha256 (line 808) | function HmacSha256(key, is224, sharedMemory) { FILE: utils/csv.go constant defaultOutput (line 17) | defaultOutput = "result.csv" constant maxDelay (line 18) | maxDelay = 9999 * time.Millisecond constant minDelay (line 19) | minDelay = 0 * time.Millisecond constant maxLossRate (line 20) | maxLossRate float32 = 1.0 function NoPrintResult (line 32) | func NoPrintResult() bool { function noOutput (line 37) | func noOutput() bool { type PingData (line 41) | type PingData struct type CloudflareIPData (line 48) | type CloudflareIPData struct method getLossRate (line 56) | func (cf *CloudflareIPData) getLossRate() float32 { method toString (line 64) | func (cf *CloudflareIPData) toString() []string { function WriteFile (line 75) | func WriteFile(filename string, data []CloudflareIPData) { function ExportCsvByCountry (line 88) | func ExportCsvByCountry(data []CloudflareIPData) { function ExportCsv (line 115) | func ExportCsv(data []CloudflareIPData) { function convertToString (line 132) | func convertToString(data []CloudflareIPData) [][]string { type PingDelaySet (line 141) | type PingDelaySet method FilterDelay (line 144) | func (s PingDelaySet) FilterDelay() (data PingDelaySet) { method FilterLossRate (line 164) | func (s PingDelaySet) FilterLossRate() (data PingDelaySet) { method FilterCountryV2 (line 177) | func (s PingDelaySet) FilterCountryV2(info *CountryInfo, countrycodeLi... method FilterCountryV3 (line 200) | func (s PingDelaySet) FilterCountryV3(info *CountryInfo) (data PingDel... method FilterCountryV1 (line 212) | func (s PingDelaySet) FilterCountryV1() (data PingDelaySet) { method Len (line 260) | func (s PingDelaySet) Len() int { method Less (line 263) | func (s PingDelaySet) Less(i, j int) bool { method Swap (line 270) | func (s PingDelaySet) Swap(i, j int) { type DownloadSpeedSet (line 275) | type DownloadSpeedSet method Len (line 277) | func (s DownloadSpeedSet) Len() int { method Less (line 280) | func (s DownloadSpeedSet) Less(i, j int) bool { method Swap (line 283) | func (s DownloadSpeedSet) Swap(i, j int) { method Print (line 287) | func (s DownloadSpeedSet) Print() { method PrintbyCountry (line 317) | func (s DownloadSpeedSet) PrintbyCountry() { FILE: utils/csv_test.go function TestPingDelaySet_FilterLossRate (line 8) | func TestPingDelaySet_FilterLossRate(t *testing.T) { FILE: utils/getcountry.go type IpResponse (line 13) | type IpResponse struct function getCountryV1 (line 19) | func getCountryV1(ips []string) (coutryCodes []IpResponse) { type Country (line 50) | type Country struct type Record (line 56) | type Record struct type CountryInfo (line 60) | type CountryInfo struct method GetCountryV2 (line 70) | func (c *CountryInfo) GetCountryV2(ip string) string { method Done (line 83) | func (c *CountryInfo) Done() { function NewCountryInfo (line 64) | func NewCountryInfo(db *maxminddb.Reader) *CountryInfo { FILE: utils/progress.go type Bar (line 9) | type Bar struct method Grow (line 19) | func (b *Bar) Grow(num int, MyStrVal string) { method Done (line 23) | func (b *Bar) Done() { function NewBar (line 13) | func NewBar(count int, MyStrStart, MyStrEnd string) *Bar { FILE: vless_workers/_worker.js method fetch (line 42) | async fetch(request, env, _ctx) { function handleDefaultPath (line 109) | async function handleDefaultPath(url, request) { function ProtocolOverWSHandler (line 140) | async function ProtocolOverWSHandler(request) { function handleTCPOutBound (line 242) | async function handleTCPOutBound(remoteSocket, addressType, addressRemot... function makeReadableWebSocketStream (line 293) | function makeReadableWebSocketStream(webSocketServer, earlyDataHeader, l... function processProtocolHeader (line 352) | function processProtocolHeader(protocolBuffer, userID) { method write (line 434) | async write(chunk) { method close (line 448) | close() { method abort (line 451) | abort(reason) { function base64ToArrayBuffer (line 471) | function base64ToArrayBuffer(base64Str) { function isValidUUID (line 497) | function isValidUUID(uuid) { function safeCloseWebSocket (line 510) | function safeCloseWebSocket(socket) { function unsafeStringify (line 522) | function unsafeStringify(arr, offset = 0) { function stringify (line 547) | function stringify(arr, offset = 0) { function handleUDPOutBound (line 563) | async function handleUDPOutBound(webSocket, protocolResponseHeader, log) { function handleDNSQuery (line 636) | async function handleDNSQuery(udpChunk, webSocket, protocolResponseHeade... function socks5Connect (line 687) | async function socks5Connect(addressType, addressRemote, portRemote, log) { function socks5AddressParser (line 823) | function socks5AddressParser(address) { function parseTrojanHeader (line 852) | async function parseTrojanHeader(buffer) { function makeVlessReqHeader (line 934) | function makeVlessReqHeader(command, destType, destAddr, destPort, uuid) { function checkVlessConfig (line 1017) | function checkVlessConfig(address, streamSettings) { function parseVlessString (line 1049) | function parseVlessString(url) { function getConfig (line 1090) | function getConfig(userIDs, hostName) { function GenSub (line 1308) | function GenSub(userID_path, hostname) {