Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Public/Private endpoint access #24

Open
karmanyaahm opened this issue Sep 6, 2022 · 2 comments
Open

Public/Private endpoint access #24

karmanyaahm opened this issue Sep 6, 2022 · 2 comments

Comments

@karmanyaahm
Copy link
Member

karmanyaahm commented Sep 6, 2022

So, (some) Tox clients send the endpoint to a bunch of untrusted devices. This means that when the sending endpoint and subscribing endpoint are symmetric (such as with public ntfy), any one of the untrusted devices can see what any of the other devices have sent.

There are a couple of solutions:

  1. The most architecturally correct solution to me seems like treating each untrusted device as a separate instance, and having unique endpoints for them. Downside: public ntfy rate limits to 30 subscriptions per IP
  2. We could modify ntfy to have public/private topic IDs. downside: complexity in ntfy.
  3. Making a gateway for tox that maps multiple public URLs to a private URL. Downside: introduces additional points of failure and centralization.
@karmanyaahm
Copy link
Member Author

Personally, I think 1 is the best option, because it requires no code changes, only a rate limit change. Also, it keeps UnifiedPush a simple one-to-one messaging platform, and does not introduce the complexities of many-to-one.

@p1gp1g
Copy link
Member

p1gp1g commented Aug 16, 2024

I don't know if this is the right place for this issue.

Is it still relevant ? I though there were a way for ntfy to "reserve" a channel, and be sure no one else subscribe to the channel.

Also, does it mean Tox gives the same endpoint for every contacts ? It would be better it they use one endpoint per contact

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants