MCPcopy Create free account

hub / github.com/awesome-vpn/awesome-vpn / functions

Functions122 in github.com/awesome-vpn/awesome-vpn

↓ 20 callersFunctionto_clash_proxy
Convert a sing-box outbound dict to Clash proxy dict.
core/converters/clash.py:9
↓ 9 callersMethodclose
(self)
core/geo_utils.py:124
↓ 4 callersMethodextract_links
Extract proxy links from arbitrary text (HTML, Markdown, etc.)
core/spider.py:93
↓ 3 callersFunctionto_clash_proxies
Convert a list of sing-box nodes to Clash proxies with unique names.
core/converters/clash.py:196
↓ 2 callersFunctionapply_source_filters
(links, options)
main.py:79
↓ 2 callersMethodclose
(self)
core/parsers/tool.py:330
↓ 2 callersMethodconnect
(self)
core/parsers/tool.py:311
↓ 2 callersMethodfetch_url
(self, url, timeout=None)
core/spider.py:27
↓ 2 callersMethodparse_subscription
Parse content that might be base64 encoded or plain text list
core/spider.py:184
↓ 2 callersFunctionresolve_date_url
(url)
main.py:97
↓ 1 callersMethod_build_dns_query
构造 DNS A 记录查询包
core/validator.py:220
↓ 1 callersMethod_clash_proxy_to_link
(self, proxy)
core/spider.py:222
↓ 1 callersMethod_download_content
(self, response)
core/spider.py:38
↓ 1 callersMethod_download_with_retry
(self, url, target_path, binary_name, max_retries=3)
core/binary_manager.py:103
↓ 1 callersMethod_fetch_geo_info
Perform the actual geo lookup (no caching).
core/geo_utils.py:66
↓ 1 callersMethod_find_sing_box
(self)
core/validator.py:84
↓ 1 callersMethod_get_download_url
(self, version, system, machine)
core/binary_manager.py:87
↓ 1 callersMethod_get_latest_version
(self)
core/binary_manager.py:68
↓ 1 callersMethod_get_original_ip
获取当前机器的真实IP(不经过代理)
core/validator.py:68
↓ 1 callersFunction_get_unique_port
让 OS 分配一个空闲端口,避免与 ephemeral 端口范围冲突
core/validator.py:36
↓ 1 callersMethod_hysteria2_to_link
(self, p)
core/spider.py:330
↓ 1 callersMethod_init_reader
(self)
core/geo_utils.py:44
↓ 1 callersMethod_parse_clash_proxies
(self, proxies)
core/spider.py:211
↓ 1 callersMethod_parse_dns_response
解析 DNS 响应获取第一个 A 记录 IP
core/validator.py:226
↓ 1 callersMethod_resolve_to_ip
(self, host)
core/geo_utils.py:55
↓ 1 callersMethod_ss_to_link
(self, p)
core/spider.py:300
↓ 1 callersMethod_trojan_to_link
(self, p)
core/spider.py:309
↓ 1 callersMethod_vless_to_link
(self, p)
core/spider.py:272
↓ 1 callersMethod_vmess_to_link
(self, p)
core/spider.py:238
↓ 1 callersMethod_wait_for_socks5_ready
Poll until sing-box SOCKS5 port accepts connections (replaces sleep).
core/validator.py:120
↓ 1 callersMethodcalculate_hash
Calculates a hash for the node based on AutoMergePublicNodes logic. Uses SHA256 for stability across runs.
core/deduplicator.py:41
↓ 1 callersFunctioncheckKeywords
(keywords,str)
core/parsers/tool.py:226
↓ 1 callersMethodcheck_dns_via_proxy
通过 SOCKS5 代理的 TCP DNS 检查域名解析
core/validator.py:181
↓ 1 callersMethodcheck_udp_dns_via_socks5
通过 SOCKS5 UDP ASSOCIATE 测试 UDP 转发 构造 DNS 查询包测试 8.8.8.8:53
core/validator.py:131
↓ 1 callersFunctionexpand_sources_list
(list_path, spider)
main.py:104
↓ 1 callersMethodfetch_telegram
(self, channel)
core/spider.py:142
↓ 1 callersMethodfetch_urls_parallel
(self, urls, max_workers=None)
core/spider.py:79
↓ 1 callersMethodformat_node_name
(self, host)
core/geo_utils.py:118
↓ 1 callersMethodget_geo_info
Get geo information for a host, with in-memory caching. Thread-safe: safe to call from multiple threads simultaneously. Retur
core/geo_utils.py:102
↓ 1 callersFunctionget_parser
(protocol)
main.py:55
↓ 1 callersMethodget_singbox_path
(self)
core/binary_manager.py:14
↓ 1 callersMethodis_duplicate
Checks if the node is a duplicate based on a complex hash (type, server, port, path/uuid). Returns True if duplicate, False otherwise
core/deduplicator.py:9
↓ 1 callersMethodis_redundant_server
Checks if the server:port has already been seen. Returns True if redundant, False otherwise.
core/deduplicator.py:20
↓ 1 callersFunctionmain
()
main.py:157
↓ 1 callersFunctionparse_source_params
(param_str)
main.py:59
↓ 1 callersFunctionquick_tcp_prescreen
P1: 快速 TCP 连通性预筛选(仅对 TCP 协议节点) 在 sing-box 验证前快速排除不通的节点,大幅缩短总验证时间 注意:UDP 协议节点(hysteria2/tuic)跳过 TCP 预筛选,直接进入完整验证
core/validator.py:463
↓ 1 callersMethodtcp_ping
(self, host, port, timeout=3)
core/validator.py:113
↓ 1 callersMethodvalidate_nodes_parallel
(self, nodes, timeout=5, max_workers=50)
core/validator.py:263
Method__init__
(self, sing_box_path=None, local_mode=False)
core/validator.py:47
Method__init__
(self, max_workers=10, timeout=15)
core/spider.py:16
Method__init__
(self, base_dir)
core/binary_manager.py:9
Method__init__
(self)
core/deduplicator.py:5
Method__init__
(self, mmdb_path)
core/geo_utils.py:37
Method__init__
(self,server:dict)
core/parsers/tool.py:305
Function_convert_hysteria2
(node: Dict[str, Any])
core/converters/clash.py:151
Function_convert_shadowsocks
(node: Dict[str, Any])
core/converters/clash.py:109
Function_convert_trojan
(node: Dict[str, Any])
core/converters/clash.py:120
Function_convert_tuic
(node: Dict[str, Any])
core/converters/clash.py:167
Function_convert_vless
(node: Dict[str, Any])
core/converters/clash.py:53
Function_convert_vmess
(node: Dict[str, Any])
core/converters/clash.py:19
Function_fetch_channel
(channel)
main.py:266
Functionb64Decode
(str)
core/parsers/tool.py:167
Functionclash2v2ray
(share_link)
core/parsers/clash2base64.py:4
MethodexecCMD
(self,command:str)
core/parsers/tool.py:318
Methodextract_subscription_links
Extract HTTP/HTTPS links that might be subscription sources
core/spider.py:128
FunctionfilterNodes
(nodelist,keywords)
core/parsers/tool.py:234
FunctionfirstLine
(data)
core/parsers/tool.py:190
FunctiongenName
(length=8)
core/parsers/tool.py:197
MethodgetFile
(self,remote:str,local:str)
core/parsers/tool.py:326
FunctiongetResponse
(url, custom_user_agent=None)
core/parsers/tool.py:288
Functionget_encoding
(file)
core/parsers/tool.py:3
Functionget_protocol
(s)
core/parsers/tool.py:206
Methodis_fake_node
(self, node)
core/spider.py:345
Functionis_ip
(str)
core/parsers/tool.py:203
FunctionnoblankLine
(data)
core/parsers/tool.py:178
Functionparse
(data)
core/parsers/vmess.py:4
Functionparse
(data)
core/parsers/trojan.py:4
Functionparse
(data)
core/parsers/https.py:3
Functionparse
(data)
core/parsers/ssr.py:2
Functionparse
(data)
core/parsers/tuic.py:4
Functionparse
(data)
core/parsers/vless.py:4
Functionparse
(data)
core/parsers/hysteria2.py:5
Functionparse
(data)
core/parsers/socks.py:3
Functionparse
(data)
core/parsers/anytls.py:4
Functionparse
(data)
core/parsers/http.py:3
Functionparse
(data)
core/parsers/hysteria.py:4
Functionparse
(data)
core/parsers/wg.py:4
Functionparse
(data)
core/parsers/ss.py:4
Functionparse_link_simple
(link)
main.py:303
FunctionprefixStr
(nodelist,prestr)
core/parsers/tool.py:283
FunctionproDuplicateNodeName
(nodes)
core/parsers/tool.py:254
FunctionreadFile
(path)
core/parsers/tool.py:172
FunctionremoveNodes
(nodelist)
core/parsers/tool.py:266
Functionrename
(input_str)
core/parsers/tool.py:156
FunctionreplaceStr
(nodelist,keywords)
core/parsers/tool.py:246
Methodreset
(self)
core/deduplicator.py:37
Functionresolve_geo
(item)
main.py:380
FunctionsaveFile
(path,content)
core/parsers/tool.py:7
Functiontcp_check
(node)
core/validator.py:485
Functiontest_hysteria2_alias
Ensure 'hy2' type alias maps to hysteria2 converter.
tests/test_clash_converter.py:199
next →1–100 of 122, ranked by callers