I tried that and it worked well, but didn't give me any functionality that Jumble doesn't. I was trying it for the outboxes implementation, and that filled my feed with garbage.

People have terrible mailboxes setup.

Reply to this note

Please Login to reply.

Discussion

Jumble fully supports the outbox model as well — that’s exactly why the performance is so bad when browsing the following feed.

Ah. I don't really use following stuff. Never tried it. I just pull in my follows on the local relay.

Great approach

When support for proxy relays? I was thinking clients could optionally support proxy relays and send the outbox hints to the proxy relay in the REQ.

And the relay could include a "relays" field in the events it responds with to show where it came from. (it could also be useful for nostr.land subrelays)

Any more technical details on this? It sounds like it could help solve connectivity issues for users in China.

Basically, it would act as a standard relay, but for each filter you add a "relays" field with a list of relays, like ["wss://hint1", "ws://hint2"] that the client thinks has the relay.

The proxy relay can then see if it can try to fulfill the request itself, try to find the events, and also consider the included hints. It then merges the results into one response.

This can be a "dumb" relay that proxies like nostr:npub1x3azxuysp5vmfer4vgs4jn5tmfcx4ew8sh0qnev7gczljxsr7jwqa3g4el's bostr2 or more advanced solutions like the Nostr.land aggregator.

In the response it would have a "relays" field per event indicating the source, for a few reasons:

- People should not associate a proxy relay's results with the relay itself unless it indicates the event from itself

(such as "nos.lol via aggr.nostr.land")

- The info can be used for future client hints

- Nostr.land currently merges multiple features into one connection, and for relays that do that it is useful to distinguish which subrelay (is it nostr.land or the inbox that may have gotten spam through, for example)

With a proxy relay, how would I send events to a specific set of relays?

I think it's more for reading and broadcasting, since it can AUTH for you.

Could add the proxy to your outboxes.

* can't

Many relays can’t be directly accessed from China. Once the outbox model becomes more common, Chinese users will have a hard time fetching the events they want. I think a proxy relay can help to some extent, but if too many people use it, it might get blocked too haha.

Proxy relays are cheap. again, Yonle’s bostr2 is a cheap to run proxy :)

It just connects to all relays blindly right now but it could support this spec easily I guess

Yes, Chinese users rely on bostr2 for now. But it won’t really work in the outbox model era.

Would it be possible to reach a proxy relay over Tor?

Tor barely works in China.

if there was a way for example, to pay for a connection through to another relay and auth could be proxied forward, nostr could replace tor for china users

i've been talking about this idea for a while but it requires a new protocol/nip

Yes, but the catch is the price can’t be too high—otherwise, why not just use a VPN haha.

yeah, i like the idea of public readable, subscribe to write, and for the relays to proactively aggregate the content of user's follows on other relays

then you just pay for one relay and except for posting DMs to you (which need to be from whitelisted users, to your paid relay, which protects their privacy with auth) all of your content is found and you can access it in one place.

with many such relays, they will dynamically aggregate relevant data for users and when one path is blocked, other paths can be found and new relays can be placed on them (which can be as simple as adding an IP address and/or domain name to access the same relay).

having tools to rapidly and simply spin up new relays and using aggregation spiders will keep the censors hopping from one thing to the next and never really stopping the leak.

Why would they? Wouldn't outbox make it easier? Yes, they may need a proxy relay still but my understanding of outbox is that the goal is that people post to the relays of their followers / people they follow. So wouldn't that mean more chinese relays get fueled with content? And if not they'd still be able to connect to their proxy relay. Most people have really big relays so those will keep getting fueled.

In simple terms, the outbox model works by posting your own events to your outbox relays and events that mention others to their inbox relays. So when you want to fetch a user’s events, you have to go to their outbox relays.

Now, imagine I follow a European user whose outbox/inbox relays I can’t connect to—how would I find their events or mention them? This is exactly the issue the outbox model faces under China’s network environment.

this is why relays should include aggregators, and the aggregators can dynamically work around blocks by always looking for more relays to search. my relay includes an aggregator with the first "follows" based whitelist mode, and the "seconddegree" mode i will make extends that to searching for follows follows and both whitelisting the users and subscribing for their events.

if all relays did this, it would defeat the great firewall because people could spin up new relays and aggregate content and bypass their whack-a-mole blacklist system. china firewall can't be a whitelist system, because it would impede business too much, so this would be an effective countermeasure.

You could add a "relays" field to the EVENT request as well.

And maybe some form to proxy AUTH.

Sounds good. Is the proxy relay already running? What’s the address?

I am planning to implement this in nostr.land. It will ignore relay hints for now since it fully scrapes relays, but I will add full proxying soon.

I should first write a spec on how it will work.

Looking forward to it!