Tag GAE

2011

Google App Engine的流量用完之后

搭建在Google App Engine上的wallproxy一直是我最喜欢的代理工具,速度足够快而且性能稳定,虽然GAE后来被GFWed但是仍然可以通过google.cn代理使用wallproxy。 但是今天在上网时,突然发现某些网页打不开了,总是提示“503: Service Unavailable”。 刚开始以为是无法连接到GAE的服务器,于是在/etc/hosts里将其地址指定到google的IP上,发现还是会出现同样的错误。 直接访问wallproxy应用的地址,提示“Over Quota”,这才意识到原来是GAE的配额用完了。 登录后台一看,GAE每天的流量配额只有1G,看来是我昨天看Youtube视频消耗得太厉害了,以后得注意点,不过,多注册几个应用应该更靠谱,嗯。

#GAE#WallProxy

通过GAE将twitter同步到新浪微博/饭否等平台

虽然很早就有新浪微博的帐号,但是由于一直对墙内的微博没什么好感,就一直没有使用。但是考虑到我在twitter上发的tweets也没啥敏感的信息,如果可以同步到新浪微博也是个不错的选择。 既然要同步tweets,就不得不用到灰常强大的Google App Engine(GAE)了。 首先需要在GAE创建一个新的应用 appid.appspot.com 获得twitter-feed svn co http://twitter-feed.googlecode.com/svn/trunk/ 然后对其进行修改: 修改app.yaml文件,将其中的application:一项修改为自己创建的appid 修改cron.yaml文件,设定同步的时间间隔,比如设置为schedule: every 1 minutes,就可以每隔一分钟同步一次 修改feed.py文件,在约第22行,设置username为自己想要同步的twitter ID 修改twitter.py文件,在约第70行,找到"http://api.t.sina.com.cn/statuses/update.xml?source=App_Key",将其中的App_Key替换为自己在新浪申请到的App_Key 修改twitter.py文件,在“# You MUST modify your username and password here”下面填入想要同步的各平台的帐号和密码,并删除前面的#注释符号 修改twitter.py文件,在“# You …

#新浪微博#GAE#Twitter

[转载]用google.cn作proxy访问Google的服务

前两天为了能够访问appspot上网查找了很多资料,无意中找到了这篇文章,觉得很有价值,可以作为将来在Google服务无法使用且没有V6环境时的一个可选途径。 简单的说,Google的所有服务都是可以通过一个相同的服务器访问到,Google根据请求的URL当中的域名来决定应该定向到哪个服务。www.google.cn一样可以访问到所有的服务,例如App Engine。但是因为DNS服务器的原因,appengine.google.com会被定向到Google美国的服务器,不会去连接www.google.cn。但是事实上,如果我们能够向www.google.cn发送一个HTTP请求,其中的URL是指向appengine.google.com的,服务器一样能够帮我们中转请求,并把结果会传给我们。 要达到这个目的有两个方法,一个是修改hosts,让appengine.google.com和.appspot.com指向到www.google.cn的IP地址。这个有两个劣势,一个是www.google.cn其实有很多个地址做负载均衡,一旦加上了hosts条目,就失去了负载均衡的好处;另一个劣势是hosts文件不支持.appspot.com这种语法,所以只能把自己知道的appspot上的应用统统添加。 另一个方法则相对好一点,就是把www.google.cn:80设置成访问appengine.google.com的代理服务器。这种方法很好用,但是需要写PAC文件(Proxy Auto-Config,代理服务器自动配置文件)。所幸这个文件语法相当简单,因此可以直接写下面一段: function FindProxyForURL(url, host) { if (shExpMatch(host,"*.appspot.com")) { return "PROXY www.google.cn:80"; } if (shExpMatch(host,"appengine.google.com")) { return "PROXY www.google.cn:80"; } return "DIRECT"; } 然后保存成一个proxy.pac文件。在浏览器的配置当中,把“自动浏览器配置脚本”的配置项指到这里即可。 比如你把proxy.pac放在C盘根目录下,然后在firefox的“首选项”菜单中,打开“连接设置”对话框,选择“自动代理配置URL”,在后面的输入框中,填入配置文件地址,我这个就是file:///C:/proxy.pac对于IE浏览器,打开浏览器,选择“工具/Internet选项/连接/局域网配置”,随后勾选“使用自动脚本配置”项,最后输入自动配置脚本所存在地址即可file://C:proxy.pac 注意,一个是三个/,一个是两个/ …

#Google#GAE#GFW

appspot无法访问的情况下使用WallProxy

