2012-12-20
最近使用GAE 代理出现错误

今天想通过rhc 配置一下OpenShift ,老是提示:

Connection to server timed out. It is possible the operation finished without
being able to report success. Use ‘rhc domain show’ or ‘rhc app show’ to see the
status of your applications.

所以不管什么原因,既然连接服务器超时,应该考虑到是网络问题,所以还是适当穿越一下伟大的长城试试。 穿越习惯使用GAE,但今天使用时遇到问题了。

ying@ying-desktop:~/Studio/gae/google_appengine/goagent/local$ python proxy.py
Traceback (most recent call last):
File “proxy.py”, line 1607, in
class DNSServer(gevent.server.DatagramServer):
AttributeError: ‘module’ object has no attribute ‘DatagramServer’
Exception KeyError: KeyError(140066600395136,) in ignore

其实解决也不麻烦,我们只需要修改 proxy.py 文件的 1607 行就可以了,把

class DNSServer(gevent.server.DatagramServer):

改为:

class DNSServer(gevent.server.StreamServer):

1607行找不到也可以搜索试试。 原因可能是因为系统升了级的缘故吧。

Read More

2012-11-08
Linux下用goagent使用Google GAE代理

最近经常上youtube找点有趣的东西,常规情况下youtube是无法访问的,原因嘛,你懂的…所以代理就必须的了,穷孩子,没SSH和VPN,所以唯有借助GAE,有需要的童鞋也可以参考下,保持低调即可 :)。现在收集下,做个整理,也方便自己使用。当然,GAE在windows下也世可以使用的,详细方法可以搜搜看。有SSH的朋友也可以看看此文《Linux下让SSH/SOCKS成为全局代理 轻松冲浪》。 GAE全称:Google App Engine.顾名思义是谷歌的一项网络应用,功能上应该不会差到哪去。要设置GAE代理,首先你当然要有一个Gmail帐号。 然后,申请一个应用 https://appengine.google.com/,登录帐号后,点击“Create an Application”。申请GAE和申请GMAIL一样,同样需要使用你的手机进行验证码确认,要注意根据自己的地区填写区号,中国大陆地区手机填上+86接手机号码。大约10秒-20秒左右,手机收到发来的一段7位验证码,填写到图中位置,并确认,当验证成功后GAE申请完成。 创建一个应用,yourname.appspot.com.标志签,应用名自行决定就是。 先决条件: 获得ubuntu的python环境,打开终端输入:

sudo apt-get install python

下载goAgent,可以顺便把chrome的插件SwitchySharp一道装上,顺带把https://raw.github.com/phus/phus-config/master/SwitchyOptions.bak上传到switchysharp。 下载GAE for linux,选择linux版本即可。Goagent的项目主页在googlecode托管:http://code.google.com/p/goagent/ 下载Google AppEngine SDK,下载地址:https://code.google.com/intl/zh-CN/appengine/downloads.html 这里下载Google AppEngine SDK for Python版本(linux)。 Google AppEngine SDK解压google_appengine到自己的主目录,比如我的主目录是/home/ying/,解压完成后,进入然后/home/ying/google_appengine/。 goagent解压goagent到google_appengine目录下,解压完成应该存在/home/dn/google_appengine/goagent。 一.服务端的上传 在ubuntu下使用GAE上传goAgent,将goAgent放到google_appengine目录下,并在终端输入

cd /home/yourusername/google_appengine

(你google_appengine的绝对路径)。 在你的goAgent的server/python目录里,有一个文件app.yaml,用文本编辑器打开,填入你在GAE的ID,和version(默认是1),保存。修改local/proxy.ini文件中的[gae]下的appid=你的appid,多个appid可以用|隔开。然后在终端,

cd /home/yourusername/google_appengine

(你google_appengine的绝对路径)后,输入

python appcfg.py update goAgent/server/python

,填入你的email和密码就能上传了,不行的话,尝试下sudo。 二.客户端的使用 在goAgent的local目录中,有一个proxy.ini文件,将你的appid填入。 2.终端进入到你的local目录,例如

cd /home/yourusername/google_appengine/goAgent/local

,运行

python proxy.py

。好了,现在你可以运用以上的方式通过Ubuntu在chromium浏览器使用goAgent进行翻墙了。 三.导入证书 安装证书导入工具

sudo apt-get install libnss3-tools

将goAgent文件夹内的证书文件CA.crt导入(注意证书的绝对路)

certutil -d sql:$HOME/.pki/nssdb -A -t TC -n “goagent” -i ~/google_appengine/goagent/local/CA.crt

四.关于快捷方式的使用 很多应该和我一样,在linux下中一些常用的软件常常需要在终端输入命令觉得很繁琐,想通过快捷方式直接点击运行。 详细方法如下: 创建快捷方式:

sudo gedit /usr/share/applications/goAgent.desktop

在文本编辑器里输入

[Desktop Entry]
Name = goAgent
Comment = a proxy tool
Exec = /home/YourUserName/google_appengine/goAgent/local/proxy.py #proxy.py的绝对路径#
Icon = /home/kafaafa/google_appengine/goAgent/local/goagent.png #图标的绝对路径#
Terminal = true #使用终端运行#
Type = Application
Categories = Application;Development; #放在软件–开发者目录中#

现在需要给快捷方式以sudo超级用户方式运行,否则点击会一闪而过。当然你也可以不让他在终端显示,只需要将Terminal=true改成Terminal=false

sudo chmod 777 /home/ying/App/google_appengine/goAgent/local/proxy.py

Read More

2012-11-05
Linux下让SSH/SOCKS成为全局代理 轻松冲浪

最近要apt-add-repository 个 ppa装个东西,发现电信下那速度实在太慢了,无法,只能代理下了。LINUX下可以实现SSH全局代理的软件有tsocks和proxychains两种,但是个人感觉proxychains要更加稳定简单。 假设代理为127.0.0.1,端口为7000。我在Ubuntu下安装。 安装很简单:

sudo apt-get install proxychains

配置:

sudo vi /etc/proxychains.conf

要选 dynamic_chain,而不是random_chain和strict_chain。即注释掉strict_chain和random_chain那两行。 然后在最后的[ProxyList]下面添加: socks5 127.0.0.1 7000 使用方法: proxychains <程序名> 即可让程序使用代理。 PS:7000端口是我本地的SSH端口,因为我用的是ssh -D 7000。

Read More