ssh srv.us: your HTTP service(s) on the Internet

Expose your local HTTP service(s) over HTTPS on the Internet.

Nothing to install. No accounts. Stable URLs. Developed in the open.

Any SSH key works, but one is needed. Create it with ssh-keygen -t ed25519.

Demo

Setup:

$ ssh srv.us
Usage: ssh srv.us -R 1:localhost:3000 -R 2:192.168.0.1:80 …
$ ssh srv.us -R 1:localhost:3000 -R 2:192.168.0.1:80
1: https://qp556ma755ktlag5b2xyt334ae.srv.us/
2: https://z2tdoto6u3mddntra45qkm45ci.srv.us/

Test:

$ printf 'HTTP/1.1 200 OK\r\n\r\nHello!\n' | nc -l 3000 > /dev/null &
$ curl https://qp556ma755ktlag5b2xyt334ae.srv.us/
Hello!

Design

The provided URLs are stable for a given SSH key and number (1 and 2 in examples).

When there are multiple connections for a URL, load is spread across them.

That’s it?

There are a lot of alternatives.

As with ident.me, I hope you enjoy this take on a simple and common problem.

That’s it.

GitHub

View Github