You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Vasile Popescu ddc80b3074 Few minor modifications to Dockerfile 7 months ago
doc Add the example proxy_log_format to nginx.conf 3 years ago
static Initial commit 4 years ago
vendor Initial commit 4 years ago
.gitignore Initial commit 4 years ago
.travis.yml Add a .travis.yml file to build the docker image 4 years ago
Dockerfile Few minor modifications to Dockerfile 7 months ago
LICENSE Add a licence file 4 years ago
README.md Add an nginx config snippet 4 years ago
go.mod Initial commit 4 years ago
go.sum Initial commit 4 years ago
gobindata.go Initial commit 4 years ago
journal.org Initial commit 4 years ago
main.go Initial commit 4 years ago
server.go Initial commit 4 years ago

README.md

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.