Live data from Hacker News

Magic-Wormhole – Get things from one computer to another, safely

github.com

81–90 of 192 posts

Re: Magic-Wormhole – Get things from one computer to another, safely

#81
post #68
post #60

> Copying files with ssh/scp is fine, but requires previous arrangements and an account on the target machine, and how do you bootstrap the account?~ Assuming that you have openssh and rssh installed, you bootstrap like this: useradd -m -g users -s /usr/bin/rssh tmp passwd tmp edit /etc/rssh.conf and uncomment allowscp Share the password with the party you want to exchange data with. Make sure your ports are open. Se…

> you bootstrap like this Ah, yes. oh come on please it's easy just /etc/init.apt-get/frob-set-conf --arc=0 - +/lib/syn.${SETDCONPATH}.so.4.2 even my grandma can do that

I would like to highlight the quality of the satire in your comment.

Re: Magic-Wormhole – Get things from one computer to another, safely

#82

Cool. Does the data transit the server, or does it do NAT / UPNP type stuff for direct comms after the initial rendezvous?

The two sides exchange IP addresses (inside the encrypted channel), and try to connect to all of them. If that fails to produce a successful handshake, they fall back to a "Transit Relay Server" that I run. So they'll manage a direct connection if one of the machines has a public IP address, or if they're both on the same LAN. I'm hoping to add NAT/UPnP support, but it's not there yet.. still looking for an easy libr…

What happens when your transit server's bandwidth bill gets out of hand because someone is transferring a few TB of data to their backup host? (see article a few days back about someone griping about their 13 TB backups on Backblaze if you aren't sure this is a real thing)

Re: Magic-Wormhole – Get things from one computer to another, safely

#83
post #74

Earlier quoted context omitted.

Okay. Step 1. Open ports on your router. It's your job to figure out which ports those may be. Step 2. Redirect said ports to the box in question, hopefully you'll know the ip address that was assigned by your home router's DHCP Step 3. Make sure rssh is installed. Step 4. If rssh is not installed, please simply follow the simple instructions to get it installed for your system. Step 4a. If it's a mac, use brew. Type…

Instead you get to pip install. But pip isn't installed. easy-install pip? What's easy-install - it's not there? (brew|yum|apt-get) disttools. Forget this... download get_pip.py, run python get_pip.py... Some error about libsodium now? Where do I get gcc for Windows 10 again? Python's greatest weakness is its packaging and distribution, and this project makes no effort to make it simple.

On the mac, you can:

brew install magic-wormhole [1]

And that covers 90% of the people that care. Granted I think you're right that software packaging and distribution is still generally broken in 2017, but that's a problem across the board. It's a problem with java, node.js, python, etc.

[1] https://github.com/warner/magic-wormhole

Re: Magic-Wormhole – Get things from one computer to another, safely

#84

Earlier quoted context omitted.

If I did things right, the rendezvous server shouldn't get any advantage over a network attacker: one guess per invocation of the program, 1-out-of-65536 chance of getting it right, 65535-out-of-65536 chance of giving you a WrongPasswordError. FWIW, there's also a --verify option, which causes the program to print out a hex hash of the session key, and wait for you to approve it before sending anything. Not as ergono…

Call me a nerdy hipster, but I prefer my 1-in-2^256 chance with AES encryption. Then I can put it, well, anywhere. Including a thumb drive, google drive, S3, email, or even some random public newsgroup. I realize this complicates things a touch - you need a program to encrypt and decrypt the file - but that seems much more secure.

[deleted]

Re: Magic-Wormhole – Get things from one computer to another, safely

#85
post #75

I would highly recommend looking into this (seemingly-obscure) technique for NAT hole punching: https://samy.pl/pwnat/ It would allow for a "magic wormhole"-style system without the need for a MITM (trusted or otherwise).

How likely is it that something like that trick makes IDS go crazy?

Probably moderate with this specific technique, but I imagine you could use some simpler method where each end of the transfer is willing to share their public IP. This would reduce the problem to UDP hole punching/scanning across some pre-defined port range and then running whatever traffic you need through that pipe. I feel like this would look less "suspicious" to an IDS than crafting odd-looking ICMP packets.

Re: Magic-Wormhole – Get things from one computer to another, safely

#86

Earlier quoted context omitted.

The two sides exchange IP addresses (inside the encrypted channel), and try to connect to all of them. If that fails to produce a successful handshake, they fall back to a "Transit Relay Server" that I run. So they'll manage a direct connection if one of the machines has a public IP address, or if they're both on the same LAN. I'm hoping to add NAT/UPnP support, but it's not there yet.. still looking for an easy libr…

What happens when your transit server's bandwidth bill gets out of hand because someone is transferring a few TB of data to their backup host? (see article a few days back about someone griping about their 13 TB backups on Backblaze if you aren't sure this is a real thing)

He will probably shut it down. The server is in the source code.

Re: Magic-Wormhole – Get things from one computer to another, safely

#88

Earlier quoted context omitted.

The two sides exchange IP addresses (inside the encrypted channel), and try to connect to all of them. If that fails to produce a successful handshake, they fall back to a "Transit Relay Server" that I run. So they'll manage a direct connection if one of the machines has a public IP address, or if they're both on the same LAN. I'm hoping to add NAT/UPnP support, but it's not there yet.. still looking for an easy libr…

What happens when your transit server's bandwidth bill gets out of hand because someone is transferring a few TB of data to their backup host? (see article a few days back about someone griping about their 13 TB backups on Backblaze if you aren't sure this is a real thing)

[deleted]

Re: Magic-Wormhole – Get things from one computer to another, safely

#89
post #74
post #60

> Copying files with ssh/scp is fine, but requires previous arrangements and an account on the target machine, and how do you bootstrap the account?~ Assuming that you have openssh and rssh installed, you bootstrap like this: useradd -m -g users -s /usr/bin/rssh tmp passwd tmp edit /etc/rssh.conf and uncomment allowscp Share the password with the party you want to exchange data with. Make sure your ports are open. Se…

Okay. Step 1. Open ports on your router. It's your job to figure out which ports those may be. Step 2. Redirect said ports to the box in question, hopefully you'll know the ip address that was assigned by your home router's DHCP Step 3. Make sure rssh is installed. Step 4. If rssh is not installed, please simply follow the simple instructions to get it installed for your system. Step 4a. If it's a mac, use brew. Type…

UPnP could have helped with the router bits and dynamic DNS could help with the internal/external bits. https://upnp-portmapper.sourceforge.io is fun but UPnP isn't enabled everywhere reliably, and explaining how to do that + ensure it's working is probably only going to work for someone who would know what homebrew is.

AirDrop is cool in theory but works about 20% of the time for me. In 2017, the best way to send someone a large file is still to upload it somewhere then give them the link to it. https://getdropsha.re and similar stuff makes that easy enough that your non-technical relatives can use it successfully.

Post reply on HN