Multitun
Inter-platform WebSocket tunnel / VPN

Update v0.10

Summary

Multitun is a tunnel that lets you bypass firewalls that let WebSocket traffic through. It can also be used in VPN mode, allowing you to connect several multitun clients together.

Introduction

Tunnel everything over a harmless looking WebSocket!

Multitun tunnels IPv4 over a WebSocket (RFC 6455), allowing bulk tunneling through one connection on, for example, port 80. One use for this is to bypass strict firewalls. Firewalls that allow web and HTML5 are assumed to allow WebSockets as well, and multitun traffic quietly slips past systems that do things like deep-packet inspection to find conventional tunnels (e.g. ssh tunnel over port 80).

Multiple users can access the server at a time, and can see each other if you want (effectively creating a covert VPN over WebSockets.) See how in 'Examples' below.

Only users with valid passwords can use the tunnel. Multitun may be used in conjunction with other common tools to enable port forwarding and masquerading (see the Examples section below), and thus route arbitrary or all client traffic through the Multitun server.

Multitun provides a simple web server to serve HTML to connecting clients that don't know about or aren't using the WebSocket tunnel.

Installation

Usage

Configuration

[all] serv_addr = 192.168.2.1 serv_port = 80 ws_loc = mt tun_nm = 255.255.255.0 tun_mtu = 1500 logfile = /var/log/multitun [server] tun_dev = tun1 tun_addr = 10.10.0.1 p2paddr = 10.10.0.2 webdir = ./html users = {'10.10.0.2': 'pass1', '10.10.0.3': 'pass2', '10.10.0.4': 'pass3'} [client] tun_dev = tun0 tun_addr = 10.10.0.2 password = pass1

Examples

Code

http://github.com/covertcodes/multitun