Live data from Hacker News

Show HN: An SSH based utility to transfer pipes across machines – beam

github.com

1–10 of 32 posts

Show HN: An SSH based utility to transfer pipes across machines – beam

#1
Hey HN,

At work, I was annoyed about having to download logs by writing them out to files and transferring them over to my local over HTTP (admittedly, this is because of a rather novel architectural situation).

So, I built a tool in Go that lets you pipe contents into an SSH server for sending and reading them out on another connection. You can also use this tool to transfer files. Just cat the file on the sender end and redirect the output of the receiver end to a file.

Please note that the transfer rate is heavily dependent on your connection and proximity to the public ssh.beam.camp host. This is because there is no simple way to auto connect to the closest host using a regular SSH client.

Hope you find beam useful. Have a nice weekend.

Show HN: An SSH based utility to transfer pipes across machines – beam
github.com

Re: Show HN: An SSH based utility to transfer pipes across machines – beam

#3
post #2

After reading the readme I’m confused what the advantage is over just regular piping. ‘’’ command-on-server1 | ssh user@server2 'command-on-server2' ‘’’

The remote ssh server used in the demo seems to be a proxy service so apparently it's for cases where you can't ssh in to your example's server2.

Re: Show HN: An SSH based utility to transfer pipes across machines – beam

#6
post #2

After reading the readme I’m confused what the advantage is over just regular piping. ‘’’ command-on-server1 | ssh user@server2 'command-on-server2' ‘’’

Beam lets you do what you described even when both the machines are isolated and not reachable from one another. All you need is ssh clients on both the machines.

Re: Show HN: An SSH based utility to transfer pipes across machines – beam

#7
post #6
post #2

After reading the readme I’m confused what the advantage is over just regular piping. ‘’’ command-on-server1 | ssh user@server2 'command-on-server2' ‘’’

Beam lets you do what you described even when both the machines are isolated and not reachable from one another. All you need is ssh clients on both the machines.

That’s not clear in the readme. It might be worth explicating stating that this uses the SSH protocol but is designed to work on hosts that either dont have OpenSSH enabled or environments where you don’t control the OpenSSH config.

Given the current readme, I was left wondering the same as the GP too.

Re: Show HN: An SSH based utility to transfer pipes across machines – beam

#8
post #2

After reading the readme I’m confused what the advantage is over just regular piping. ‘’’ command-on-server1 | ssh user@server2 'command-on-server2' ‘’’

I think a fully equivalent would be to use socat

On Receiving Server

    ssh user@proxy socat UNIX-RECVFROM:/tmp/foobar -
And then on sending server

    ./foobar | ssh user@proxy socat - UNIX-SENDTO:/tmp/foobar
Post reply on HN