INNER CODE UNIT · Python

endpoint

ermaozi/get_subscribe · check_nodes.py:24

def endpoint(node):
    """返回 TCP 主机和端口;不支持或使用 UDP 的节点返回 None。"""
    try:
        if isinstance(node, dict):
            if node.get('type') in UDP_TYPES or node.get('network') in {'quic', 'kcp'}:
                return None
            host, port = node.get('server'), node.get('port')
        else:
            scheme, body = node.split('://', 1)
            if scheme in UDP_TYPES:
                return None
            if scheme == 'vmess':
                data = json.loads(_decode(body.split('#', 1)[0]))
                if not isinstance(data, dict) or data.get('net') in {'quic', 'kcp'}:
                    return None
                host, port = data.get('add'), data.get('port')
            elif scheme == 'ssr':
                host, port, *_ = _decode(body.split('#', 1)[0]).split('/?', 1)[0].rsplit(':', 5)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…