LeastAuthority / destiny

Destiny – Cross-platform Magic Wormhole graphical client
MIT License
236 stars 13 forks source link

Allow configuration of transit and/or mailbox servers #239

Closed trymeouteh closed 1 year ago

trymeouteh commented 1 year ago

Please open source the relay node code with instructions to self host a relay node and the ability in the app to add and remove relay nodes to connect to.

meejah commented 1 year ago

Both kinds of server are already open-source; see https://github.com/magic-wormhole/magic-wormhole-mailbox-server and https://github.com/magic-wormhole/magic-wormhole-transit-relay/

trymeouteh commented 1 year ago

I guess just the ability to add mailbox servers and transit relay servers in destiny.

meejah commented 1 year ago

Both users have to use the same mailbox server -- it can still make sense to deploy multiple transit relays, though.

Another approach is to use a client that can support Tor, if your interest is to hide your network location (Destiny does not currently support Tor though).

Thanks for the interest!

(Edit: I changed the bug title, feel free to change it further ...)

trymeouteh commented 1 year ago

Adding the ability to add/remove transit and mailbox servers (Not changing the transit or mailbox servers) would be awesome.

meejah commented 1 year ago

It doesn't make sense to add a mailbox server -- all clients must use the same server (and same AppID) to successfully find each other. (That said, there are at least two public deployments: ours, and the public one run by Brian Warner -- so being able to configure this does make sense).

It could make sense to have multiple transit relays (and thus "add"-ing a transit server could make sense).

trymeouteh commented 1 year ago

If someone wants to have their own private mailbox and relay server, to be able to add/remove them in the settings. With hosting a mailbox server, it would kinda be like a private network and your friend my invite you on this private network by letting you add his mailbox server into your settings. But you can add this additional mailbox server without removing any other mailbox servers, being able to use the official mailbox server.

meejah commented 1 year ago

I guess I wasn't clear: per connection it can make sense to have several Transits configured, but each connection must decide on a single Mailbox.

So, yes, one UX treatment could let you "add" multiple Mailboxes in configuration and then choose one for each connection.

trymeouteh commented 1 year ago

yes, one UX treatment could let you "add" multiple Mailboxes in configuration and then choose one for each connection.

Yeah, exactly. This will make Destiny more decentralised.

When you add a mailbox server, having the option to put a name or label on each mailbox server in your mailbox servers settings will make things much more user friendly when choosing a mailbox server to use for a connection.

meejah commented 1 year ago

I could also see this being confusing for users: how will you communicate to your partner which mailbox server to use?

Personally, I think some sort of federation with mailbox servers is a more promising road to "decentralized". The nature of the current protocol means it can never be fully-decentralized without someone inventing a different protocol :)

Also with anonymity in general, it's often way better to have "lots of people" using the same system -- otherwise it's very easy to de-anonymize people. So, this also depends somewhat on your threat-model / use-case. That is: why are you wanting a different server?

trymeouteh commented 1 year ago

The two usecases for allowing other mailbox servers is for having a private mailbox server for your friends and as an additional option for censorship resistance in the event that the main mailbox servers bans you from connecting.

wuan commented 1 year ago

The ability to configure the mailbox and transit URLs has been added with #209. That is already available with the currently released version 1.0.3. This has been initially motivated to avoid the non-free network service anti-feature of Fdroid.

If you tap on the circled question mark in the top right corner you open a settings page which has edit buttons on the right of configurable values:

Screenshot_20230206-110711