在openwrt安装Psiphon3

最近一直在寻找一些免费的备用方案以备不时之需。这篇文档仅记录过程以备日后操作。
在https://github.com/MewX/Psiphon3-for-Linux 作者详细介绍了在linux使用Psiphon3提供的客户端连接socks5代理,所以就想测试是否在openwrt路由里能否安装成功。我用的Y1s mtk 7620蕊片刷得OpenWrt Chaos Calmer 15.05-rc3,最后当然是成功了。

1,编译openssh 5.9p1
官方说需要编译他们改过的OpenSSH 5.9p1源码,用来支持混淆:

获得SDK环境
mkdir /openwrt
cd /openwrt
wget https://downloads.openwrt.org/chaos_calmer/15.05-rc3/ramips/mt7620/OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
tar xvjf OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2

获得openwrt openssh 5.9p1 Makefile相关文件
https://dev.openwrt.org/browser/packages/net/openssh?rev=29088&order=name

将获得的文件整体上传到 OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/pagkage/openssh 目录里
注意:由于一开始看不懂报错,后来编译并连接成功的版本,并没有使用openwrt官方提供的patches目录里的补丁。
../
files
patches
Makefile

打包OpenSSH 5.9p1源码
git clone https://github.com/MewX/Psiphon3-for-Linux.git
cd Psiphone-for-Linux
tar -czvf /tmp/openssh-5.9p1.tar.gz ./openssh-5.9p1

将openssh-5.9p1.tar.gz包放置到 OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/dl 目录

开始编译
cd /openwrt/OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64
make menuconfig
make package/openssh/compile V=99

生成文件 OpenWrt-SDK-15.05-rc3-ramips-mt7620_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64/bin/ramips/packages/base/openssh-client_5.9p1-4_ramips_24kec.ipk

就有我们后续要用到的ssh文件。将该文件复制到pyclient目录,并给可执行文件权限chmod +x ssh

2,在openwrt安装python支持
okg update
opkg install python python-pip

Configuring terminfo.
Configuring python-base.
Configuring libffi.
Configuring libbz2.
Configuring python-light.
Configuring python-codecs.
Configuring libdb47.
Configuring python-db.
Configuring python-decimal.
Configuring python-distutils.
Configuring python-pydoc.
Configuring python-compiler.
Configuring python-ctypes.
Configuring python-email.
Configuring libgdbm.
Configuring python-gdbm.
Configuring python-logging.
Configuring python-multiprocessing.
Configuring libncurses.
Configuring python-ncurses.
Configuring python-openssl.
Configuring libsqlite3.
Configuring python-sqlite3.
Configuring python-unittest.
Configuring python-xml.
Configuring python.

Configuring python-setuptools.
Configuring python-pip.

3,更新服务器列表
python update.py
试过好多方法都没法给终端挂上代理,并访问相应的文件。
可以在vps上下载curl -k -o ./server_list –socks5 192.168.8.253:1080 https://psiphon3.com/server_list
然后修改update.py

import os, json

# Delete ‘server_list’ if exists
##if os.path.exists(“server_list”):
##    os.remove(“server_list”)

# Download ‘server_list’ and convert server_list to psi_client.dat
##url =”https://psiphon3.com/server_list”
##os.system(‘wget ‘ + url)

dat = {}
dat[“propagation_channel_id”] = “FFFFFFFFFFFFFFFF”
dat[“sponsor_id”] = “FFFFFFFFFFFFFFFF”
dat[“servers”] = json.load(open(‘server_list’))[‘data’].split()
json.dump(dat, open(‘psi_client.dat’, ‘w’))

4,运行客户端
pip install pexpect
如果网络慢,也可以直接下载这个链接https://pypi.python.org/packages/source/p/pexpect/pexpect-3.3.tar.gz#md5=0de72541d3f1374b795472fed841dce8
然后在本地通过pip install pexpect-3.3.tar.gz

修改psi_client.py相应参数
python psi_client.py

会有以下提示,没事正常,经过漫长的等待是有可能连接成功的,我就曾经连上一个英国的ip,并可以720p youtube,但是这东西如果你不及时访问的话,服务器就会没反应,只能ctrl+c终止重新运行客户端才能使用。
DEBUG: OSSH connection: Server does not support OSSH

连接成功的提示
Your SOCKS proxy is now running at 192.168.40.253:1080
DEBUG: handshake request:
Press Ctrl-C to terminate.

* 2015年09月01日星期二
– 生成文档

About: dato


发表评论

邮箱地址不会被公开。 必填项已用*标注