Sen descrición

Rod Hynes f19d2fb046 Merge pull request #553 from rod-hynes/master %!s(int64=5) %!d(string=hai) anos
ClientLibrary 5ad683aab8 Update documentation %!s(int64=5) %!d(string=hai) anos
ConsoleClient 5ad683aab8 Update documentation %!s(int64=5) %!d(string=hai) anos
MobileLibrary 5ad683aab8 Update documentation %!s(int64=5) %!d(string=hai) anos
Server 5ad683aab8 Update documentation %!s(int64=5) %!d(string=hai) anos
contributors be51a98b62 Sign CLA %!s(int64=7) %!d(string=hai) anos
psiphon 43689bdc06 Add additional guard against bypassing UpstreamProxy %!s(int64=5) %!d(string=hai) anos
vendor 7e9ef82825 Merge https://github.com/Psiphon-Labs/psiphon-tunnel-core %!s(int64=5) %!d(string=hai) anos
.gitignore 7f591512c3 Update C measurement lib and add example %!s(int64=7) %!d(string=hai) anos
.travis.yml 87a0f469f6 Remove "go get" step from build scripts %!s(int64=6) %!d(string=hai) anos
CLA-entity.md 39d02d38f5 Fix Contributor License Agreement %!s(int64=10) %!d(string=hai) anos
CLA-individual.md 39d02d38f5 Fix Contributor License Agreement %!s(int64=10) %!d(string=hai) anos
CONTRIBUTING.md ac381d0f93 Added Contributor License Agreement %!s(int64=10) %!d(string=hai) anos
LICENSE 878ccd5658 initial version %!s(int64=11) %!d(string=hai) anos
README.md 8526e5141d Update README.md %!s(int64=5) %!d(string=hai) anos

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: