Why every relay is timeout?
Can anyone help?
Code:
โโโโโโโโ
import websocket
import json
import ssl
import time
def test_relay(relay_url):
try:
# Create WebSocket connection
print(f"\nTesting relay: {relay_url}")
ws = websocket.create_connection(
relay_url,
sslopt={"cert_reqs": ssl.CERT_NONE},
timeout=10
)
# Send REQ request to get latest events
req = {
"id": "test",
"kinds": [1],
"limit": 1
}
print("Sending test request...")
ws.send(json.dumps(["REQ", "test", req]))
# Wait for response
print("Waiting for response...")
response = ws.recv()
print(f"Got response: {response[:200]}...") # Only print first 200 characters
# Close connection
ws.close()
print(f"โ
Relay {relay_url} is working!")
return True
except Exception as e:
print(f"โ Error testing {relay_url}: {str(e)}")
return False
if __name__ == "__main__":
# List of relays to test
relays = [
"wss://nos.lol",
"wss://relay.damus.io",
"wss://relay.nostr.band",
"wss://relay.snort.social",
"wss://nostr.wine"
]
# Test each relay
working_relays = []
for relay in relays:
if test_relay(relay):
working_relays.append(relay)
time.sleep(1) # Wait 1 second between tests
# Print summary
print("\n=== Test Results ===")
print(f"Total relays tested: {len(relays)}")
print(f"Working relays: {len(working_relays)}")
print("\nWorking relays:")
for relay in working_relays:
print(f"- {relay}")