mirror of
https://github.com/permissionlesstech/georelays.git
synced 2026-07-25 06:45:18 +00:00
Merge pull request #2 from permissionlesstech/test-workflow
feat: automatic updates from github workflow
This commit is contained in:
@@ -13,6 +13,9 @@ on:
|
||||
- 'filter_bitchat_relays.sh'
|
||||
- 'relays_geo_lookup.sh'
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
update-relay-data:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -24,7 +27,7 @@ jobs:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
@@ -33,8 +36,15 @@ jobs:
|
||||
python -m pip install --upgrade pip
|
||||
pip install -r requirements.txt
|
||||
|
||||
- name: Install jq
|
||||
run: sudo apt-get update && sudo apt-get install -y jq
|
||||
- name: Install required dependencies
|
||||
run: |
|
||||
sudo apt-get update && sudo apt-get install -y jq curl dnsutils
|
||||
wget https://github.com/fiatjaf/nak/releases/download/v0.15.3/nak-v0.15.3-linux-amd64
|
||||
sudo mv nak-v0.15.3-linux-amd64 /usr/local/bin/nak
|
||||
sudo chmod +x /usr/local/bin/nak
|
||||
echo "Verifying nak installation:"
|
||||
nak --version
|
||||
which nak
|
||||
|
||||
- name: Make scripts executable
|
||||
run: |
|
||||
@@ -66,7 +76,7 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Upload relay data as artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: relay-data-${{ github.run_number }}
|
||||
path: |
|
||||
|
||||
+19
-77
@@ -106,7 +106,7 @@ class NostrRelayDiscovery:
|
||||
|
||||
def normalize_relay_url(self, url: str) -> str:
|
||||
"""Normalize relay URL (remove trailing slashes, etc.)"""
|
||||
url = url.strip()
|
||||
url = url.strip().lower()
|
||||
match = re.match(r'^(wss://[^/]+)/?$', url)
|
||||
|
||||
if match:
|
||||
@@ -128,7 +128,8 @@ class NostrRelayDiscovery:
|
||||
|
||||
async with websockets.connect(
|
||||
relay_url,
|
||||
timeout=self.connection_timeout,
|
||||
open_timeout=self.connection_timeout,
|
||||
close_timeout=5,
|
||||
max_size=2**20, # 1MB max message size
|
||||
ping_interval=None # Disable ping
|
||||
) as websocket:
|
||||
@@ -196,8 +197,8 @@ class NostrRelayDiscovery:
|
||||
logger.debug(f"Failed to connect to {relay_url}: {e}")
|
||||
return False
|
||||
|
||||
async def fetch_follow_lists(self, relay_url: str) -> List[Dict]:
|
||||
"""Fetch kind 3 events (follow lists) from a relay"""
|
||||
async def fetch_events(self, relay_url: str) -> List[Dict]:
|
||||
"""Fetch kind 3 events (follow lists) or kind 10002 (NIP-66) from a relay"""
|
||||
follow_events = []
|
||||
|
||||
try:
|
||||
@@ -205,12 +206,13 @@ class NostrRelayDiscovery:
|
||||
|
||||
async with websockets.connect(
|
||||
relay_url,
|
||||
timeout=self.connection_timeout,
|
||||
open_timeout=self.connection_timeout,
|
||||
close_timeout=5,
|
||||
max_size=2**20
|
||||
) as websocket:
|
||||
# Request follow lists (kind 3 events)
|
||||
|
||||
filter_req = {
|
||||
"kinds": [3],
|
||||
"kinds": [3, 10002],
|
||||
"limit": 300,
|
||||
}
|
||||
|
||||
@@ -222,7 +224,7 @@ class NostrRelayDiscovery:
|
||||
|
||||
# Collect events until EOSE
|
||||
start_time = time.time()
|
||||
timeout_duration = 30.0 # 30 second timeout
|
||||
timeout_duration = 30.0
|
||||
|
||||
while time.time() - start_time < timeout_duration:
|
||||
try:
|
||||
@@ -231,7 +233,7 @@ class NostrRelayDiscovery:
|
||||
|
||||
if data[0] == "EVENT" and data[1] == subscription_id:
|
||||
event = data[2]
|
||||
if event.get("kind") == 3:
|
||||
if event.get("kind") == 3 or event.get("kind") == 10002:
|
||||
follow_events.append(event)
|
||||
logger.debug(f"Collected follow event from {event.get('pubkey', 'unknown')[:8]}...")
|
||||
|
||||
@@ -254,6 +256,7 @@ class NostrRelayDiscovery:
|
||||
|
||||
logger.info(f"Collected {len(follow_events)} follow events from {relay_url}")
|
||||
return follow_events
|
||||
|
||||
|
||||
def extract_relays_from_events(self, events: List[Dict]) -> Set[str]:
|
||||
"""Extract relay URLs from follow list events"""
|
||||
@@ -305,35 +308,14 @@ class NostrRelayDiscovery:
|
||||
logger.info(f"Found {len(existing_relays)} existing functioning relays to verify")
|
||||
|
||||
if not existing_relays:
|
||||
logger.info("No existing functioning relays found, starting fresh")
|
||||
logger.info("No existing relays found, starting fresh")
|
||||
self.to_visit.append((self.initial_relay, 0))
|
||||
self.to_visit_set.add(self.initial_relay)
|
||||
return False
|
||||
|
||||
# Verify existing relays still work
|
||||
verified_relays = await self.verify_existing_relays(existing_relays)
|
||||
|
||||
if verified_relays:
|
||||
logger.info(f"Successfully verified {len(verified_relays)} existing relays")
|
||||
# Use verified relays as starting points for discovery
|
||||
for relay in verified_relays:
|
||||
self.to_visit.append((relay, 0))
|
||||
self.to_visit_set.add(relay)
|
||||
self.functioning_relays.add(relay)
|
||||
self.stats.functioning_relays += 1
|
||||
|
||||
# Also preserve other statistics if available
|
||||
if 'statistics' in data:
|
||||
old_stats = data['statistics']
|
||||
self.stats.total_relays_found = old_stats.get('total_relays_found', len(verified_relays))
|
||||
self.stats.events_processed = old_stats.get('events_processed', 0)
|
||||
|
||||
return True
|
||||
else:
|
||||
logger.warning("No existing relays could be verified, starting fresh")
|
||||
self.to_visit.append((self.initial_relay, 0))
|
||||
self.to_visit_set.add(self.initial_relay)
|
||||
return False
|
||||
logger.info("Existing relays found, building on the previous results")
|
||||
self.to_visit.extend([(existing_relay, 0) for existing_relay in existing_relays])
|
||||
self.to_visit_set.update(existing_relays)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error loading existing results: {e}")
|
||||
@@ -342,46 +324,6 @@ class NostrRelayDiscovery:
|
||||
self.to_visit_set.add(self.initial_relay)
|
||||
return False
|
||||
|
||||
async def verify_existing_relays(self, existing_relays: List[str]) -> List[str]:
|
||||
"""Verify that existing relays still work and filter out non-working ones"""
|
||||
verified_relays = []
|
||||
|
||||
logger.info(f"Verifying {len(existing_relays)} existing relays...")
|
||||
|
||||
# Test relays in batches to avoid overwhelming connections
|
||||
batch_size = 10
|
||||
for i in range(0, len(existing_relays), batch_size):
|
||||
batch = existing_relays[i:i + batch_size]
|
||||
batch_tasks = []
|
||||
|
||||
for relay in batch:
|
||||
if self.is_valid_relay_url(relay):
|
||||
batch_tasks.append(self.test_relay_connection(relay))
|
||||
else:
|
||||
logger.warning(f"Invalid relay URL in existing results: {relay}")
|
||||
self.stats.existing_relays_failed += 1
|
||||
|
||||
if batch_tasks:
|
||||
# Run batch tests concurrently
|
||||
batch_results = await asyncio.gather(*batch_tasks, return_exceptions=True)
|
||||
|
||||
for j, result in enumerate(batch_results):
|
||||
relay = batch[j]
|
||||
if isinstance(result, bool) and result:
|
||||
verified_relays.append(relay)
|
||||
self.stats.existing_relays_verified += 1
|
||||
logger.info(f"✓ Verified existing relay: {relay}")
|
||||
else:
|
||||
self.stats.existing_relays_failed += 1
|
||||
logger.warning(f"✗ Existing relay failed verification: {relay}")
|
||||
|
||||
# Small delay between batches to be nice to the relays
|
||||
if i + batch_size < len(existing_relays):
|
||||
await asyncio.sleep(0.5)
|
||||
|
||||
logger.info(f"Verification complete: {len(verified_relays)}/{len(existing_relays)} relays still functioning")
|
||||
return verified_relays
|
||||
|
||||
async def discover_relays(self) -> Set[str]:
|
||||
"""Main discovery method using breadth-first search"""
|
||||
# First, try to load existing results and verify them
|
||||
@@ -416,11 +358,11 @@ class NostrRelayDiscovery:
|
||||
if depth < self.max_depth:
|
||||
try:
|
||||
# Fetch follow lists from this relay
|
||||
follow_events = await self.fetch_follow_lists(current_relay)
|
||||
events = await self.fetch_events(current_relay)
|
||||
|
||||
if follow_events:
|
||||
if events:
|
||||
# Extract new relays from follow lists
|
||||
new_relays = self.extract_relays_from_events(follow_events)
|
||||
new_relays = self.extract_relays_from_events(events)
|
||||
|
||||
# Add new relays to visit queue for next depth level
|
||||
for relay_url in new_relays:
|
||||
|
||||
+98
-289
@@ -1,293 +1,102 @@
|
||||
Relay URL,Latitude,Longitude
|
||||
relay.damus.io,37.7621,-122.3971
|
||||
nostr-pub.wellorder.net,45.5229,-122.9898
|
||||
nostr.mom,50.4779,12.3713
|
||||
nostr.slothy.win,37.7621,-122.3971
|
||||
nostr.einundzwanzig.space,50.1155,8.6842
|
||||
nos.lol,50.4779,12.3713
|
||||
relay.nostr.band,60.1695,24.9354
|
||||
no.str.cr,9.9339,-84.0849
|
||||
nostr.massmux.com,50.1155,8.6842
|
||||
nostr-relay.schnitzel.world,39.0437,-77.4875
|
||||
relay.nostr.com.au,37.7621,-122.3971
|
||||
knostr.neutrine.com,48.8534,2.3488
|
||||
nostr.nodeofsven.com,47.4875,8.2965
|
||||
nostr.vulpem.com,49.4542,11.0775
|
||||
nostr-verif.slothy.win,37.7621,-122.3971
|
||||
relay.lexingtonbitcoin.org,37.7621,-122.3971
|
||||
nostr-1.nbo.angani.co,-1.2615,36.7903
|
||||
relay.wellorder.net,45.5229,-122.9898
|
||||
nostr.easydns.ca,43.7064,-79.3986
|
||||
relay.dwadziesciajeden.pl,52.2298,21.0118
|
||||
nostr.data.haus,50.4779,12.3713
|
||||
nostr.einundzwanzig.space,50.1155,8.6842
|
||||
nostr.mom,50.4779,12.3713
|
||||
nos.lol,50.4779,12.3713
|
||||
relay.nostr.band,60.1695,24.9354
|
||||
nostr.massmux.com,50.1155,8.6842
|
||||
nostr.vulpem.com,49.4542,11.0775
|
||||
relay.damus.io,37.7621,-122.3971
|
||||
nostr-pub.wellorder.net,45.5229,-122.9898
|
||||
no.str.cr,9.9339,-84.0849
|
||||
relay.dwadziesciajeden.pl,52.2298,21.0118
|
||||
nostr.data.haus,50.4779,12.3713
|
||||
relay.wellorder.net,45.5229,-122.9898
|
||||
relay.nostromo.social,49.4542,11.0775
|
||||
offchain.pub,34.0522,-118.2437
|
||||
relay.nostr.wirednet.jp,35.9356,139.3044
|
||||
relay.nostrcheck.me,37.7621,-122.3971
|
||||
nostrue.com,40.8043,-74.0121
|
||||
nostr-relay.schnitzel.world,39.0437,-77.4875
|
||||
nproxy.kristapsk.lv,60.1695,24.9354
|
||||
nostr.spaceshell.xyz,37.7621,-122.3971
|
||||
nostr-dev.wellorder.net,45.5229,-122.9898
|
||||
nostr-verified.wellorder.net,45.5229,-122.9898
|
||||
nostr.roundrockbitcoiners.com,40.8043,-74.0121
|
||||
slick.mjex.me,39.0437,-77.4875
|
||||
nostr.yael.at,52.3740,4.8897
|
||||
relay.primal.net,37.7621,-122.3971
|
||||
nostr.oxtr.dev,50.4779,12.3713
|
||||
nostr.21crypto.ch,46.5160,6.6328
|
||||
nostr.liberty.fans,38.8003,-90.6265
|
||||
nostr-02.dorafactory.org,1.2897,103.8501
|
||||
relay.hodl.ar,-32.9468,-60.6393
|
||||
nostr.middling.mydns.jp,35.8089,140.1185
|
||||
nostr.namek.link,37.7621,-122.3971
|
||||
nostrja-kari.heguro.com,37.7621,-122.3971
|
||||
nostr.hifish.org,47.3667,8.5500
|
||||
nostr.rikmeijer.nl,50.4779,12.3713
|
||||
black.nostrcity.club,41.8119,-87.6873
|
||||
nostr.hekster.org,37.3924,-121.9623
|
||||
relay.wavlake.com,41.2619,-95.8608
|
||||
nostr.sagaciousd.com,49.2497,-123.1193
|
||||
nostr.fbxl.net,43.7064,-79.3986
|
||||
ithurtswhenip.ee,50.7990,-1.0913
|
||||
relay2.nostrchat.io,49.4542,11.0775
|
||||
relay1.nostrchat.io,60.1695,24.9354
|
||||
nostr-01.yakihonne.com,1.3215,103.6957
|
||||
nostr.sathoarder.com,48.5839,7.7455
|
||||
nostr.overmind.lol,37.7621,-122.3971
|
||||
relay.verified-nostr.com,37.7621,-122.3971
|
||||
purplerelay.com,50.1155,8.6842
|
||||
relay.orangepill.ovh,49.0127,1.9694
|
||||
nostr-relay.psfoundation.info,39.0437,-77.4875
|
||||
soloco.nl,37.7621,-122.3971
|
||||
relay.froth.zone,60.1695,24.9354
|
||||
nostr.stakey.net,52.5250,5.7181
|
||||
nostr.2b9t.xyz,34.0522,-118.2437
|
||||
pyramid.fiatjaf.com,50.1155,8.6842
|
||||
a.nos.lol,50.4779,12.3713
|
||||
relay.magiccity.live,25.8130,-80.2320
|
||||
nostr.notribe.net,40.8344,-74.1377
|
||||
freelay.sovbit.host,64.1355,-21.8954
|
||||
relay.credenso.cafe,43.4254,-80.5112
|
||||
nostr.huszonegy.world,47.4984,19.0404
|
||||
multiplexer.huszonegy.world,47.4984,19.0404
|
||||
bucket.coracle.social,37.7621,-122.3971
|
||||
nostr.kungfu-g.rip,33.7865,-84.4454
|
||||
relay.artx.market,43.7064,-79.3986
|
||||
relay.notoshi.win,13.3622,100.9835
|
||||
vitor.nostr1.com,40.7143,-74.0060
|
||||
nostr-02.yakihonne.com,1.3215,103.6957
|
||||
nostr-03.dorafactory.org,1.2897,103.8501
|
||||
n.ok0.org,-36.8485,174.7635
|
||||
nostr.0x7e.xyz,47.5056,8.7241
|
||||
relay.nostr.net,50.4779,12.3713
|
||||
strfry.openhoofd.nl,51.5717,3.7042
|
||||
relay.fountain.fm,39.0997,-94.5786
|
||||
relay.usefusion.ai,38.7135,-78.1594
|
||||
relay.varke.eu,52.6958,6.1944
|
||||
nostr.satstralia.com,64.1355,-21.8954
|
||||
relay.13room.space,37.7621,-122.3971
|
||||
nostr.myshosholoza.co.za,52.3710,4.9042
|
||||
nostr.carroarmato0.be,50.8517,3.6089
|
||||
nostr.dbtc.link,37.7621,-122.3971
|
||||
orangepiller.org,60.1695,24.9354
|
||||
adre.su,59.9386,30.3141
|
||||
relay.sincensura.org,37.7621,-122.3971
|
||||
relay.freeplace.nl,52.3740,4.8897
|
||||
bostr.bitcointxoko.com,64.1355,-21.8954
|
||||
nostr.plantroon.com,50.1025,8.6299
|
||||
srtrelay.c-stellar.net,37.7621,-122.3971
|
||||
nostr.jfischer.org,49.4453,11.0222
|
||||
nostr.novacisko.cz,52.2298,21.0118
|
||||
relay.lumina.rocks,49.4453,11.0222
|
||||
nostr.tavux.tech,50.9519,1.8563
|
||||
relay.nostrhub.fr,50.1155,8.6842
|
||||
relay.agorist.space,52.3740,4.8897
|
||||
chorus.pjv.me,45.5229,-122.9898
|
||||
relay.cosmicbolt.net,37.3924,-121.9623
|
||||
santo.iguanatech.net,40.8344,-74.1377
|
||||
relay.tagayasu.xyz,45.4112,-75.6981
|
||||
relay.mostro.network,40.8344,-74.1377
|
||||
relay.zone667.com,60.1695,24.9354
|
||||
relay5.bitransfer.org,37.7621,-122.3971
|
||||
relay.illuminodes.com,47.6062,-122.3321
|
||||
relay2.angor.io,50.1155,8.6842
|
||||
relay.satsdays.com,1.2897,103.8501
|
||||
relay.angor.io,50.1155,8.6842
|
||||
orangesync.tech,50.9333,6.9500
|
||||
nostr-relay.cbrx.io,37.7621,-122.3971
|
||||
relay.21e6.cz,50.0880,14.4208
|
||||
nostr.chaima.info,50.1155,8.6842
|
||||
relay.satlantis.io,32.8546,-79.9748
|
||||
relay.digitalezukunft.cyou,45.5088,-73.5878
|
||||
relay.tapestry.ninja,40.8043,-74.0121
|
||||
relay.minibolt.info,37.7621,-122.3971
|
||||
nostr.bilthon.dev,25.8130,-80.2320
|
||||
nostr.makibisskey.work,37.7621,-122.3971
|
||||
relay.mattybs.lol,37.7621,-122.3971
|
||||
noxir.kpherox.dev,34.8436,135.5084
|
||||
sendit.nosflare.com,37.7621,-122.3971
|
||||
relay.coinos.io,37.7621,-122.3971
|
||||
relay.nostraddress.com,37.7621,-122.3971
|
||||
wot.nostr.party,36.1659,-86.7844
|
||||
nostrelites.org,41.8500,-87.6500
|
||||
relay.nostriot.com,43.7064,-79.3986
|
||||
prl.plus,55.7522,37.6156
|
||||
zap.watch,45.5088,-73.5878
|
||||
wot.codingarena.top,50.4779,12.3713
|
||||
nostr.azzamo.net,52.2284,21.0522
|
||||
wot.sudocarlos.com,43.7064,-79.3986
|
||||
relay.lnfi.network,45.6241,8.7851
|
||||
wot.nostr.net,37.7621,-122.3971
|
||||
relay.nostrdice.com,-33.8678,151.2073
|
||||
wot.sebastix.social,51.3700,6.1681
|
||||
wheat.happytavern.co,37.7621,-122.3971
|
||||
relay.sigit.io,50.4779,12.3713
|
||||
strfry.bonsai.com,37.8716,-122.2728
|
||||
travis-shears-nostr-relay-v2.fly.dev,41.8119,-87.6873
|
||||
satsage.xyz,37.3924,-121.9623
|
||||
relay.degmods.com,50.4779,12.3713
|
||||
nostr.community.ath.cx,45.5088,-73.5878
|
||||
nostr.coincrowd.fund,39.0437,-77.4875
|
||||
strfry.shock.network,41.8847,-88.2040
|
||||
cyberspace.nostr1.com,40.7143,-74.0060
|
||||
relay02.lnfi.network,39.0997,-94.5786
|
||||
nostr-rs-relay.dev.fedibtc.com,39.0437,-77.4875
|
||||
relay.davidebtc.me,50.1155,8.6842
|
||||
wot.dtonon.com,37.7621,-122.3971
|
||||
relay.goodmorningbitcoin.com,37.7621,-122.3971
|
||||
articles.layer3.news,37.3394,-121.8950
|
||||
bostr.syobon.net,37.7621,-122.3971
|
||||
nostr.agentcampfire.com,52.3740,4.8897
|
||||
nostr.thebiglake.org,32.7244,-96.6755
|
||||
schnorr.me,37.7621,-122.3971
|
||||
relay.wolfcoil.com,35.6090,139.7302
|
||||
nostr.camalolo.com,24.1469,120.6839
|
||||
nostr.tac.lol,47.4740,-122.2610
|
||||
dev-relay.lnfi.network,39.0997,-94.5786
|
||||
relay.bitcoinveneto.org,64.1355,-21.8954
|
||||
nostr.red5d.dev,37.7621,-122.3971
|
||||
relay-testnet.k8s.layer3.news,37.3394,-121.8950
|
||||
promenade.fiatjaf.com,50.1155,8.6842
|
||||
nostrelay.memory-art.xyz,37.7621,-122.3971
|
||||
inbox.azzamo.net,52.2284,21.0522
|
||||
social.proxymana.net,60.1695,24.9354
|
||||
relay.netstr.io,53.3331,-6.2489
|
||||
premium.primal.net,37.7621,-122.3971
|
||||
nostr.lojong.info,37.7621,-122.3971
|
||||
nostr-rs-relay-ishosta.phamthanh.me,37.7621,-122.3971
|
||||
relay.stream.labs.h3.se,59.3294,18.0687
|
||||
tollbooth.stens.dev,51.4566,7.0123
|
||||
relay.chakany.systems,37.7621,-122.3971
|
||||
relay.mwaters.net,50.9519,1.8563
|
||||
nostr-relay.shirogaku.xyz,37.7621,-122.3971
|
||||
kitchen.zap.cooking,37.7621,-122.3971
|
||||
relay.arx-ccn.com,50.4779,12.3713
|
||||
relay.fr13nd5.com,50.1155,8.6842
|
||||
nostr.tegila.com.br,39.0437,-77.4875
|
||||
relay.jeffg.fyi,43.7064,-79.3986
|
||||
relay.bullishbounty.com,37.7621,-122.3971
|
||||
nostr.spicyz.io,37.7621,-122.3971
|
||||
relay04.lnfi.network,39.0997,-94.5786
|
||||
vidono.apps.slidestr.net,48.8534,2.3488
|
||||
relay03.lnfi.network,39.0997,-94.5786
|
||||
communities.nos.social,40.8344,-74.1377
|
||||
relay.evanverma.com,40.8344,-74.1377
|
||||
nostrelay.circum.space,51.4566,7.0123
|
||||
wot.brightbolt.net,47.6928,-116.7850
|
||||
relayrs.notoshi.win,37.7621,-122.3971
|
||||
fenrir-s.notoshi.win,37.7621,-122.3971
|
||||
relay.nsnip.io,60.1695,24.9354
|
||||
x.kojira.io,37.7621,-122.3971
|
||||
relay.hasenpfeffr.com,39.0437,-77.4875
|
||||
relay01.lnfi.network,39.0997,-94.5786
|
||||
nostr.rtvslawenia.com,49.4542,11.0775
|
||||
relay.g1sms.fr,43.9298,2.1480
|
||||
nostr.kalf.org,52.3740,4.8897
|
||||
nostr.rblb.it,37.7621,-122.3971
|
||||
nostr.4rs.nl,49.4453,11.0222
|
||||
relay.vrtmrz.net,37.7621,-122.3971
|
||||
nostr.hoppe-relay.it.com,45.5946,-121.1787
|
||||
relay-rpi.edufeed.org,49.4453,11.0222
|
||||
relay.copylaradio.com,50.7990,-1.0913
|
||||
relay.ru.ac.th,13.7540,100.5014
|
||||
relay.bitcoinartclock.com,50.4779,12.3713
|
||||
wot.downisontheup.ca,47.6062,-122.3321
|
||||
nostr.coincards.com,43.7064,-79.3986
|
||||
relay.etch.social,41.2619,-95.8608
|
||||
relay.mess.ch,47.1345,9.0964
|
||||
relay.holzeis.me,37.7621,-122.3971
|
||||
relay-admin.thaliyal.com,40.8220,-74.4488
|
||||
nostr.thaliyal.com,40.8220,-74.4488
|
||||
strfry.felixzieger.de,50.1025,8.6299
|
||||
nostr.smut.cloud,37.7621,-122.3971
|
||||
r.bitcoinhold.net,37.7621,-122.3971
|
||||
nostr.blankfors.se,60.1695,24.9354
|
||||
portal-relay.pareto.space,49.4453,11.0222
|
||||
relay.getsafebox.app,43.7064,-79.3986
|
||||
relay.anzenkodo.workers.dev,37.7621,-122.3971
|
||||
relay.nostrhub.tech,49.4453,11.0222
|
||||
nostr.prl.plus,52.3740,4.8897
|
||||
nostr-2.21crypto.ch,46.5160,6.6328
|
||||
nostr.zenon.network,40.7143,-74.0060
|
||||
nostr-relay.amethyst.name,35.7721,-78.6386
|
||||
relayone.geektank.ai,17.1210,-61.8433
|
||||
fanfares.nostr1.com,40.7143,-74.0060
|
||||
wot.geektank.ai,17.1210,-61.8433
|
||||
relay-dev.satlantis.io,40.8344,-74.1377
|
||||
relay.siamdev.cc,13.9178,100.4240
|
||||
relay.nosto.re,51.3700,6.1681
|
||||
wot.soundhsa.com,39.0997,-94.5786
|
||||
nostr.n7ekb.net,47.5707,-122.2221
|
||||
relayone.soundhsa.com,39.0997,-94.5786
|
||||
relay.puresignal.news,37.7621,-122.3971
|
||||
relay.nostx.io,37.7621,-122.3971
|
||||
nostr.now,35.6090,139.7302
|
||||
relay.artiostr.ch,37.7621,-122.3971
|
||||
relay.oldenburg.cool,50.1155,8.6842
|
||||
theoutpost.life,64.1355,-21.8954
|
||||
khatru.nostrver.se,51.3700,6.1681
|
||||
relay.wavefunc.live,37.7915,-122.4018
|
||||
nostr-relay.zimage.com,34.0522,-118.2437
|
||||
relay.javi.space,43.4628,11.8807
|
||||
bostr.shop,42.8865,-78.8784
|
||||
relay.letsfo.com,52.2298,21.0118
|
||||
alien.macneilmediagroup.com,37.7621,-122.3971
|
||||
rn1.sotiras.org,37.7621,-122.3971
|
||||
gnostr.com,42.6975,23.3241
|
||||
relay.conduit.market,37.7621,-122.3971
|
||||
relay.hivetalk.org,37.3924,-121.9623
|
||||
nostr.l484.com,30.2960,-97.6396
|
||||
relay.chorus.community,50.1155,8.6842
|
||||
nostr-relay.moe.gift,37.7621,-122.3971
|
||||
relay.nostrcal.com,37.7621,-122.3971
|
||||
temp.iris.to,37.7621,-122.3971
|
||||
librerelay.aaroniumii.com,37.7621,-122.3971
|
||||
nostr-relay-1.trustlessenterprise.com,37.7621,-122.3971
|
||||
relay.usefusion.ai,38.7135,-78.1594
|
||||
relay.mostro.network,40.8344,-74.1377
|
||||
premium.primal.net,37.7621,-122.3971
|
||||
relay.nostr.vet,52.5273,5.7228
|
||||
soloco.nl,37.7621,-122.3971
|
||||
relay.coinos.io,37.7621,-122.3971
|
||||
srtrelay.c-stellar.net,37.7621,-122.3971
|
||||
noxir.kpherox.dev,34.8436,135.5084
|
||||
relay.chakany.systems,37.7621,-122.3971
|
||||
nostr.4rs.nl,49.4453,11.0222
|
||||
nostr.liberty.fans,38.8003,-90.6265
|
||||
adre.su,59.9386,30.3141
|
||||
relay.exit.pub,50.4779,12.3713
|
||||
vitor.nostr1.com,40.7143,-74.0060
|
||||
wot.brightbolt.net,47.6928,-116.7850
|
||||
strfry.openhoofd.nl,51.5717,3.7042
|
||||
nostr.notribe.net,40.8344,-74.1377
|
||||
relay.bullishbounty.com,37.7621,-122.3971
|
||||
slick.mjex.me,39.0437,-77.4875
|
||||
zap.watch,45.5088,-73.5878
|
||||
nostr.data.haus,50.4779,12.3713
|
||||
relay.olas.app,50.4779,12.3713
|
||||
nostr.huszonegy.world,47.4984,19.0404
|
||||
relay.nostr.wirednet.jp,35.9356,139.3044
|
||||
relay.nostr.net,50.4779,12.3713
|
||||
nproxy.kristapsk.lv,60.1695,24.9354
|
||||
n.ok0.org,-36.8485,174.7635
|
||||
relay.snort.social,53.3331,-6.2489
|
||||
nostrelites.org,41.8500,-87.6500
|
||||
satsage.xyz,37.3924,-121.9623
|
||||
nostrja-kari.heguro.com,37.7621,-122.3971
|
||||
nostr-02.yakihonne.com,1.3215,103.6957
|
||||
relay.lumina.rocks,49.4453,11.0222
|
||||
relay.nostrcheck.me,37.7621,-122.3971
|
||||
relay.hodl.ar,-32.9468,-60.6393
|
||||
relay.nostr.band,60.1695,24.9354
|
||||
relay.barine.co,37.7621,-122.3971
|
||||
nostr.rohoss.com,48.1374,11.5755
|
||||
wot.nostr.place,30.2672,-97.7431
|
||||
relay.utxo.farm,34.7331,135.8183
|
||||
relay.bankless.at,37.7621,-122.3971
|
||||
relay.toastr.net,40.8043,-74.0121
|
||||
nostr.excentered.com,52.5244,13.4105
|
||||
relay.mccormick.cx,52.3740,4.8897
|
||||
relay.cypherflow.ai,48.8534,2.3488
|
||||
relay.laantungir.net,45.3134,-73.8725
|
||||
nostr.veladan.dev,37.7621,-122.3971
|
||||
nostr.tadryanom.me,37.7621,-122.3971
|
||||
nostr-relay.online,37.7621,-122.3971
|
||||
nostr.night7.space,50.4779,12.3713
|
||||
dev-nostr.bityacht.io,25.0531,121.5264
|
||||
inbox.azzamo.net,52.2284,21.0522
|
||||
pyramid.fiatjaf.com,50.1155,8.6842
|
||||
orangesync.tech,50.9333,6.9500
|
||||
relay.orangepill.ovh,49.0127,1.9694
|
||||
relay.jeffg.fyi,43.7064,-79.3986
|
||||
relay.g1sms.fr,43.9298,2.1480
|
||||
nostr.hifish.org,47.3667,8.5500
|
||||
relay.nostromo.social,49.4542,11.0775
|
||||
no.str.cr,9.9339,-84.0849
|
||||
nostr.vulpem.com,49.4542,11.0775
|
||||
offchain.pub,34.0522,-118.2437
|
||||
nostr.kungfu-g.rip,33.7865,-84.4454
|
||||
kitchen.zap.cooking,37.7621,-122.3971
|
||||
nostr.einundzwanzig.space,50.1155,8.6842
|
||||
nostr.jerrynya.fun,31.2222,121.4581
|
||||
relay.angor.io,50.1155,8.6842
|
||||
relay.dwadziesciajeden.pl,52.2298,21.0118
|
||||
nostr.roundrockbitcoiners.com,40.8043,-74.0121
|
||||
relay.artx.market,43.7064,-79.3986
|
||||
nostr.massmux.com,50.1155,8.6842
|
||||
nostr.stakey.net,52.5250,5.7181
|
||||
wot.codingarena.top,50.4779,12.3713
|
||||
nostr.chaima.info,50.1155,8.6842
|
||||
wheat.happytavern.co,37.7621,-122.3971
|
||||
nostrelay.circum.space,51.4566,7.0123
|
||||
nostr.mom,50.4779,12.3713
|
||||
wot.sebastix.social,51.3700,6.1681
|
||||
a.nos.lol,50.4779,12.3713
|
||||
relay.primal.net,37.7621,-122.3971
|
||||
nostr.spicyz.io,37.7621,-122.3971
|
||||
nos.lol,50.4779,12.3713
|
||||
nostr.yael.at,52.3740,4.8897
|
||||
relay.wavlake.com,41.2619,-95.8608
|
||||
yabu.me,35.6090,139.7302
|
||||
wot.sudocarlos.com,43.7064,-79.3986
|
||||
nostr.bilthon.dev,25.8130,-80.2320
|
||||
purplerelay.com,50.1155,8.6842
|
||||
relay.damus.io,37.7621,-122.3971
|
||||
relay.copylaradio.com,50.7990,-1.0913
|
||||
nostr.azzamo.net,52.2284,21.0522
|
||||
inbox.relays.land,50.1155,8.6842
|
||||
wot.dtonon.com,37.7621,-122.3971
|
||||
cyberspace.nostr1.com,40.7143,-74.0060
|
||||
wot.nostr.net,37.7621,-122.3971
|
||||
nostr-01.yakihonne.com,1.3215,103.6957
|
||||
wot.nostr.party,36.1659,-86.7844
|
||||
nostr.plantroon.com,50.1025,8.6299
|
||||
Relay.Damus.io,37.7621,-122.3971
|
||||
relay.notoshi.win,13.3622,100.9835
|
||||
nostr-relay.cbrx.io,37.7621,-122.3971
|
||||
ithurtswhenip.ee,50.7990,-1.0913
|
||||
nostr.middling.mydns.jp,35.8089,140.1185
|
||||
nostr.hekster.org,37.3924,-121.9623
|
||||
freelay.sovbit.host,64.1355,-21.8954
|
||||
relay.magiccity.live,25.8130,-80.2320
|
||||
nostr.sathoarder.com,48.5839,7.7455
|
||||
relay.nostrhub.fr,50.1155,8.6842
|
||||
nostrue.com,40.8043,-74.0121
|
||||
nostr.oxtr.dev,50.4779,12.3713
|
||||
nostr-02.dorafactory.org,1.2897,103.8501
|
||||
relay.0xchat.com,1.2897,103.8501
|
||||
nostr.0x7e.xyz,47.5056,8.7241
|
||||
|
||||
|
+306
-243
@@ -6,253 +6,316 @@
|
||||
"save_point": 10
|
||||
},
|
||||
"progress_info": {
|
||||
"relays_processed": 723,
|
||||
"relays_processed": 726,
|
||||
"relays_remaining": 0,
|
||||
"discovery_complete": true,
|
||||
"last_saved": 1756039994.605474
|
||||
"last_saved": 1756054098.820791
|
||||
},
|
||||
"statistics": {
|
||||
"total_relays_found": 1200,
|
||||
"functioning_relays_count": 234,
|
||||
"events_processed": 69208,
|
||||
"existing_relays_verified": 219,
|
||||
"existing_relays_failed": 5,
|
||||
"discovery_duration": 2709.6405580043793
|
||||
"total_relays_found": 492,
|
||||
"functioning_relays_count": 232,
|
||||
"events_processed": 41684,
|
||||
"existing_relays_verified": 0,
|
||||
"existing_relays_failed": 0,
|
||||
"discovery_duration": 1692.4695873260498
|
||||
},
|
||||
"functioning_relays": [
|
||||
"wss://relay.hodl.ar",
|
||||
"wss://at.nostrworks.com",
|
||||
"wss://relay.pleb.to",
|
||||
"wss://nostr.reckless.dev",
|
||||
"wss://no.str.cr",
|
||||
"wss://relay.usefusion.ai",
|
||||
"wss://noornode.nostr1.com",
|
||||
"wss://purplerelay.com",
|
||||
"wss://xmr.usenostr.org",
|
||||
"wss://nostr-pub.wellorder.net",
|
||||
"wss://nostr-dev.wellorder.net",
|
||||
"wss://nostr.lopp.social",
|
||||
"wss://bitcoinmaximalists.online",
|
||||
"wss://adre.su",
|
||||
"wss://yabu.me",
|
||||
"wss://nostr.256k1.dev",
|
||||
"wss://nostr.hashbang.nl",
|
||||
"wss://relay.geyser.fund",
|
||||
"wss://thebarn.nostr1.com",
|
||||
"wss://n.ok0.org",
|
||||
"wss://nostr.zbd.gg",
|
||||
"wss://relay.olas.app",
|
||||
"wss://nostrue.com",
|
||||
"wss://nostr.1sat.org",
|
||||
"wss://asia.azzamo.net",
|
||||
"wss://nostrelites.org",
|
||||
"wss://kitchen.zap.cooking",
|
||||
"wss://noxir.kpherox.dev",
|
||||
"wss://christpill.nostr1.com",
|
||||
"wss://relay.nos.social",
|
||||
"wss://lightningrelay.com",
|
||||
"wss://wot.brightbolt.net",
|
||||
"wss://relay.bitcoinpark.com",
|
||||
"wss://relay.westernbtc.com",
|
||||
"wss://nos.lol",
|
||||
"wss://relay.235421.xyz",
|
||||
"wss://relay.minibits.cash",
|
||||
"wss://us.nostr.wine",
|
||||
"wss://nostr.mom",
|
||||
"wss://njump.me",
|
||||
"wss://f7z.io",
|
||||
"wss://chronicle.dtonon.com",
|
||||
"wss://haven.calva.dev",
|
||||
"wss://paid.nostrified.org",
|
||||
"wss://frens.nostr1.com",
|
||||
"wss://hbr.coracle.social",
|
||||
"wss://nostr.wine",
|
||||
"wss://nostr.sathoarder.com",
|
||||
"wss://relay.minds.com",
|
||||
"wss://relay.bullishbounty.com",
|
||||
"wss://nfrelay.app",
|
||||
"wss://relay.primal.net",
|
||||
"wss://profiles.nostr1.com",
|
||||
"wss://fiatjaf.nostr1.com",
|
||||
"wss://zap.watch",
|
||||
"wss://nostr.middling.mydns.jp",
|
||||
"wss://nostr.azzamo.net",
|
||||
"wss://nostr.kungfu-g.rip",
|
||||
"wss://purplepag.es",
|
||||
"wss://nostrelay.circum.space",
|
||||
"wss://nostr.data.haus",
|
||||
"wss://relay.nostr.wirednet.jp",
|
||||
"wss://wot.nostr.net",
|
||||
"wss://relay.benthecarman.com",
|
||||
"wss://wot.sebastix.social",
|
||||
"wss://relay.beta.fogtype.com",
|
||||
"wss://cellar.nostr.wine",
|
||||
"wss://relay.drss.io",
|
||||
"wss://relay.lawallet.ar",
|
||||
"wss://nostr-relay.bitcoin.ninja",
|
||||
"wss://nostr.thank.eu",
|
||||
"wss://nostr.xmr.rocks",
|
||||
"wss://nostr.pareto.space",
|
||||
"wss://nostr.4rs.nl",
|
||||
"wss://relay1.nostrchat.io",
|
||||
"wss://nostr.stakey.net",
|
||||
"wss://relay.dergigi.com",
|
||||
"wss://nostr.sovbit.host",
|
||||
"wss://relay.dwadziesciajeden.pl",
|
||||
"wss://premium.primal.net",
|
||||
"wss://nostr21.com",
|
||||
"wss://nostr.chaima.info",
|
||||
"wss://nostr.cloud.vinney.xyz",
|
||||
"wss://nostr.roundrockbitcoiners.com",
|
||||
"wss://relay.livefreebtc.dev",
|
||||
"wss://nostr.d11n.net",
|
||||
"wss://frjosh.nostr1.com",
|
||||
"wss://nostr.sebastix.dev",
|
||||
"wss://relay.lexingtonbitcoin.org",
|
||||
"wss://relay.satlantis.io",
|
||||
"wss://nostr.bitpunk.fm",
|
||||
"wss://pyramid.fiatjaf.com",
|
||||
"wss://relay.nostromo.social",
|
||||
"wss://nostr-verified.wellorder.net",
|
||||
"wss://nostr-01.yakihonne.com",
|
||||
"wss://nostr.bitcoinist.org",
|
||||
"wss://zaplab.nostr1.com",
|
||||
"wss://articles.layer3.news",
|
||||
"wss://relay.g1sms.fr",
|
||||
"wss://relay.patrickulrich.com",
|
||||
"wss://nostr.slothy.win",
|
||||
"wss://knostr.neutrine.com",
|
||||
"wss://relay.bitdevs.tw",
|
||||
"wss://relay.jthecodemonkey.xyz",
|
||||
"wss://relay.damus.io",
|
||||
"wss://inbox.azzamo.net",
|
||||
"wss://nostr.spicyz.io",
|
||||
"wss://thecitadel.nostr1.com",
|
||||
"wss://chadf.nostr1.com",
|
||||
"wss://wot.nostr.party",
|
||||
"wss://relay.nosflare.com",
|
||||
"wss://aegis.relayted.de",
|
||||
"wss://relay.nostr.wf",
|
||||
"wss://nostr-03.dorafactory.org",
|
||||
"wss://relay.nostrr.de",
|
||||
"wss://nostr.bilthon.dev",
|
||||
"wss://slick.mjex.me",
|
||||
"wss://nostr.yael.at",
|
||||
"wss://yestr.me",
|
||||
"wss://hivetalk.nostr1.com",
|
||||
"wss://relay.gasteazi.net",
|
||||
"wss://relay.notoshi.win",
|
||||
"wss://bitcoiner.social",
|
||||
"wss://relay.nostr.sc",
|
||||
"wss://wot.dtonon.com",
|
||||
"wss://nostr.cizmar.net",
|
||||
"wss://relay.guggero.org",
|
||||
"wss://nostr.jcloud.es",
|
||||
"wss://inbox.relays.land",
|
||||
"wss://nostr.malin.onl",
|
||||
"wss://nostr-02.dorafactory.org",
|
||||
"wss://nostr-02.yakihonne.com",
|
||||
"wss://relay.mostro.network",
|
||||
"wss://pareto.nostr1.com",
|
||||
"wss://relay.angor.io",
|
||||
"wss://nostr.ussenterprise.xyz",
|
||||
"wss://relay.weloveit.info",
|
||||
"wss://relay.copylaradio.com",
|
||||
"wss://offchain.pub",
|
||||
"wss://relay.nostrdam.com",
|
||||
"wss://wons.calva.dev",
|
||||
"wss://welcome.nostr.wine",
|
||||
"wss://carlos-cdb.top",
|
||||
"wss://a.nos.lol",
|
||||
"wss://relay.nostr.vet",
|
||||
"wss://relay.lumina.rocks",
|
||||
"wss://nostr.easydns.ca",
|
||||
"wss://search.nos.today",
|
||||
"wss://nostr.bitcoiner.social",
|
||||
"wss://relay.ziomc.com",
|
||||
"wss://relay.vanderwarker.family",
|
||||
"wss://orangesync.tech",
|
||||
"wss://relay.wellorder.net",
|
||||
"wss://relay.noswhere.com",
|
||||
"wss://ithurtswhenip.ee",
|
||||
"wss://relay.azzamo.net",
|
||||
"wss://relay.nostr.net",
|
||||
"wss://nostr.0x7e.xyz",
|
||||
"wss://nrelay.c-stellar.net",
|
||||
"wss://Relay.Damus.io",
|
||||
"wss://relay.nostrplebs.com",
|
||||
"wss://nostr.hekster.org",
|
||||
"wss://nostr.massmux.com",
|
||||
"wss://nostr.oxtr.dev",
|
||||
"wss://paid.no.str.cr",
|
||||
"wss://mleku.nostr1.com",
|
||||
"wss://relay.jeffg.fyi",
|
||||
"wss://140.f7z.io",
|
||||
"wss://wot.sudocarlos.com",
|
||||
"wss://srtrelay.c-stellar.net",
|
||||
"wss://nostr.1f52b.xyz",
|
||||
"wss://relay.ingwie.me",
|
||||
"wss://wot.codingarena.top",
|
||||
"wss://nostr.liberty.fans",
|
||||
"wss://relay.nostr.band",
|
||||
"wss://nostr.plantroon.com",
|
||||
"wss://bots.utxo.one",
|
||||
"wss://fanfares.nostr1.com",
|
||||
"wss://nostr.pjv.me",
|
||||
"wss://nostr.decentony.com",
|
||||
"wss://wot.downisontheup.ca",
|
||||
"wss://relay.barine.co",
|
||||
"wss://theforest.nostr1.com",
|
||||
"wss://wheat.happytavern.co",
|
||||
"wss://wot.girino.org",
|
||||
"wss://relay.orangepill.ovh",
|
||||
"wss://nostr-relay.cbrx.io",
|
||||
"wss://nostr-1.nbo.angani.co",
|
||||
"wss://nostr-relay.derekross.me",
|
||||
"wss://haven.accioly.social",
|
||||
"wss://btc.klendazu.com",
|
||||
"wss://relay.chakany.systems",
|
||||
"wss://relay.coinos.io",
|
||||
"wss://relay.exit.pub",
|
||||
"wss://user.kindpag.es",
|
||||
"wss://nostr.vulpem.com",
|
||||
"wss://freelay.sovbit.host",
|
||||
"wss://nostr.notribe.net",
|
||||
"wss://wot.nostr.sats4.life",
|
||||
"wss://nostrja-kari.heguro.com",
|
||||
"wss://relay.mostr.pub",
|
||||
"wss://nostr.pareto.town",
|
||||
"wss://haven.slidestr.net",
|
||||
"wss://support.nostr1.com",
|
||||
"wss://vitor.nostr1.com",
|
||||
"wss://relay.nostr.com.au",
|
||||
"wss://relay.noderunners.network",
|
||||
"wss://relay.artx.market",
|
||||
"wss://relay.nostrhub.fr",
|
||||
"wss://relay.magiccity.live",
|
||||
"wss://cyberspace.nostr1.com",
|
||||
"wss://vault.iris.to",
|
||||
"wss://hist.nostr.land",
|
||||
"wss://soloco.nl",
|
||||
"wss://relay.wavlake.com",
|
||||
"wss://relay.vertexlab.io",
|
||||
"wss://relay.theuncounted.site",
|
||||
"wss://primus.nostr1.com",
|
||||
"wss://news.utxo.one",
|
||||
"wss://wot.danieldaquino.me",
|
||||
"wss://relay.nostrified.org",
|
||||
"wss://nproxy.kristapsk.lv",
|
||||
"wss://relay.utxo.one",
|
||||
"wss://nostr.einundzwanzig.space",
|
||||
"wss://relay.verified-nostr.com",
|
||||
"wss://directory.yabu.me",
|
||||
"wss://strfry.openhoofd.nl",
|
||||
"wss://jellyfish.land",
|
||||
"wss://xmr.ithurtswhenip.ee",
|
||||
"wss://nostr.app.runonflux.io",
|
||||
"wss://nostr.hifish.org",
|
||||
"wss://satsage.xyz",
|
||||
"wss://relay.reya.su",
|
||||
"wss://nostr.huszonegy.world"
|
||||
]
|
||||
"wss://nostr.mom",
|
||||
"wss://nos.lol",
|
||||
"wss://nostr.einundzwanzig.space",
|
||||
"wss://relay.nostr.band",
|
||||
"wss://nostr.massmux.com",
|
||||
"wss://nostr.vulpem.com",
|
||||
"wss://no.str.cr",
|
||||
"wss://relay.damus.io",
|
||||
"wss://relay.dwadziesciajeden.pl",
|
||||
"wss://nostr.data.haus",
|
||||
"wss://nostr-relay.schnitzel.world",
|
||||
"wss://relay.nostromo.social",
|
||||
"wss://offchain.pub",
|
||||
"wss://nostrue.com",
|
||||
"wss://relay.nostr.wirednet.jp",
|
||||
"wss://nostr.spaceshell.xyz",
|
||||
"wss://nostr.roundrockbitcoiners.com",
|
||||
"wss://relay.snort.social",
|
||||
"wss://relay.nostrcheck.me",
|
||||
"wss://nproxy.kristapsk.lv",
|
||||
"wss://nostr.yael.at",
|
||||
"wss://slick.mjex.me",
|
||||
"wss://relay.primal.net",
|
||||
"wss://nostr.oxtr.dev",
|
||||
"wss://nostr.21crypto.ch",
|
||||
"wss://nostr.liberty.fans",
|
||||
"wss://nostr-02.dorafactory.org",
|
||||
"wss://feeds.nostr.band/nostrhispano",
|
||||
"wss://relay.hodl.ar",
|
||||
"wss://nostr.namek.link",
|
||||
"wss://nostr.middling.mydns.jp",
|
||||
"wss://nostrja-kari.heguro.com",
|
||||
"wss://nostr.hifish.org",
|
||||
"wss://nostr.rikmeijer.nl",
|
||||
"wss://black.nostrcity.club",
|
||||
"wss://nostr.hekster.org",
|
||||
"wss://relay.wavlake.com",
|
||||
"wss://nostr.sagaciousd.com",
|
||||
"wss://ithurtswhenip.ee",
|
||||
"wss://relay2.nostrchat.io",
|
||||
"wss://relay1.nostrchat.io",
|
||||
"wss://nostr.overmind.lol",
|
||||
"wss://nostr.sathoarder.com",
|
||||
"wss://relay.verified-nostr.com",
|
||||
"wss://nostr-01.yakihonne.com",
|
||||
"wss://purplerelay.com",
|
||||
"wss://relay.orangepill.ovh",
|
||||
"wss://nostr-relay.psfoundation.info",
|
||||
"wss://soloco.nl",
|
||||
"wss://relay.froth.zone",
|
||||
"wss://nostr.2b9t.xyz",
|
||||
"wss://nostr.stakey.net",
|
||||
"wss://pyramid.fiatjaf.com",
|
||||
"wss://a.nos.lol",
|
||||
"wss://relay.magiccity.live",
|
||||
"wss://nostr.notribe.net",
|
||||
"wss://relay.credenso.cafe",
|
||||
"wss://nostr.huszonegy.world",
|
||||
"wss://bucket.coracle.social",
|
||||
"wss://nostr.kungfu-g.rip",
|
||||
"wss://gleasonator.dev/relay",
|
||||
"wss://freelay.sovbit.host",
|
||||
"wss://relay.artx.market",
|
||||
"wss://relay.notoshi.win",
|
||||
"wss://nostr.petrkr.net/strfry",
|
||||
"wss://multiplexer.huszonegy.world",
|
||||
"wss://vitor.nostr1.com",
|
||||
"wss://nostr-02.yakihonne.com",
|
||||
"wss://nostr-03.dorafactory.org",
|
||||
"wss://n.ok0.org",
|
||||
"wss://nostr.0x7e.xyz",
|
||||
"wss://strfry.openhoofd.nl",
|
||||
"wss://relay.nostr.net",
|
||||
"wss://relay.fountain.fm",
|
||||
"wss://relay.usefusion.ai",
|
||||
"wss://relay.varke.eu",
|
||||
"wss://nostr.satstralia.com",
|
||||
"wss://relay.13room.space",
|
||||
"wss://nostr.myshosholoza.co.za",
|
||||
"wss://nostr.carroarmato0.be",
|
||||
"wss://nostr.dbtc.link",
|
||||
"wss://ftp.halifax.rwth-aachen.de/nostr",
|
||||
"wss://orangepiller.org",
|
||||
"wss://adre.su",
|
||||
"wss://relay.freeplace.nl",
|
||||
"wss://relay.sincensura.org",
|
||||
"wss://bostr.bitcointxoko.com",
|
||||
"wss://nostr.jfischer.org",
|
||||
"wss://srtrelay.c-stellar.net",
|
||||
"wss://nostr.plantroon.com",
|
||||
"wss://relay.lumina.rocks",
|
||||
"wss://nostr.tavux.tech",
|
||||
"wss://rebelbase.social/relay",
|
||||
"wss://chorus.pjv.me",
|
||||
"wss://relay.nostrhub.fr",
|
||||
"wss://relay.agorist.space",
|
||||
"wss://santo.iguanatech.net",
|
||||
"wss://relay.cosmicbolt.net",
|
||||
"wss://relay.tagayasu.xyz",
|
||||
"wss://relay.zone667.com",
|
||||
"wss://relay.mostro.network",
|
||||
"wss://relay5.bitransfer.org",
|
||||
"wss://relay.illuminodes.com",
|
||||
"wss://relay.satlantis.io",
|
||||
"wss://relay2.angor.io",
|
||||
"wss://relay.satsdays.com",
|
||||
"wss://relay.angor.io",
|
||||
"wss://orangesync.tech",
|
||||
"wss://relay.21e6.cz",
|
||||
"wss://nostr.chaima.info",
|
||||
"wss://nostr-relay.cbrx.io",
|
||||
"wss://relay.minibolt.info",
|
||||
"wss://relay.digitalezukunft.cyou",
|
||||
"wss://relay.tapestry.ninja",
|
||||
"wss://nostr.bilthon.dev",
|
||||
"wss://nostr.makibisskey.work",
|
||||
"wss://relay.mattybs.lol",
|
||||
"wss://noxir.kpherox.dev",
|
||||
"wss://sendit.nosflare.com",
|
||||
"wss://relay.coinos.io",
|
||||
"wss://relay.nostraddress.com",
|
||||
"wss://wot.nostr.party",
|
||||
"wss://nostrelites.org",
|
||||
"wss://relay.nostriot.com",
|
||||
"wss://prl.plus",
|
||||
"wss://zap.watch",
|
||||
"wss://wot.codingarena.top",
|
||||
"wss://wot.sudocarlos.com",
|
||||
"wss://nostr.azzamo.net",
|
||||
"wss://relay.lnfi.network",
|
||||
"wss://wot.nostr.net",
|
||||
"wss://relay.nostrdice.com",
|
||||
"wss://wot.sebastix.social",
|
||||
"wss://wheat.happytavern.co",
|
||||
"wss://api.freefrom.space/v1/ws",
|
||||
"wss://chorus.bonsai.com",
|
||||
"wss://strfry.bonsai.com",
|
||||
"wss://relay.sigit.io",
|
||||
"wss://travis-shears-nostr-relay-v2.fly.dev",
|
||||
"wss://satsage.xyz",
|
||||
"wss://relay.degmods.com",
|
||||
"wss://cobrafuma.com/relay",
|
||||
"wss://nostr.community.ath.cx",
|
||||
"wss://nostr.coincrowd.fund",
|
||||
"wss://strfry.shock.network",
|
||||
"wss://relay02.lnfi.network",
|
||||
"wss://nostr-rs-relay.dev.fedibtc.com",
|
||||
"wss://cyberspace.nostr1.com",
|
||||
"wss://social.protest.net/relay",
|
||||
"wss://wot.dtonon.com",
|
||||
"wss://relay.goodmorningbitcoin.com",
|
||||
"wss://articles.layer3.news",
|
||||
"wss://relay.davidebtc.me",
|
||||
"wss://bostr.syobon.net",
|
||||
"wss://nostr.agentcampfire.com",
|
||||
"wss://nostr.me/relay",
|
||||
"wss://nostr.thebiglake.org",
|
||||
"wss://henhouse.social/relay",
|
||||
"wss://schnorr.me",
|
||||
"wss://nostr.camalolo.com",
|
||||
"wss://relay.wolfcoil.com",
|
||||
"wss://nostr.tac.lol",
|
||||
"wss://dev-relay.lnfi.network",
|
||||
"wss://relay.bitcoinveneto.org",
|
||||
"wss://devapi.freefrom.space/v1/ws",
|
||||
"wss://aaa-api.freefrom.space/v1/ws",
|
||||
"wss://nostr.red5d.dev",
|
||||
"wss://relay.allsocial.me",
|
||||
"wss://relay-testnet.k8s.layer3.news",
|
||||
"wss://social.proxymana.net",
|
||||
"wss://promenade.fiatjaf.com",
|
||||
"wss://nostr-pr03.redscrypt.org",
|
||||
"wss://inbox.azzamo.net",
|
||||
"wss://nostrelay.memory-art.xyz",
|
||||
"wss://pay.thefockinfury.wtf/nostrrelay/1",
|
||||
"wss://premium.primal.net",
|
||||
"wss://nostr.lojong.info",
|
||||
"wss://relay.netstr.io",
|
||||
"wss://nostr-relay01.redscrypt.org:48443",
|
||||
"wss://nostr-rs-relay-ishosta.phamthanh.me",
|
||||
"wss://relay.stream.labs.h3.se",
|
||||
"wss://tollbooth.stens.dev",
|
||||
"wss://mls.akdeniz.edu.tr/nostr",
|
||||
"wss://45.135.180.104",
|
||||
"wss://relay.chakany.systems",
|
||||
"wss://relay.mwaters.net",
|
||||
"wss://kitchen.zap.cooking",
|
||||
"wss://nostr-relay.shirogaku.xyz",
|
||||
"wss://relay.arx-ccn.com",
|
||||
"wss://prod.mosavi.io/v1/ws",
|
||||
"wss://relay.fr13nd5.com",
|
||||
"wss://relay.jeffg.fyi",
|
||||
"wss://nostr.tegila.com.br",
|
||||
"wss://relay.bullishbounty.com",
|
||||
"wss://nostr.spicyz.io",
|
||||
"wss://vidono.apps.slidestr.net",
|
||||
"wss://relay04.lnfi.network",
|
||||
"wss://relay03.lnfi.network",
|
||||
"wss://communities.nos.social",
|
||||
"wss://relay.evanverma.com",
|
||||
"wss://nostrelay.circum.space",
|
||||
"wss://wot.brightbolt.net",
|
||||
"wss://relayrs.notoshi.win",
|
||||
"wss://fenrir-s.notoshi.win",
|
||||
"wss://relay.nsnip.io",
|
||||
"wss://x.kojira.io",
|
||||
"wss://jskitty.cat/nostr",
|
||||
"wss://relay.hasenpfeffr.com",
|
||||
"wss://nostr.rtvslawenia.com",
|
||||
"wss://relay01.lnfi.network",
|
||||
"wss://relay.g1sms.fr",
|
||||
"wss://nostr.kalf.org",
|
||||
"wss://nostr.rblb.it",
|
||||
"wss://nostr.4rs.nl",
|
||||
"wss://relay.copylaradio.com",
|
||||
"wss://relay-rpi.edufeed.org",
|
||||
"wss://nostr.hoppe-relay.it.com",
|
||||
"wss://relay.ru.ac.th",
|
||||
"wss://relay.vrtmrz.net",
|
||||
"wss://playground.nostrcheck.me/relay",
|
||||
"wss://relay.bitcoinartclock.com",
|
||||
"wss://relay.etch.social",
|
||||
"wss://nostr.commonshub.brussels",
|
||||
"wss://wot.downisontheup.ca",
|
||||
"wss://nostr.coincards.com",
|
||||
"wss://relay.mess.ch",
|
||||
"wss://relay.holzeis.me",
|
||||
"wss://nostr.thaliyal.com",
|
||||
"wss://relay-admin.thaliyal.com",
|
||||
"wss://strfry.felixzieger.de",
|
||||
"wss://nostr.smut.cloud",
|
||||
"wss://r.bitcoinhold.net",
|
||||
"wss://nostr.blankfors.se",
|
||||
"wss://portal-relay.pareto.space",
|
||||
"wss://relay.getsafebox.app",
|
||||
"wss://relay.anzenkodo.workers.dev",
|
||||
"wss://relay.nostrhub.tech",
|
||||
"wss://wot.geektank.ai",
|
||||
"wss://nostr.prl.plus",
|
||||
"wss://nostr-2.21crypto.ch",
|
||||
"wss://relayone.geektank.ai",
|
||||
"wss://nostr.zenon.network",
|
||||
"wss://nostr-relay.amethyst.name",
|
||||
"wss://fanfares.nostr1.com",
|
||||
"wss://relay-dev.satlantis.io",
|
||||
"wss://inbox.relays.land",
|
||||
"wss://relay.siamdev.cc",
|
||||
"wss://wot.soundhsa.com",
|
||||
"wss://relay.nosto.re",
|
||||
"wss://nostr.n7ekb.net",
|
||||
"wss://relayone.soundhsa.com",
|
||||
"wss://relay.puresignal.news",
|
||||
"wss://nostr.now",
|
||||
"wss://relay.nostx.io",
|
||||
"wss://relay.artiostr.ch",
|
||||
"wss://relay.oldenburg.cool",
|
||||
"wss://straycat.brainstorm.social/relay",
|
||||
"wss://community.soundhsa.com/relay",
|
||||
"wss://theoutpost.life",
|
||||
"wss://relay.h3x4.com",
|
||||
"wss://khatru.nostrver.se",
|
||||
"wss://relay.wavefunc.live",
|
||||
"wss://nostr-relay.zimage.com",
|
||||
"wss://relay.javi.space",
|
||||
"wss://bostr.shop",
|
||||
"wss://relay.letsfo.com",
|
||||
"wss://alien.macneilmediagroup.com",
|
||||
"wss://rn1.sotiras.org",
|
||||
"wss://gnostr.com",
|
||||
"wss://relay.hivetalk.org",
|
||||
"wss://relay.conduit.market",
|
||||
"wss://nostr.l484.com",
|
||||
"wss://relay.chorus.community",
|
||||
"wss://relay.jmoose.rocks",
|
||||
"wss://nostr-relay.moe.gift",
|
||||
"wss://temp.iris.to",
|
||||
"wss://relay.ngengine.org",
|
||||
"wss://relay.nostrcal.com",
|
||||
"wss://nostr.rohoss.com",
|
||||
"wss://nostr-relay-1.trustlessenterprise.com",
|
||||
"wss://librerelay.aaroniumii.com",
|
||||
"wss://relay.barine.co",
|
||||
"wss://wot.nostr.place",
|
||||
"wss://nostr.stpaul.net.br:8443",
|
||||
"wss://relay.utxo.farm",
|
||||
"wss://solife.me/nostrrelay/1",
|
||||
"wss://relay.toastr.net",
|
||||
"wss://nostr.excentered.com",
|
||||
"wss://relay.mccormick.cx",
|
||||
"wss://relay.laantungir.net",
|
||||
"wss://relay.cypherflow.ai",
|
||||
"wss://nostr.veladan.dev",
|
||||
"wss://nostr.tadryanom.me",
|
||||
"wss://ln.rblb.it/nostrrelay/nostr-ads-test-relay",
|
||||
"wss://nostr-relay.online",
|
||||
"wss://nostr.night7.space",
|
||||
"wss://dev-nostr.bityacht.io"
|
||||
]
|
||||
}
|
||||
@@ -7,9 +7,7 @@ if [ "$#" -ne 1 ]; then
|
||||
fi
|
||||
|
||||
output_file="$1"
|
||||
if [ ! -f "$output_file" ] || [ ! -s "$output_file" ]; then
|
||||
echo "Relay URL,Latitude,Longitude" > "$output_file"
|
||||
fi
|
||||
echo "Relay URL,Latitude,Longitude" > "$output_file"
|
||||
|
||||
while IFS= read -r url; do
|
||||
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
websockets>=11.0.0
|
||||
websockets>=12.0
|
||||
|
||||
Reference in New Issue
Block a user