TCP/IP / UDP/IP connection proxy


0. Contents

   1. Purpose
   2. Overview
   3. Usage
   4. Copying
   5. To do
   6. Requirements
   7. Downloading

1. Purpose

Are you behind a disturbing firewall, that does not allow you to run any public services for the Internet?

Do you have access to a non-firewalled computer somewhere? Can you connect to it with ssh? If you can, connproxy will solve the rest of your problems.

2. Overview

connproxy consists of two programs: connmaster and connbeacon. Connmaster is run on your computer, and connbeacon is run on the non-firewalled computer. The programs will talk to each others, and connbeacon starts receiving connections. The connection between connbeacon and connmaster will work as a wormhole which makes the Internet behind your firewall able to reach your computer.

3. Usage

Example of use:
twinpipe "connmaster -t6667:22" "ssh 10.104.2.2 connbeacon"
(Tunnels tcp port 6667 of 10.104.2.2 to local 22)

(Note you could also do this with ssh alone without connproxy:
ssh -R6667:localhost:22 10.104.2.2)

But -- you can not forward UDP ports with ssh:
twinpipe "connmaster -u4665" "ssh 10.104.2.2 connbeacon"

You will also need the twinpipe program, which connects the stdins and stdouts of the master and beacon program together.
A working version of twinpipe is included in the package, so you don't need a separate download.

Note that you do not actually need ssh. Any way you can make the beacon and master communicate with each other (one's stdin becomes other's stdout) will work.

You can masquerade multiple tcp and udp ports with just the one wormhole.

tcp-to-udp or udp-to-tcp conversions are theoretically possible, but not implemented due to unapplicability.

4. Copying

connproxy has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

5. To do

  • Anything-over-http support (http is usually the least firewalled service)
  • Implicit connection
  • Manual pages
  • Invent a way to not lose the information about connectee (kernel-level stuff, sorry)
  • Gatewaying of outgoing connections also (eeh, this is ppp/vpn stuff already)
  • Intense testing of udp forwarding. It has actually not been tested yet.
  • Invent something wise to replace the thousand FIXME-comments in system call error checking.

6. Requirements

connproxy has been written in C++.
GNU make is required.
The poll system call is also required. This may or may not cause problems on *BSD systems.
connproxy compiles without warnings at least on g++ versions 2.95.2, 3.0.1 and 3.0.3 in Linux.
The protocol and structure of connproxy are system independent. The master and beacon ends of the wormhole don't need to have the same operating system or hardware architechture.

7. Downloading

Downloading help

  • Do not download everything - you only need one file (newest version for your platform)!
  • Do not use download accelerators or you will be banned from this server before your download is complete!

Date (Y-md-Hi) acc        Size Name                
2002-0813-1358 r--       34181 connproxy-0.3.13.tar.bz2
2002-0813-1358 r--        9716 patch-connproxy-0.3.12-0.3.13.bz2
2002-0501-2247 r--       30789 connproxy-0.3.12.tar.bz2
2002-0501-2247 r--        5298 patch-connproxy-0.3.11-0.3.12.bz2
2002-0225-0237 r--       32979 connproxy-0.3.11.rar
2002-0225-0237 r--       30534 connproxy-0.3.11.tar.bz2
2002-0225-0236 r--       59675 connproxy-0.3.11.zip
2002-0225-0237 r--        2702 patch-connproxy-0.3.10-0.3.11.bz2
2002-0212-1554 r--       32356 connproxy-0.3.10.rar
2002-0212-1554 r--       30133 connproxy-0.3.10.tar.bz2
2002-0212-1554 r--        8302 patch-connproxy-0.3.9-0.3.10.bz2
2002-0212-1103 r--       31267 connproxy-0.3.9.rar
2002-0212-1103 r--       29114 connproxy-0.3.9.tar.bz2
2002-0212-1103 r--         389 patch-connproxy-0.3.8-0.3.9.bz2
2002-0212-1030 r--       31271 connproxy-0.3.8.rar
2002-0212-1030 r--       29062 connproxy-0.3.8.tar.bz2
2002-0212-1030 r--         605 patch-connproxy-0.3.7-0.3.8.bz2
2002-0212-1024 r--       31402 connproxy-0.3.7.rar
2002-0212-1024 r--       29079 connproxy-0.3.7.tar.bz2
2002-0212-1024 r--         559 patch-connproxy-0.3.6-0.3.7.bz2
2002-0212-1019 r--       31291 connproxy-0.3.6.rar
2002-0212-1019 r--       29148 connproxy-0.3.6.tar.bz2
2002-0212-1019 r--        1187 patch-connproxy-0.3.5-0.3.6.bz2
2002-0212-1010 r--       31379 connproxy-0.3.5.rar
2002-0212-1010 r--       29095 connproxy-0.3.5.tar.bz2
2002-0212-1010 r--         592 patch-connproxy-0.3.4-0.3.5.bz2
2002-0212-1003 r--       31189 connproxy-0.3.4.rar
2002-0212-1003 r--       28917 connproxy-0.3.4.tar.bz2
2002-0212-1003 r--        1756 patch-connproxy-0.3.3-0.3.4.bz2
2002-0212-0925 r--       30722 connproxy-0.3.3.rar
2002-0212-0925 r--       28568 connproxy-0.3.3.tar.bz2
2002-0212-0925 r--        1144 patch-connproxy-0.3.2-0.3.3.bz2
2002-0212-0912 r--       30590 connproxy-0.3.2.rar
2002-0212-0912 r--       28383 connproxy-0.3.2.tar.bz2
2002-0212-0912 r--         536 patch-connproxy-0.3.1-0.3.2.bz2
2002-0212-0908 r--       30567 connproxy-0.3.1.rar
2002-0212-0908 r--       28345 connproxy-0.3.1.tar.bz2
2002-0212-0908 r--       21514 patch-connproxy-0.2.0-0.3.1.bz2
2002-0212-0843 r--       15038 connproxy-0.2.0.rar
2002-0212-0843 r--       14023 connproxy-0.2.0.tar.bz2
2002-0212-0843 r--        7605 patch-connproxy-0.1.0-0.2.0.bz2
2002-0212-0515 r--       13168 connproxy-0.1.0.rar
2002-0212-0515 r--       12245 connproxy-0.1.0.tar.bz2
2002-0212-0515 r--        7998 patch-connproxy-0.0.1-0.1.0.bz2
2002-0210-0444 r--        7953 connproxy-0.0.1.rar
2002-0210-0444 r--        7896 connproxy-0.0.1.tar.bz2
2002-0210-0444 r--        4957 patch-connproxy-0.0.0-0.0.1.bz2
2002-0210-0411 r--        7287 connproxy-0.0.0.rar
2002-0210-0411 r--        7454 connproxy-0.0.0.tar.bz2
Back to the source directory index at Bisqwit's homepage