thispc / psiphon

A multi-functional version of a popular network circumvention tool
GNU General Public License v3.0
229 stars 59 forks source link
c docker docker-image linux network-circumvention ossh proxy proxy-server psiphon python server socks socks5 socks5-proxy ssh ubuntu

Psiphon is a circumvention tool from Psiphon Inc. that utilizes VPN, SSH and HTTP Proxy technology to provide you with uncensored access to Internet content. Your Psiphon client will automatically learn about new access points to maximize your chances of bypassing censorship.

Psiphon is designed to provide you with open access to online content. Psiphon does not increase your online privacy, and should not be considered or used as an online security tool. This is a multifunctional modified linux version of the original tool by Psiphon Inc.

Forked the pyclient from https://bitbucket.org/psiphon/psiphon-circumvention-system/

Getting Started (Linux and Mac OS X 10.11 or older) (For Mac OS X (After 10.12) and Windows, instructions are at the end of this README)

$ git clone <repo url>
$ cd psiphon

Prerequisites

Things needed to get it working.

$ sudo apt-get install python-pip

Installing

A step by step guide :

Commands:

psiphon$ python psi_client.py -h
Usage: psi_client.py [options]

Options:
  -h, --help            show this help message and exit
  -e, --expose          Expose SOCKS proxy to the network
  -t, --test-servers    Test all servers
  -r REGION, --reg=REGION
                        Regions
  -s, --show            Show available servers
  -p PORT, --port=PORT  Local Port
  -u, --update          Update Servers
  -i SID, --sid=SID     Server number
  -a, --all             Include Non OSSH servers also

Testing servers

All servers:

psiphon$ python psi_client.py -t

Region Specific:

psiphon$ python psi_client.py -t -r IN

Exposing Port

This can be used to share socks proxy created over a specific port.

Default (port 1080):

psiphon$ python psi_client.py -e

Specific (Ex- port 1234):

psiphon$ python psi_client.py -e -p 1234

For Mac OS X (After 10.12) and Windows (Docker Instructions)

You can use the docker image of the psiphon client and run psiphon on any OS.

First Time:

Get Docker https://www.docker.com
docker pull thepsiphonguys/psiphon

docker run -d -it -p 127.0.0.1:1080:1080 --name psiphon thepsiphonguys/psiphon

Subsequent runs:

docker start psiphon

docker exec -it psiphon bash

After that you will get access to the shell and can use all the psiphon commands. This method forwards all the docker's traffic on port 1080 (psiphon's default port) to the machine's 1080 port.

To stop psiphon

docker stop psiphon

PS: remember to use the -e option of psiphon otherwise it will not work

PPS: You can also use docker on linux if you do not wan't to compile your own ssh binary. Docker is system independent.

PPPS: If you do not want to use our docker image, it is totally fine. You can create your own docker image with the help of the Dockerfile. Refer to https://docs.docker.com/engine/reference/commandline/build/ for more details on how to build the docker image.

docker build -t psiphon .