|
刚刚开始学习OpenWrt. 参考了以下两个帖子后, 在水星MW4530R上的OpenWrt成功部署gae,并且证实利用Python Gevent库能够实现gae很稳定的运行
1. OpenWrt安装gae实例教程
2. openwrt路由安装神器WallProxy实现全局fan wall-5月25日更新Gargoyle1.5.10安装通过
现将我的步骤整理如下:
(1) 在路由器安装 Python
# opkg update
# opkg install python
# opkg install pyopenssl python-openssl
(2) 部署 gae
下载gae 解压文件到电脑上
修改gae的local文件夹里的proxy.ini文件
将gae监听 ip改成0.0.0.0
[listen]
ip=0.0.0.0
port=8087
将appid改成我之前已经在Google App Engine 部署好的appid, 多个appid用“|”分隔
[gae]
appid = myv p n|myv p n2
另外,我将PAC设定 enable = 0,因为我不打算将proxy.pac放到proxy.ini相同目录中.
[pac]
enable = 0
修改gae的local文件夹里的proxy.pac文件,把里面的127.0.0.1:8087全部替换成路由器的内网IP,如 192.168.1.1:8087
在路由器制造/app/gae/local目录
# mkdir -p /app/gae/local
把gae的local文件夹里的 certs目录, proxy.py, 及被更改过的 proxy.ini 复制到路由器/app/gae/local目录下. 将被更改过的 proxy.pac 复制到路由器/www目录下
(3) 启动gae
# python /app/gae/local/proxy.py
设定IE使用gae作为代理.代理指向路由器的内网IP 192.168.1.1, 端口 8087. 然后上网浏览.
gae 启动了不到几分钟立刻崩溃, 出现"ssleay_rand_add: Assertion `md_c[1] == md_count[1]' failed"错误. 确认是libopenssl的安全线程支持上有问题.
(4) 安装gevent
下载上面第二个帖子里提供的 python-greenlet_0.4.0-1_ar71xx.ipk 和 gevent_1.0rc2-1_ar71xx.ipk
下载点:
https://www.right.com.cn/forum/pl ... 3wyMTA2MjF8MTIxNTk5
https://www.right.com.cn/forum/pl ... 3wyMTA2MjF8MTIxNTk5
把它们解压后复制到路由器/tmp目录下,然后进行安装.
# opkg install /tmp/python-greenlet_0.4.0-1_ar71xx.ipk
# opkg install /tmp/gevent_1.0rc2-1_ar71xx.ipk
注:我没特意去安装libopenssl和libevent2这两个包,因为我的固件已经自带了.
(5) 再次启动gae
# python /app/gae/local/proxy.py
注意截图:这时 gevent 是已经被利用到了.
上网浏览几小时,gae 完全稳定 !
(6) 增加开机启动gae
修改/etc/rc.local,在exit 0 之前增加以下命令
python /app/gae/local/proxy.py >/dev/null 2>&1 &
(7) 使用PAC文件作为自动代理设置(国内网站不走gae, 国外被墙的走gae)
以IE为例,在网络设置中,把自动配置脚本打勾,并填入以下地址
http://192.168.1.1/proxy.pac
(8) 将gae的证书导入浏览器
使用gae时会出现一个问题,那就是在查看https网站时,会出现SSL错误. 解决方法如下.
IE/Chrome自动导入证书
用管理员权限在电脑上运行gae.exe, gae会向系统导入IE/Chrome的证书.
IE 手动导入证书
打开IE,点击“工具->Internet选项->内容->证书->受信任的根证书颁发机构,导入->local\CA.crt.
Chrome 手动导入证书
打开Chrome://settings/->HTTPS/SSL->管理证书->受信任的根证书颁发机构->导入->下一步,浏览->local\CA.crt->下一步->将所有的证书都放入下列存储->受信任的根证书颁发机构->下一步,完成.
注:Chrome 也可以用 --ignore-certificate-errors 打开,那就不会有SSL错误的警告.
Firefox 手动导入证书
打开FireFox->选项->高级->加密->查看证书->证书机构->导入证书, 选择local\ca.crt, 勾选所有项,导入.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
查看全部评分
|