Нет описания

Rod Hynes f19d2fb046 Merge pull request #553 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 43689bdc06 Add additional guard against bypassing UpstreamProxy 5 лет назад
vendor 7e9ef82825 Merge https://github.com/Psiphon-Labs/psiphon-tunnel-core 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: