ssh-tunnel-over-nginx

Description

Set up a self-hosted service similar to ngrok.

A Nginx web server (with valid Letsencrypt https certificate) proxies content from your local machine, after you established an ssh-tunnel. You can use your own domain name(s), all you need is a virtual server somewhere on the internet.

To connect to the service, use:

ssh -N -T -R <ssh_port>:localhost:<your_local_application_port> [server_user@]<server_domain>

Then, you (or anyone else) can connect with a browser on 'https://server_domain'.

Resources

Variables

Name Type Default Description

server_admin

string --

The server admin email (used for the Letsencrypt cert request). Required

hostname

string localhost

The domain name the webserver should listen on.

ssh_port

integer 3333

The port nginx should connect to (on the server).

Command-line

frecklecute --community ssh-tunnel-over-nginx --help

Usage: frecklecute ssh-tunnel-over-nginx [OPTIONS]

  Set up a self-hosted service similar to ngrok.

  A Nginx web server (with valid Letsencrypt https certificate) proxies
  content from your local machine, after you established an ssh-tunnel. You
  can use your own domain name(s), all you need is a virtual server
  somewhere on the internet.

  To connect to the service, use:

      ssh -N -T -R <ssh_port>:localhost:<your_local_application_port>
      [server_user@]<server_domain>

  Then, you (or anyone else) can connect with a browser on
  'https://server_domain'.

Options:
  --server-admin EMAIL  The server admin email (used for the Letsencrypt cert
                        request).  [required]
  --hostname HOSTNAME   The domain name the webserver should listen on.
                        [default: localhost]
  --ssh-port SSH_PORT   The port nginx should connect to (on the server).
                        [default: 3333]
  --help                Show this message and exit.