All Projects → benjojo → Newmarket

benjojo / Newmarket

Licence: other
Wrap a TCP connection over two HTTP connections, Previously named "RunAround"

Programming Languages

go
31211 projects - #10 most used programming language

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!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].