ptpt52 / natcap

A code very difficult to read, an implementation of transparent proxy protocol to break through the firewall.
GNU Affero General Public License v3.0
81 stars 34 forks source link

natcap

A code very difficult to read, an implementation of transparent proxy protocol to break through the firewall.

TCP flow establishing connection

Image of TCP flow establishing connection

How router works

https://github.com/ptpt52/natcap/blob/master/docs/multi_conn.pdf

TCP encode headers

https://github.com/ptpt52/natcap/blob/master/docs/natcap_tcp_type1.pdf https://github.com/ptpt52/natcap/blob/master/docs/natcap_tcp_type2.pdf https://github.com/ptpt52/natcap/blob/master/docs/natcap_tcp_type3.pdf

Install on Ubuntu

Install essential packages

sudo apt-get install build-essential ipset libev-dev
sudo apt-get build-dep linux-image-`uname -r`
sudo apt-get install lua5.1 lua-cjson lua-bitop ipcalc

Get the source code

git clone https://github.com/ptpt52/natcap.git

Build and run as client

cd natcap
make && make -C natcapd
#edit client.sh change server line
sudo ./client.sh

Build and run as server

cd natcap
make && make -C natcapd
sudo ./server.sh

License

Copyright: 2012, Chen Minqiang <ptpt52@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Donate

Buy me a beer!

BITCOIN ADDR: 3CJ5VwxL8ageKpA3jJ561rvhkFW4FmZiqc