Anda di halaman 1dari 7

Why GitHub?

Enterprise Explore Marketplace Pricing Search Sign in Sign up

Psiphon-Labs / psiphon-tunnel-core Watch 82 Star 461 Fork 156

Code Pull requests 0 Security Insights

Dismiss
Join GitHub today
GitHub is home to over 36 million developers working together to host and
review code, manage projects, and build software together.

Sign up

Psiphon client and server components implemented in Go. These components provides core tunnel functionality, handling all aspects of
evading blocking and relaying traffic through Psiphon.

psiphon censorship-circumvention golang

2,837 commits 4 branches 33 releases 15 contributors GPL-3.0

Branch: master New pull request Find File Clone or download

rod-hynes Update vendored bolt Latest commit b60b74e 4 days ago

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
ClientLibrary - Consistently truncate server_entry_timestamp 2 months ago

ConsoleClient Redact sensitive data from diagnostic notices 13 days ago

MobileLibrary Add x86 and x86_64 native library for Android. 5 days ago

Server Remove obsolete file (missed in 4a349c9) 3 months ago

contributors Sign CLA 9 months ago

psiphon Add tests to exercise duplicate session ID handling 6 days ago

vendor Update vendored bolt 4 days ago

.gitignore Update C measurement lib and add example last year

.travis.yml Workaround: tests expect eth0 interface 2 months ago

CLA-entity.md Fix Contributor License Agreement 3 years ago

CLA-individual.md Fix Contributor License Agreement 3 years ago

CONTRIBUTING.md Added Contributor License Agreement 3 years ago

LICENSE initial version 5 years ago

README.md Fix acknowledgements text 9 months ago

README.md

coverage 70%

Psiphon 3 Tunnel Core README

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Overview

Psiphon client and server components implemented in Go. These components provides core tunnel functionality, handling all
aspects of evading blocking and relaying traffic through Psiphon. In the client, local proxies provide an interface for routing
traffic through the tunnel.

The client 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.

Client Setup

Build
Go 1.9 (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:

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
BUILDDATE=$(date --iso-8601=seconds)
BUILDREPO=$(git config --get remote.origin.url)
BUILDREV=$(git rev-parse --short HEAD)
GOVERSION=$(go version | perl -ne '/go version (.*?) / && print $1')
DEPENDENCIES=$(echo -n "{" && go list -f '{{range $dep := .Deps}}{{printf "%s\n" $dep}}{{end}}' | x

LDFLAGS="\
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.buildDate=$BUILDDATE \
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.buildRepo=$BUILDREPO \
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.buildRev=$BUILDREV \
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.goVersion=$GOVERSION \
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.dependencies=$DEPENDENCIES \
"

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.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
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 Android Library README for more information about building the Go
component, and the Android Sample App README for a sample Android app that uses it.

Acknowledgements
Psiphon Tunnel Core uses:

Go
boltdb/bolt
patrickmn/go-cache
miekg/dns
ThomsonReutersEikon/go-ntlm
Yawning/goptlib
zach-klippenstein/goregen
creack/goselect
Sirupsen/logrus

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
grafov/m3u8
oschwald/maxminddb-golang
goarista/monotime
spacemonkeygo/openssl
kardianos/osext
mitchellh/panicwrap
juju/ratelimit
codahale/sss
marusama/semaphore
refraction-networking/utls
lucas-clemente/quic-go
cloudflare/tls-tris
Yawning/chacha20

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.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
© 2019 GitHub, Inc. Terms Privacy Security Status Help Contact GitHub Pricing API Training Blog About

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD