Wrap a TCP connection over two HTTP connections, Previously named "RunAround"
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
server
.gitignore
README.md

README.md

Newmarket

Wrap a TCP connection over two HTTP connections like so:

To a firewall the two connections looks like two (correctly formatted) HTTP connections that are slowly POSTing and GETing data from a HTTP url.

##Setup Make sure you have GoLang 1.1 or above installed then clone the git.

###Server First go into the server directory cd server

Fetch the things that are needed to run this first:

go get

then build it

go build

You can then run it, If you want to change the port that it listens on, set the PORT env var by doing (in a normal bash shell) export port=80

then run the server program

./server

###Client

First go into the server directory cd client

Fetch the things that are needed to run this first:

go get

then build it

go build

Then you can look into the usage of the client by running ./client --help or client.exe --help

You will get this in return

NAME:
   Newmarket Client - A Client to the Newmarket HTTP Tunnel server

USAGE:
   Newmarket Client [global options] command [command options] [arguments...]

VERSION:
   0.9

COMMANDS:
   help, h      Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --url, -u 'http://localhost:3000'    the URL of the Newmarket server
   --port, -p '3001'                    The port you want to listen on
   --version, -v                        print the version
   --help, -h                           show help

The two things you will want to change here is the --url var to point to your remote server that you will be tunneling to.

Example usage is

client --url http://test.example.com

then connect on the forwarded port (default is 3001)

ssh -p 3001 localhost

Auth like normal and now you are inside your remote server!