寒假在家上网的时候发现*.appspot.com的网站统统无法访问,虽然我已经将博客从GAE撤出来了,但是GAE上还放着GAppProxy和WallProxy,GAE的存活与否直接关系到能否翻墙,因此必须尽快解决这个问题。 但是在网上也没有发现appspot被墙的消息,因此怀疑问题出在我家宽带的运营商——中国联通。检查了一下电脑的DNS地址,是自动获取的运营商提供的DNS地址,将其更换为Google Public DNS,8.8.8.8以及8.8.4.4,果然,appspot又可以正常访问了。 可是好景不长,今儿发现通过WallProxy访问的网页又Error了,看来是appspot又无法访问了。 检查了路由器和DNS之后,确认这次是真的无法连接到appspot了,ping都ping不通了... 解决方案在此: 编辑WallProxy的配置文件proxy.conf,将其中的代理设置为‘proxy': {'http': 'www.google.cn:80'} 再试着通过WallProxy打开网页时,发现一切又恢复正常了! 但是此时如果直接访问.appspot.com仍然是不能访问的,我们仅仅是通过www.google.cn的代理去访问.appspot.com的,这其中的原理[这篇文章](http://www.douban.com/group/topic/9181172/)中写得很详细。 简单的说,Google的所有服务都是可以通过一个相同的服务器访问到,Google根据请求的URL当中的域名来决定应该定向到哪个服务。www.google.cn一样可以访问到所有的服务,例如App Engine。但是因为DNS服务器的原因,appengine.google.com会被定向到Google美国的服务器,不会去连接http://www.google.cn/。但是事实上,如果我们能够向www.google.cn发送一个HTTP请求,其中的URL是指向appengine.google.com的,服务器一样能够帮我们中转请求,并把结果会传给我们。 不知道这个方法还能维持多久,总之,现在又能翻墙啦~~ UPDATE:发现Hotot还是无法使用,因为我用的是自己在GAE上搭建的API,于是在Hotot里设置代理www.google.cn:80,问题解决。

#Google#GAE#WallProxy

2010

Linux系统下配置GAppProxy

虽说换到linux系统了,但是GAppProxy这么有用的东西可不能扔下啊,于是我就开始研究怎样在linux下使用GAppProxy。 说来其实挺简单的,暑假的时候已经搭建好了FetchServer,现在只需要配置客户端就行了。 原来在Windows下一直都是用官方提供的一个GUI的客户端,用起来特别简单,只需要输入FetchServer的URL就行了。 而现在在linux下面则必须得编辑配置文件了,首先去下载GAppProxy的python版客户端http://gappproxy.googlecode.com/files/localproxy-2.0.0.tar.gz 解压缩之后修改配置文件proxy.conf 默认的配置文件是这样的 # GAppProxy configuration # listen_port listen_port = 8000 # local_proxy #local_proxy = host:port # If local proxy needs authentication: #local_proxy = user:passwd@host:port # fetch …

#linux#GAppProxy#GAE

安装GAppProxy

以前使用代理服务器翻墙的时候总是使用的是一些别人提供的代理服务器,而往往这些代理服务器在公网中访问速度都还可以,一到教育网就什么都连不上了,自从开始折腾Google App Engine起我就有用GAE搭建代理服务器的打算,这几天把自己的博客,Twitter客户端折腾完了之后又打起了搭建代理服务器的主意,于是上Google搜索了一下,原来早就有人这么做了,使用GAppProxy! 在GAppProxy项目的页面下载源码包http://code.google.com/p/gappproxy/downloads/list,不过貌似这个网址已经被GFW了,于是乎就动用各种手段,手脚并用的翻墙出去把源码包拖了回来,打开一看其实挺简单的,只有四个文件,accesslog.py,admin.py,fetch.py,当然还有必不可少的app.yaml。经过了前面的搭建micolog,现在在GAE上部署应用已经是轻车熟路了…还是用的GAE Launcher,感觉挺好用的说。 在GAE上部署完了之后就是客户端的设置了,还得在GAppProxy项目的页面下载客户端软件,GAppProxy原来用的是命令行的客户端,现在已经有了一个GUI的客户端绿色软件,解压缩到一个固定的目录就可以了,不用安装。 运行gui.exe之后,把“Use FetchServer”勾选上,在后面填上http://appid.appspot.com/fetch.py即可,其中“appid”指的是你创建的应用的ID。设置完成之后Save一下就可以了,此时点击Status的话应该可以看到“Proxy is running!”的提示,表示Proxy目前运行正常,若显示“exit”则表示Proxy运行异常已退出,可能原因主要是网络不通等,具体可查看运行文件目录下的.log文件。 运行正常之后就可以点击Hide按钮将程序隐藏到托盘区了,而此时只需要在浏览器里面将代理服务器地址设为127.0.0.1,端口设置为8000,此时如果能通过浏览器正常浏览网页则说明GAppProxy设置成功,已经成功应用代理。 如果需要经常使用代理的话,只需要点击Service按钮,将其注册为系统启动项,这样就可以开机启动代理了,设置成功之后应该能在资源管理器里看到proxy.exe和srvany.exe两个进程。 至于使用浏览器插件什么的实现代理的自动切换那就以后慢慢折腾了… PS.貌似看Youtube视频还是不行,不过Youtube我可以用IPV6搞定了…

#GAppProxy#GAE