Skip to content
This repository has been archived by the owner on Jun 14, 2018. It is now read-only.


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation



pipesocks yvbbrjdr powered platform license

A pipe-like SOCKS5 tunnel system.


Pipesocks is aimed at going through firewalls which are built by national force, with strong encryption and relay servers to avoid content censorship.

This software consists of 3 parts: pump, pipe, and tap. Pump is the server outside the firewall to provide Internet data for tap. Pipe is a relay server which unconditionally transfers data through pump and tap. Tap is a client running in local with SOCKS5 interface for native clients and connects to pump or pipe. Tap can also provide PAC script if you request it using HTTP GET. You can also get GFWList PAC script if you include "gfwlist" in the HTTP packet.

A pipe or a tap is valid only if:

  1. It is directly connected to the pump.


  1. It is connected to a valid pipe.
This program supports TCP and UDP.


A full tutorial in Mandarin about how to use pipesocks is located here.


Pre-compiled files for various platforms can be found here.



Download & install Qt Creator with Qt (above 5.7) and libsodium. Open the project with Qt Creator, set include path and link path and compile.

Ubuntu Server

Since most Ubuntu servers don't hold a GUI, here is the way to deploy pipesocks in them.

Type these commands in your terminal:

sudo apt-get -y install git make build-essential qt5-default qt5-qmake libtool autoconf automake
cd /tmp/
git clone
cd pipesocks/
git checkout stable
git submodule update --init --recursive
cd libsodium/
make && sudo make install
sudo cp /usr/local/lib/ /usr/lib/
cd ../pipesocks/
qmake && make
sudo cp pipesocks /usr/bin/

And you'll be able to run pipesocks.


To install libsodium, you can type these commands in your terminal:

ruby -e "$(curl -fsSL" < /dev/null 2> /dev/null
brew install libsodium


If you don't want to compile libsodium yourself, you can download the precompiled library right here.


Graphical User Interface

You can start pipesocks GUI by double-clicking the program icon or running it in the terminal, providing no arguments.

Command-Line Interface

Following are the commands to be typed in the terminal.

./pipesocks pump [-p Local Port] [-k Password]
./pipesocks pipe <-H Remote Host> [-P Remote Port] [-p Local Port]
./pipesocks tap <-H Remote Host> [-P Remote Port] [-p Local Port] [-k Password]