feat(core): Update wrapper_uri to parse external node links

This commit is contained in:
Whispering Wind
2025-08-04 13:54:27 +02:00
committed by GitHub
parent 57f8229fac
commit 4fe3d211d5

View File

@ -24,8 +24,8 @@ def parse_output(username, output):
ipv4 = None ipv4 = None
ipv6 = None ipv6 = None
normal_sub = None normal_sub = None
nodes = []
# Match links
ipv4_match = re.search(r"IPv4:\s*(hy2://[^\s]+)", output) ipv4_match = re.search(r"IPv4:\s*(hy2://[^\s]+)", output)
ipv6_match = re.search(r"IPv6:\s*(hy2://[^\s]+)", output) ipv6_match = re.search(r"IPv6:\s*(hy2://[^\s]+)", output)
normal_sub_match = re.search(r"Normal-SUB Sublink:\s*(https?://[^\s]+)", output) normal_sub_match = re.search(r"Normal-SUB Sublink:\s*(https?://[^\s]+)", output)
@ -37,10 +37,16 @@ def parse_output(username, output):
if normal_sub_match: if normal_sub_match:
normal_sub = normal_sub_match.group(1) normal_sub = normal_sub_match.group(1)
node_matches = re.findall(r"Node: (.+?) \(IPv[46]\):\s*(hy2://[^\s]+)", output)
for name, uri in node_matches:
nodes.append({"name": name.strip(), "uri": uri})
return { return {
"username": username, "username": username,
"ipv4": ipv4, "ipv4": ipv4,
"ipv6": ipv6, "ipv6": ipv6,
"nodes": nodes,
"normal_sub": normal_sub "normal_sub": normal_sub
} }