INNER CODE UNIT · Python
_decode
ermaozi/get_subscribe · check_nodes.py:20
def _decode(value):
return base64.urlsafe_b64decode(value + '=' * (-len(value) % 4)).decode('utf-8')
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'}: