Some checks failed
CI / node 22.19 (push) Has been skipped
CI / node 26 (push) Has been skipped
CI / python 3.10 / keyless SDK (push) Has been skipped
CI / python runtime / release-shaped Linux x64 (push) Has been skipped
CI / windows node 24 / wine blocking (push) Has been skipped
CI / wine apt cache (push) Successful in 58s
CI / serial / linux (push) Has been skipped
Deploy documentation / build (push) Failing after 2m46s
Deploy documentation / deploy (push) Has been skipped
E2E (real DeepSeek API) / e2e (push) Failing after 1m18s
Sandbox / sandbox e2e (bwrap, ubuntu-latest) (push) Failing after 1m18s
Landlock Run / Matrix (push) Successful in 13s
Release (vendor) / Pack npm tarballs (push) Failing after 3m43s
Release (dsh) / Pack npm tarballs (push) Failing after 1m53s
Sandbox / sandbox e2e (landlock, ubuntu-24.04) (push) Failing after 1m51s
Release (vendor) / Publish to npm (push) Has been skipped
Release (dsh) / Publish to npm (push) Has been skipped
CI / node 24 / static (push) Has been cancelled
CI / node 24 / coverage (push) Has been cancelled
CI / node 24 / snapshots and artifacts (push) Has been cancelled
CI / windows node 24 / native complete (push) Has been cancelled
CI / serial / linux (self-hosted standby) (push) Has been cancelled
CI / serial / macos (push) Has been cancelled
CI / serial / windows (self-hosted standby) (push) Has been cancelled
CI / larger-runner-benchmark (16, linux, dsh-ubuntu-24-04-16core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (16, windows, dsh-windows-2025-16core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (32, linux, dsh-ubuntu-24-04-32core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (32, windows, dsh-windows-2025-32core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (4, linux, dsh-ubuntu-24-04-4core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (4, windows, dsh-windows-2025-4core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (64, linux, dsh-ubuntu-24-04-64core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (64, windows, dsh-windows-2025-64core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (8, linux, dsh-ubuntu-24-04-8core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (8, windows, dsh-windows-2025-8core, production-site) (push) Has been cancelled
CI / larger-runner-benchmark (96, linux, dsh-ubuntu-24-04-96core, typecheck) (push) Has been cancelled
CI / larger-runner-benchmark (96, windows, dsh-windows-2025-96core, production-site) (push) Has been cancelled
CI / consolidated-runner-benchmark (16, linux, dsh-ubuntu-24-04-16core, 16) (push) Has been cancelled
CI / consolidated-runner-benchmark (16, windows, dsh-windows-2025-16core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (32, linux, dsh-ubuntu-24-04-32core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (32, windows, dsh-windows-2025-32core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (4, linux, dsh-ubuntu-24-04-4core, 4) (push) Has been cancelled
CI / consolidated-runner-benchmark (4, windows, dsh-windows-2025-4core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (64, linux, dsh-ubuntu-24-04-64core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (64, windows, dsh-windows-2025-64core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (8, linux, dsh-ubuntu-24-04-8core, 8) (push) Has been cancelled
CI / consolidated-runner-benchmark (8, windows, dsh-windows-2025-8core, 2) (push) Has been cancelled
CI / consolidated-runner-benchmark (96, linux, dsh-ubuntu-24-04-96core, 32) (push) Has been cancelled
CI / consolidated-runner-benchmark (96, windows, dsh-windows-2025-96core, 2) (push) Has been cancelled
CI / all checks passed (push) Has been cancelled
Sandbox / sandbox e2e (seatbelt, macos-latest) (push) Has been cancelled
Sandbox / sandbox e2e (landlock, ubuntu-24.04-arm) (push) Has been cancelled
Landlock Run / ${{ matrix.platform }} (push) Has been cancelled
Landlock Run / darwin (no platform package — degradation proof) (push) Has been cancelled
55 lines
2.1 KiB
Python
55 lines
2.1 KiB
Python
import urllib.request, ssl, json, urllib.parse, socket
|
|
|
|
ctx = ssl.create_default_context()
|
|
|
|
def get(url, headers=None, timeout=10):
|
|
h = headers or {'user-agent': 'Mozilla/5.0 (compatible; deepseek-harness/0.0.1)'}
|
|
req = urllib.request.Request(url, headers=h)
|
|
with urllib.request.urlopen(req, timeout=timeout, context=ctx) as r:
|
|
return r.status, r.read().decode('utf-8', 'replace')
|
|
|
|
# Independent recent instance lists
|
|
lists = [
|
|
'https://searx.space/data/instances.json',
|
|
'https://raw.githubusercontent.com/searxng/searx-instances/master/instances.json',
|
|
]
|
|
seen = {}
|
|
for src in lists:
|
|
try:
|
|
st, body = get(src)
|
|
data = json.loads(body)
|
|
inst = data.get('instances', data) if isinstance(data, dict) else {}
|
|
if isinstance(inst, dict):
|
|
for host, meta in inst.items():
|
|
if isinstance(meta, dict):
|
|
urlv = meta.get('url') or (f'https://{host}' if not host.startswith('http') else host)
|
|
jf = meta.get('json', False)
|
|
seen.setdefault(urlv.rstrip('/'), {'json': jf, 'meta': meta})
|
|
print(f'[{src}] status={st} counted={len(seen)}')
|
|
except Exception as e:
|
|
print(f'[{src}] FAIL {type(e).__name__}: {e}')
|
|
|
|
print('total candidates:', len(seen))
|
|
q = urllib.parse.quote('погода Норильск')
|
|
found = []
|
|
|
|
# Probe json-capable first, then all https ones briefly
|
|
pref = [u for u, m in seen.items() if m.get('json')]
|
|
rest = [u for u, m in seen.items() if not m.get('json')]
|
|
for u in pref + rest:
|
|
if not u.startswith('http'):
|
|
continue
|
|
base = u.rstrip('/')
|
|
url = f'{base}/search?q={q}&format=json'
|
|
try:
|
|
st, body = get(url, {'accept': 'application/json', 'user-agent': 'deepseek-harness/0.0.1'}, timeout=8)
|
|
if '"results"' in body and ('"url"' in body or 'results' in body):
|
|
found.append((base, st, body[:600]))
|
|
print(f'!!! CANDIDATE {base} HTTP {st}')
|
|
print(body[:600])
|
|
break
|
|
except Exception as e:
|
|
pass
|
|
|
|
if not found:
|
|
print('NO working json instance among', len(seen), 'candidates') |