It sure looks excellent, `aft` actually looks very similar to it with the same relay server idea. I don't know the program, but from a first glance,
it looks like it requires a relay server. While I don't think it has any major disadvantages, but needing to communicate with an external service might not be reasonable for some people. And many times you might not require a relay server at all such as transferring on a local network, or from a VPS (maybe croc can identify if its on a local network, didn't dig enough into it). Well, you can host yourself a relay server, but it does require a bit more configuration.
For users, not much since the performance is probably equal between Rust and Go. But for developers it might matter, such as forking the repository, or submitting pull requests and for other reasons they might have.
Thanks for the comment. Yes, it also does something very similar. But, Magic Wormhole requires "Mailbox Server", to deliver messages from one to another, which seems a requirement, where in aft it doesn't. It also requires both clients to be on the same "Mailbox Server" to transit messages between them. Requiring a server by default doesn't seems reasonable only to omit IP addresses.
Each program has it's unique benefits, Magic Wormhole looks great, but I do believe that aft gives you more configuration by default, and its more accessible to you.
Feedback: having to specify addresses and ports is a drag. I suggest looking at how magic wormhole does it; nobody wants to look up and type in IP addresses.
The user probably shouldn’t need to think about whether it’s in p2p mode or not.
Thanks for the feedback. Only an address is needed to be specified. There is a default port built into the source code. But, I believe in the near future I will add some kind of algorithm to extract IP addresses from phrases.
> The user probably shouldn’t need to think about whether it’s in p2p mode or not.
aft designs to be configurable, but I do believe your comment is right and something about it in the docs should be added. There is also a config file in this program, with a default `mode` property. It's not really used right now, but very soon it will be.
The only configuration you will do is choosing the mode you're gonna use (I don't even think it counts as configuration). There are a few modes, and as I said at the comment above, very soon you could choose the default mode.
Also, its OK not wanting to configure anything, but some people might find it useful. This program aims to include both types.