# send
cat file | nc -l -p 8888
# receive
nc IP-OF-SENDER 8888 > file
this works as long as both computers are connected to the same network, for example the internet # send
cat file | nc -l -p 8888
# receive
nc IP-OF-SENDER 8888 > file
this works as long as both computers are connected to the same network, for example the internet python -m http.server
Which tends to be my go-to solution for file transfer between devices, it shares the current directory over HTTP. Not perfect, since HTTP makes downloading directories rather cumbersome, but at least every device that can open a website can download stuff.The median user controls 0 public IPv4 addresses.
But many of the solutions mentioned in the article and comments will effectively use some "third place" to link the two devices, e.g. how magic wormhole does that.
https://github.com/nwtgck/piping-server
https://github.com/schollz/croc
Or a NAT traversal tool:
https://github.com/shawwwn/Gole
https://github.com/samyk/pwnat
Or can just manually ncat simultaneously from both sides to proper addresses and ports, probably with the help of some public STUN server.
Note that if worst case combination of NATs doesn't allow direct connection, then by definition a relay is needed, hacker or not, it doesn't matter.
* It needs to be useable for a non-technical person
* Its flow has to be consistent across platforms
Besides having access to a terminal, netcat must be installed and hosts accessible, ports open etc. Not what is usually the case and especially not advisable when you operate on the internet level and not on protected local networks.
P.S. I love WireGuard, it's easy to set up and allows you to use protocols with no encryption (or bad proprietary encryption) securely.