Categorygithub.com/elisescu/tty-proxy
modulepackage
0.0.2
Repository: https://github.com/elisescu/tty-proxy.git
Documentation: pkg.go.dev

# README

tty-proxy

Build Status

This is the public facing service that allows tty-share command to create public sessions, in addition to local ones.

tty-proxy will listen to the address passed by the --back-address flag, and any connections to this address from tty-share will create a new session (<session-id> that will be used to proxy any requests from any url path of the form /s/<session-id>/ back over the corresponding tty-share connection. See more documentation on the tty-share project.

Note tty-proxy replaces a part of the old tty-server which has moved inside the actual tty-share command itself. Read more here

Building

Build the gobindata.go file

All files under assets/* are packed to the gobindata.go file which will be statically compiled within the final binary.

	go get github.com/go-bindata/go-bindata/...
	go-bindata --prefix static -o gobindata.go static/*

Build the final tty-proxy binary

go build

Docker

The tty-proxy can be built into a docker image as follows:

docker build -t tty-proxy .

To run the container, type:p

docker run \
  -p 3456:3456 -p 8080:8080 \
  -e URL=http://localhost:8080 \
  --cap-drop=all --rm \
  tty-proxy

where you can replace URL by whatever will be the publicly visible URL of the server.

After this, clients can be connected as follows:

tty-share --tty-proxy localhost:3456 --no-tls --public

In the above command, :3456 is the default port where tty-proxy listens for incoming back connections (i.e. tty-share clients), and 5000 is the port of the web interface through which remote users can connect. You can override the defaults by specifying a different port mapping on the command line, e.g. -p 4567:3456 -p 80:8080 to listen on 4567 and serve on 80.

nginx

Take a look at this snippet to see how I configured my nginx installation for TLS termination.

# Functions

Asset loads and returns the asset for the given name.
AssetDir returns the file names below a certain directory embedded in the file by go-bindata.
AssetInfo loads and returns the asset info for the given name.
AssetNames returns the names of the assets.
MustAsset is like Asset but panics when Asset would return an error.
RestoreAsset restores an asset under the given directory.
RestoreAssets restores an asset under the given directory recursively.

# Structs

No description provided by the author
No description provided by the author