Auto-backup: 206 scripts (@ 2026-09-17 11:46)
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Test de connectivité d'un relay Nostr — ws:// local ou wss:// via tunnel.
|
||||
Usage: python3 test_nostr_relay.py [url1 url2 ...] (defaut: ws://127.0.0.1:3001)
|
||||
Exige: python3 -c "import websockets" (dispo sur openclaw-1, sinon: pip install websockets)
|
||||
Attendu sur relay fermé (auth_required): réponse ["AUTH", "<challenge>"] = connexion OK.
|
||||
Piège: le handshake curl ne renvoie PAS 101 (il renvoie 200) — utiliser ce script à la place."""
|
||||
import asyncio, json, sys, websockets
|
||||
|
||||
async def test(url):
|
||||
try:
|
||||
async with websockets.connect(url, open_timeout=15) as ws:
|
||||
await ws.send(json.dumps(["REQ", "test-conn", {"kinds": [0], "limit": 1}]))
|
||||
msg = await asyncio.wait_for(ws.recv(), timeout=10)
|
||||
return f"OK — réponse: {msg[:120]}"
|
||||
except Exception as e:
|
||||
return f"FAIL — {type(e).__name__}: {str(e)[:150]}"
|
||||
|
||||
async def main():
|
||||
urls = sys.argv[1:] or ["ws://127.0.0.1:3001"]
|
||||
for u in urls:
|
||||
print(f"{u} → {await test(u)}")
|
||||
|
||||
asyncio.run(main())
|
||||
Reference in New Issue
Block a user