Keine Beschreibung

Rod Hynes 4cc9af0293 Merge pull request #223 from rod-hynes/master vor 9 Jahren
AndroidLibrary bc8f1d619c Send verification payload only when new payload is set, switched newClientVerificationPayload back to buffered chan, guard against multiple re-send failures, renamed controller.SetClientVerificationPayload to controller.SetClientVerificationPayloadForActiveTunnels to reflect new functionalitya vor 9 Jahren
ConsoleClient 1b30d92d14 Common code refactoring vor 9 Jahren
SampleApps 0725f64bb5 Specify RemoteServerListDownloadFilename in Android sample app configs vor 10 Jahren
Server 0f89e07fac Remove fail2BanLogFilename vor 9 Jahren
contributors 29c17a7832 Signed CLA vor 10 Jahren
openssl 4f05313337 Updated builds to use openssl-1.0.2h. vor 9 Jahren
psiphon 6e7ff7d602 Recover from panics within udpgw input processing vor 9 Jahren
.gitignore bc5cf03b1c created docker build environment to generate the android library, updated the readme and gitignore accordingly vor 10 Jahren
.travis.yml 1b30d92d14 Common code refactoring vor 9 Jahren
CLA-entity.md 39d02d38f5 Fix Contributor License Agreement vor 10 Jahren
CLA-individual.md 39d02d38f5 Fix Contributor License Agreement vor 10 Jahren
CONTRIBUTING.md ac381d0f93 Added Contributor License Agreement vor 10 Jahren
LICENSE 878ccd5658 initial version vor 11 Jahren
README.md 8eeb4d58ab Add developer mailing list link. vor 10 Jahren

README.md

Build Status Coverage Status

Psiphon 3 Tunnel Core README

Overview

A Psiphon client component implemented in Go. This component provide core tunnel functionality, handling all aspects of connecting to Psiphon servers and relaying traffic through those servers. Local proxies provide an interface for routing traffic through the tunnel.

This component does not include a UI and does not handle capturing or routing local traffic. These major aspects are handled by other parts of Psiphon client applications.

Status

This project is in production and used as the tunneling engine in our Windows and Android clients, which are available at our Psiphon 3 repository.

Setup

Build

  • Go 1.5 (or higher) is required.
  • This project builds and runs on recent versions of Windows, Linux, and Mac OS X.
  • Note that the psiphon package is imported using the absolute path github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon; without further local configuration, go will use this version of the code and not the local copy in the repository.
  • In this repository, run go build in ConsoleClient to make the ConsoleClient binary, a console Psiphon client application.

    • Build versioning info may be configured as follows, and passed to go build in the -ldflags argument:

      BUILDDATE=$(date --iso-8601=seconds)
      BUILDREPO=$(git config --get remote.origin.url)
      BUILDREV=$(git rev-parse HEAD)
      LDFLAGS="\
      -X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon.buildDate=$BUILDDATE \
      -X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon.buildRepo=$BUILDREPO \
      -X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon.buildRev=$BUILDREV \
      "
      

Configure

  • Configuration files are standard text files containing a valid JSON object. Example:

  {
      "PropagationChannelId" : "<placeholder>",
      "SponsorId" : "<placeholder>",
      "LocalHttpProxyPort" : 8080,
      "LocalSocksProxyPort" : 1080
  }

Note: The lines <!--BEGIN-SAMPLE-CONFIG--> and <--END-SAMPLE-CONFIG--> (visible in the raw Markdown) are used by the config test. Do not remove them.

  • All config file parameters are documented here.
  • Replace each <placeholder> with a value from your Psiphon server. The Psiphon server-side stack is open source and can be found in our Psiphon 3 repository.

Run

  • Run ./ConsoleClient --config psiphon.config where psiphon.config is created as described in the Configure section above

Other Platforms

  • The project builds and runs on Android. See the AndroidLibrary README for more information about building the Go component, and the AndroidApp README for a sample Android app that uses it.

Licensing

Please see the LICENSE file.

Contacts

We maintain a developer mailing list at psiphon3-developers@googlegroups.com. For more information about Psiphon Inc., please visit our web site at www.psiphon.ca.