بدون توضیح

Rod Hynes 7fdf25b60b Merge pull request #554 from rod-hynes/master 5 سال پیش
ClientLibrary 5ad683aab8 Update documentation 5 سال پیش
ConsoleClient 5ad683aab8 Update documentation 5 سال پیش
MobileLibrary 5ad683aab8 Update documentation 5 سال پیش
Server 5ad683aab8 Update documentation 5 سال پیش
contributors be51a98b62 Sign CLA 7 سال پیش
psiphon ef46b8de3c Make intentional non-error code paths more explicit 5 سال پیش
vendor 2d3a38fbd2 Update vendored utls 5 سال پیش
.gitignore 7f591512c3 Update C measurement lib and add example 7 سال پیش
.travis.yml 87a0f469f6 Remove "go get" step from build scripts 6 سال پیش
CLA-entity.md 39d02d38f5 Fix Contributor License Agreement 10 سال پیش
CLA-individual.md 39d02d38f5 Fix Contributor License Agreement 10 سال پیش
CONTRIBUTING.md ac381d0f93 Added Contributor License Agreement 10 سال پیش
LICENSE 878ccd5658 initial version 11 سال پیش
README.md 8526e5141d Update README.md 5 سال پیش

README.md

Build Status Coverage Status

Psiphon Tunnel Core README

Overview

Psiphon is an Internet censorship circumvention system.

The tunnel core project includes tunneling clients and a server, which together implement all aspects of evading blocking and relaying traffic through Psiphon.

All Psiphon open source projects, including the complete open source code for Android, iOS, and Windows clients may be found at www.github.com/Psiphon-Inc/psiphon.

For more information about Psiphon Inc., please visit our web site at www.psiphon.ca.

psiphon-tunnel-core
  └── ClientLibrary  General client libraries
  └── ConsoleClient  CLI client program
  └── MobileLibrary  Android/iOS client libraries
  └── Server         Server program
  └── psiphon        Client code package
    └── common\...   Common code packages
    └── server       Server code package

Running Psiphon

Get the programs

Official binaries are avaiable at:

For these instructions, use:

Generate configuration data

Run the "generate" mode of psiphond to generate configs, setting the IP address as appropriate; this is the address the client will use to connect to the server.

$ ./psiphond -ipaddress 127.0.0.1 -protocol OSSH:9999 -protocol generate

$ ls
psiphond
psiphond.config
psiphond-osl.config
psiphond-tactics.config
psiphond-traffic-rules.config
server-entry.dat

Create a client config file, copying the contents of server-entry.dat to the TargetServerEntry field.

$ cat server-entry.dat 
3132372e302e302e31202020207b22746167223a22222c2269[...]

$ cat client.config
{
    "LocalHttpProxyPort" : 8080,
    "LocalSocksProxyPort" : 1080,

    "PropagationChannelId" : "24BCA4EE20BEB92C",
    "SponsorId" : "721AE60D76700F5A",

    "TargetServerEntry" : "3132372e302e302e31202020207b22746167223a22222c2269[...]"
}

Run psiphond

$ ./psiphond run
{"localAddress":"127.0.0.1:9999","msg":"listening","tunnelProtocol":"OSSH",[...]}
{"localAddress":"127.0.0.1:9999","msg":"running","tunnelProtocol":"OSSH",[...]}
[...]

Run the console client

$ ./ConsoleClient -config ./client.config
{"data":{"port":1080},"noticeType":"ListeningSocksProxyPort",[...]}
{"data":{"port":8080},"noticeType":"ListeningHttpProxyPort",[...]}
[...]
{"data":{"count":1},"noticeType":"Tunnels",[...]}

Tunnel traffic through Psiphon

Use the local SOCKS proxy (port 1080) or HTTP proxy (port 8080) to tunnel traffic.

Acknowledgements

Psiphon Tunnel Core uses: