Psiphon is an Internet censorship circumvention system which used by a lot of users around the world, but unfortunately, there are no official binary for Linux systems yet. However, we can still compile it and make it works on Linux.

My first attempt to run Psiphon on Linux was to use wine, but it doesn’t work due to the new design(or something else).

Fortunately, Psiphon is an open-source software and you can download the source code from Github.

The core part of Psiphon is psiphon-tunnel-core, written in Go.

Prepare:

You need Golang compiler and Git, so install them.

[yandere@moe golang]$ sudo pacman -S go git

set the GOPATH

[yandere@moe golang]$ export GOPATH=~/golang

set necessary variables

[yandere@moe golang]$ 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}}' | xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}' | xargs -I pkg bash -c 'cd $GOPATH/src/pkg && echo -n "\"pkg\":\"$(git rev-parse --short HEAD)\","' | sed 's/,$/}/')
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 \go build
-X github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/common.buildgo 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 \
"

Build:

get necessary files

[yandere@moe golang]$ go get

build

[yandere@moe golang]$ go build

Configuring:

create a configure file called config.json and write

{
"LocalHttpProxyPort":8081,
"LocalSocksProxyPort":1081,
"PropagationChannelId":"FFFFFFFFFFFFFFFF",
"RemoteServerListDownloadFilename":"remote_server_list",
"RemoteServerListSignaturePublicKey":"MIICIDANBgkqhkiG9w0BAQEFAAOCAg0AMIICCAKCAgEAt7Ls+/39r+T6zNW7GiVpJfzq/xvL9SBH5rIFnk0RXYEYavax3WS6HOD35eTAqn8AniOwiH+DOkvgSKF2caqk/y1dfq47Pdymtwzp9ikpB1C5OfAysXzBiwVJlCdajBKvBZDerV1cMvRzCKvKwRmvDmHgphQQ7WfXIGbRbmmk6opMBh3roE42KcotLFtqp0RRwLtcBRNtCdsrVsjiI1Lqz/lH+T61sGjSjQ3CHMuZYSQJZo/KrvzgQXpkaCTdbObxHqb6/+i1qaVOfEsvjoiyzTxJADvSytVtcTjijhPEV6XskJVHE1Zgl+7rATr/pDQkw6DPCNBS1+Y6fy7GstZALQXwEDN/qhQI9kWkHijT8ns+i1vGg00Mk/6J75arLhqcodWsdeG/M/moWgqQAnlZAGVtJI1OgeF5fsPpXu4kctOfuZlGjVZXQNW34aOzm8r8S0eVZitPlbhcPiR4gT/aSMz/wd8lZlzZYsje/Jr8u/YtlwjjreZrGRmG8KMOzukV3lLmMppXFMvl4bxv6YFEmIuTsOhbLTwFgh7KYNjodLj/LsqRVfwz31PgWQFTEPICV7GCvgVlPRxnofqKSjgTWI4mxDhBpVcATvaoBl1L/6WLbFvBsoAUBItWwctO2xalKxF5szhGm8lccoc5MZr8kfE0uxMgsxz4er68iCID+rsCAQM=",
"RemoteServerListUrl":"https://s3.amazonaws.com//psiphon/web/mjr4-p23r-puwl/server_list_compressed",
"SponsorId":"FFFFFFFFFFFFFFFF",
"UseIndistinguishableTLS":true
}

other parameters can be found in here.

Run:

then you can start using Psiphon on Linux

[yandere@moe golang]$ ./go(compiled file) -config config.json

and set your socks proxy to 127.0.0.1:1081

7 Comments

  1. how i can do with mobile client config with own psiphon ssh server tunnel.
    what parameter i required to fill for own server

    public static final String PROPAGATION_CHANNEL_ID = “”;
    public static String SPONSOR_ID = “”;
    public static final String REMOTE_SERVER_LIST_URLS_JSON = “[]”;
    public static final String REMOTE_SERVER_LIST_SIGNATURE_PUBLIC_KEY = “”;
    public static final String OBFUSCATED_SERVER_LIST_ROOT_URLS_JSON = “[]”;

    Reply
  2. we are rebuilding “Psiphon3/android” to work as an android client for “SoftEther Server” since we think it supports/uses “L2TP/IPsec CRT”
    my question is will we ever get it done to support “L2TP/IPsec PSK” not CRT

    Reply
  3. After installing psiphon 3 on my device, it really slowed my internet connection and it gets disconnect whenever i try to surf.Even the other installed apps are not working properly.please solve the problem asap.

    Reply
    • Sorry to hear about that, but I am not the Psiphon developer so I can’t help you much about that. However, it seems you didn’t download the genuine version of Psiphon as “psiphon3.co” is not the official website.
      Try to download again from the official Psiphon website “https://psiphon.ca/”.

      Reply

Leave a Reply

Your email address will not be published.