博文的链接地址是:http://hi.baidu.com/bdhoffmann/blog/item/
db383603b37756703812bbc8.html
~~~~~
身处教育网,找代理上网总是一件烦人甚至恼人的事情。某次和同学闲聊,他推荐了Gappproxy给我使用,我用了一下,感觉还可以。现将
自己使用的一些心得记录如下,希望能让广大Linuxer受益。(windows下使用的详细教程请参看http://skydao.com/
post/google- app-engine-to-do-with-personal-proxy-server-second-
edition/)
使用的过程主要分为两个部分。第一部分是上传一个文件到google appengine(GAE),第二部分是建立本地和GAE的连
接。
1:上传
1.1 创建一个google appengine帐号
点击链接 (http://appengine.google.com/)申请注册一个google appengine帐号,注册需要一个
gmail邮箱,另外在注册的过程中需要填入手机号码进行验证。
1.2 安装python
我的系统是Ubuntu8.04,所以只要apt-get install python就可以了
1.3 下载并安装google appengine软件包
点击链接(http://code.google.com/appengine/downloads.html),下载Linux平台的
Google App Engine SDK,并进行解压。我的解压路径是桌面上的GAE目录。
1.4 下载并解压fetchserver源码包。
点击链接(http://code.google.com/p/gappproxy/downloads/list),下载里面的
fetchserver- 1.0.0beta.tar.gz。这个是GAppProxy服务端源码包,用于架设自己的fetchServer。要将这
个包进行解压。然后将解压后的文件(fetchServer)夹放入Google App Engine SDK的安装目录。
1.5 编辑fetchServer目录下的app.yaml文件。
用nano或者其他方式编辑这个文件,主要编辑的参数是第一行application.
~~~~~~~~~~~~~~~~~~~~
application: aaaaaa(比如我的比如你的AppEngine地址是aaaaaaaaa.appspot.com,那就是
application帐号就是aaaaaa))
~~~~~~~~~~~~~~~~~~~~
编辑结束后,保存并关闭这个文件。
1.6 上传
进入Google App Engine SDK目录。然后运行命令:appcfg.py update fetchserver。程序会要求
你填入你的gmail和gmail的密码。
~~~~~~
hoffmann@ubuntu:~/Desktop/GAE$ python appcfg.py update fetchServer/
Scanning files on local disk.
Initiating update.
Email: aaa...@gmail.com
Password for aaa...@gmail.com:
Cloning 1 application file.
Deploying new version.
Checking if new version is ready to serve.
Closing update: new version is ready to start serving.
~~~~~~
OK ,上传部分完毕。
2:连接
2.1:下载客户端
点击链接(http://code.google.com/p/gappproxy/downloads/list),下载
gappproxy- 1.0.0beta.tar.gz ,这个是GAppProxy源码包,内含客户端所有源码,并将这个文件进行解压。我还是解压
在桌面上,文件夹的名字是gappproxy。
2.2 更改配置文件
进入gappproxy目录,用nano或者其他的文件编辑器编辑proxy.conf文件。在fetchserver一栏里面填写自己的
apengine地址。并去掉一行开头的井号(这个是注释用的)
~~~~~~~~~~~~~~~~~
GAppProxy configuration
# local_proxy
#local_proxy = host:port
#
# If local proxy needs authentication:
#local_proxy = user:passwd@host:port
fetch server
#fetch_server = http://127.0.0.1:8080/fetch.py
fetch_server = http://aaaaaa.appspot.com/fetch.py ###填写自己注册的appengine地
址。
#fetch_server = http://fetchserver-nolog.appspot.com/fetch.py
~~~~~~~~~~~~~~~~~~~~
然后保存并关闭。
2.3 运行代理服务
直接在终端里面运行 python proxy.py.如果看到HTTP Enabled : YES的字样,恭喜你,代理已经成功开启了。你
所要做的就是将这个终端一直开着,就可以上网了。代理的地址是127.0.0.1:8000.这个可以在浏览器里面设置的。
~~~~~~~~~~~~~~~
hoffmann@ubuntu:~/Desktop/gappproxy$ python proxy.py
--------------------------------------------
HTTP Enabled : YES
HTTPS Enabled: NO
Local Proxy :
Fetch Server : http://aaaaaa.appspot.com/fetch.py
--------------------------------------------
~~~~~~~~~~~~~~~~~~
注:
1:感谢博客天空岛里面的文章(http://skydao.com/post/google-app-engine-to-do-with-
personal-proxy-server-second-edition/)以及group上面WCM的指点。
2:虽然在主页上提到gappproxy仅支持标准80端口的HTTP协议和443端口的HTTPS协议,其他端口均不支持.但是我在实际应用的过程
中,上微软的live.com,总是上不去。=。=
3:现在google appengine开始收费了,标准为:每额外一小时CPU处理时间收费10美分;输入应用的数据每1GB收费10美分,输出的
数据收费12美分;每一 GB数据存储一个月收费15美分。所以强烈推荐大家自己在google appenging上自己搭建服务器。因为,免费的流
量对于个人来说是够用的,但是如果大家都用软件作者的服务器(客户端conf文件里面默认的那个),那么作者估计会花费大笔的银子的。
> #fetch_server =http://fetchserver-nolog.appspot.com/fetch.py
python proxy.py
--------------------------------------------
HTTP Enabled : YES
HTTPS Enabled: NO
Direct Fetch : YES
Local Proxy :
Fetch Server : http://nanoproxy.appspot.com/fetch.py
--------------------------------------------
Traceback (most recent call last):
File "proxy.py", line 351, in <module>
LocalProxyHandler)
File "/usr/lib/python2.5/SocketServer.py", line 330, in __init__
self.server_bind()
File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in
server_bind
SocketServer.TCPServer.server_bind(self)
File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
self.socket.bind(self.server_address)
File "<string>", line 1, in bind
socket.error: (98, 'Address already in use')
On 2月27日, 下午7时19分, Hoffmann <jiji...@gmail.com> wrote:
> #fetch_server =http://127.0.0.1:8080/fetch.py
> fetch_server =http://aaaaaa.appspot.com/fetch.py###填写自己注册的appengine地
> 址。
> #fetch_server =http://fetchserver-nolog.appspot.com/fetch.py
看这个错误,会不会是8000端口被占用了? (不懂 python,猜的哈。)
先停掉 gappproxy,用下面的命令看看端口是不是被用着。
netstat -an | grep 8000
如果是的话,再用:
lsof | grep 8000
看是哪个程序捣鬼。
On Apr 6, 2:11 pm, Hai-Ping Lan <haiping...@gmail.com> wrote:
> 没用的,呵呵,我访问sina也不可以
>
> 2009/4/6 moonese <moon...@gmail.com>
>
>
如果实在*nix下的话
在 2009-04-07二的 00:36 +0800,Hai-Ping Lan写道: