INNER CODE UNIT · Python
addresses
ermaozi/get_subscribe · check_nodes.py:93
addresses = list(dict.fromkeys(a for a in proxy_addresses + uri_addresses if a is not None))
with ThreadPoolExecutor(max_workers=WORKERS) as pool:
results = dict(zip(addresses, pool.map(tcp_status, addresses)))
summary = {'checked_at': datetime.now(timezone.utc).isoformat(), 'method': 'TCP connect',
'timeout_seconds': TIMEOUT, 'unique_endpoints': len(addresses), 'counts': {}}
all_names = {proxy['name'] for proxy in proxies}
for status in STATUSES:
selected = [p for p, address in zip(proxies, proxy_addresses) if results.get(address, 'untested') == status]
selected_uris = [uri for uri, address in zip(uris, uri_addresses) if results.get(address, 'untested') == status]
removed = all_names - {proxy['name'] for proxy in selected}
filtered = {**config, 'proxies': selected}
groups = []
for group in config.get('proxy-groups', []):
group = dict(group)
if 'proxies' in group:
group['proxies'] = [name for name in group['proxies'] if name not in removed] or ['REJECT']
groups.append(group)
if 'proxy-groups' in config: