2009年11月27日星期五
[GFW BLOG] 可怜的奥巴马
这两天两条关于奥巴马的消息着实有趣:
第一条是在Google图片搜索服务中,以"米歇尔・奥巴马"为关键字搜索时,一张将其丑化为猴子形象的歧视性的照片出现在搜索结果前列。 Google24日就搜索结果中出现对美国第一夫人米歇尔・奥巴马不敬的照片表示道歉。不过Google同时称搜索结果排序依据数千因素而定,他们不会因为用户的抱怨而简单地删除搜索结果。
第二条是结束了中国之行的奥巴马,因为其在与上海青年交流中坦承自己没有使用过twitter,言外之意即是其twitter账户均系其团队代为管理更新,故而twitter官方最近取消了其账号的官方认证,至此,该账号正是成为马甲账号。截止目前其账号follow人数是279万余人。
作为美国的总统,另一方面却是不折不扣的倒霉蛋,试想如果这孩子生在贵国,不一定要成为最高领导者,只要有个一官半职,此类事件就不会发生在他身上。 Google在美国如此嚣张,但是你看谷歌中国在贵国还不是一样被驯服得没什么大动作,更不用提那个三百块删一条负面消息的百度了。
再者,如果他生在贵国,所有的发言稿都会有枪手秘书代谢,只要注意别弄错地名就不会有什么大问题,当然即使出了问题,还可以把责任推在秘书身上。由自己的团队代为更新twitter或blogger什么的,亦不会出什么大问题,鉴于贵国代笔这件事普遍存在,没有人敢理直气壮地出来指责,即使事件暴露,互联网服务商也不敢直接取消掉你的官方认证,要知道在中国就只有那么一个官方,你一个小微博客服务商算个什么东西!
当然,如果奥巴马在贵国,他是上不了twitter的,也是写不了blogger的,除非他懂得爬墙搭梯子的技术。
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 05:44:00 PM
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
[GFW BLOG] 动手修改echofon api上Twitter
1 用winrar打开XPI安装文件,修改其中的components\nsTwitterFox.js文件里,
var TWITTER_API_URL = "https://twitter.com/";改成可用的api,比如http://nest.onedd.net/api/,etc.
2 找到 Application Data\Mozilla\Firefox\Profiles\随机字符串.default\extensions\twitternotifier@naan.net\components\nsTwitterFox.js,使用编辑器打开。将
var TWITTER_API_URL = "https://twitter.com/";改成可用的api,比如http://nest.onedd.net/api/,etc.
当然etc.这里你也可以自己搭建一个Twitter API。
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 05:39:00 P
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
[GFW BLOG] 奥巴马访华幕后的美中信息大战
奥巴马访华落幕之后,美中两国幕后进行的一场没有硝烟的信息战细节逐渐露出水面。一些海外著名新闻学术研究机构认为,这次围绕奥巴马访华的信息战,美中双方你来我往,都试图得分,然而均未能取胜。只有新媒体技术获得小胜,给中国的信息开放带来了一线希望。
*美方先开第一炮*
香港大学新闻和媒体研究中心发表中国传媒研究项目主任陈婉莹的学术文章说,这场信息战争的第一炮是美方先打响。在奥巴马到来的前夕,美国大使馆邀请了十多个中国著名博客作者座谈,并且对奥巴马访华的有关情况进行了通报。美方这一非同寻常之举动,立即引起中方高度警惕。
*电视转播规模之争*
奥巴马在上海会见青年学生的报道形式和报道规模,是美中双方激烈讨价还价的又一个焦点。对报道细节谈判一直继续到最后一小时。美方希望中国的国家电视台能够在全国进行现场转播,让这个拥有13亿人口同时百分之97的家庭收看电视的国家人民可以直接看到奥巴马的形象,听到他的声音。而中方在这一点上绝不让步,只同意在上海电视台当地转播。不过中方同意让新华网在网络上实况播发奥巴马和中国青年的对话,作为中方退让的底线。
*新媒体大发神威**
美国人并不打算放弃。他们转向互联网这个媒体战争中最新同时也是最有威力的武器。白宫雇用加州ConnectSolutions公司,在自己的网站上实况播出奥巴马上海对话中国青年的高清视频。CoNx团队还为白宫网站设立了一个聊天室链接,征求中国民众向奥巴马提出他们关心的问题。
*愤怒之情溢于言表*
在聊天室里,中国网民对中国政府互联网审查制度的愤怒之情溢于言表。 CoNx报告说:“大约七千多中国网民在美方设立的网站上提出问题,其中百分之七十五以上的问题表示他们最关心的是中国的互联网审查制度。”一些中国网民把中国的互联网防火墙比作“柏林墙”,并提到柏林墙倒塌20周年。这个问题也成为后来在会上正式提出的那个Twitter问题,其震撼波一直从上海传到波及到美国。
*防火墙? 新华网民无人关心*
新华网也不示弱,开始在网上征集中国网民向奥巴马提出的问题。到11月14号截止日期,共征集了3290个问题。不过根据新华社征集的提问,没有一个人提到取消互联网审查制度的要求。
*奥巴马未能进入中国大学校园*
香港大学中国传媒研究项目主任陈婉莹的学术文章说,奥巴马和中国青年对话在激烈的讨价还价中进行。不过,奥巴马与克林顿和前总统布什以前的访问相比,奥巴马和青年学生的对话未能在大学校园举行。前几次美国总统在北大等大学校园的露面,均在大学生中引起了轰动的效应。而这次奥巴马对话上海大学生,却被安排在浦东的一个上海科技馆举行。周围的街道被警方严密封锁,参加对话的大学生分乘大巴抵达会场。上海科技馆本身对游客闭馆两天。
*缺乏火热的激情*
对比奥巴马竞选美国总统时到欧洲的演讲,当时几十万欧洲青年慕名前去,一睹奥巴马的风采。激动人心的场面,丝毫不亚于一场超级摇滚乐巨星的演唱会。相比之下,上海大学生显得比较文雅成熟,缺乏青年人的那种激情。
接下来的进展对美方来说是进一步的失望。新华网开始滚动报道奥巴马市政厅会议之后,美方发现报道只有文字,没有视频流的显示。精明的中国互联网用户开始转向白宫网站,观看高清晰度视频服务。在北京,美国大使馆邀请一些学生和客人观看白宫的视频实况转播。据白宫的博客报道,中国各地成千上万的年轻人和不那么年轻的人在教室,咖啡馆,客厅,以及美国大使馆和领事馆为举办的派对,观看奥巴马对话中国青年的实况。
*美国大使代表中国人民*
与此同时,美中双方的斗争继续会议大厅内举行。当美方发现中国学生们问的问题大多是软性问题之后,奥巴马的团队首先试图打破中方的封锁。在奥巴马的要求下,美国驻华大使洪博培出面,代表中国人民提出了那个关于互联网自由的著名问题。奥巴马抓住机会,发表了一个互联网需要开放的一个小型演讲。奥巴马突破中方防线立即成为西方媒体第二天的头条新闻。这一回合还有助于奥巴马平息在美国国内受到的自由派有关他在中国人权问题上不够强硬的批评。
*白宫:历史性对话*
在和中国青年对话之后,白宫声称这次奥巴马在上海的市政厅会议是和中国人民进行了一次“历史性”的公开对话。不过,香港大学中国传媒研究中心认为,和历届美国总统与中国学生会面相比,奥巴马这次是被控制控制和管理最严的。
不过,香港大学研究文章认为,尽管中国政府控制严密,但是裂缝已经出现。美国已经表明作为一个外国政府,可以挑战中国政府对信息的封锁。美方这次在中国作为信息的发布者,同时这也是白宫首次在中国收集普通公民的民意,并以文字和视频的形式,在整个中国传播信息。
*缺乏安全感*
美国《哥伦比亚新闻评论》发表采访前纽约时报驻上海记者站主任霍华德.法兰西的文章说:“莫大的讽刺是,中国政府事实上在会场塞满了共青团员和青年,他们受到的训练使他们提出一些很平庸的问题以及一些比较明显的政治问题。从一个层面你可以得出结论是美国(民主政治理念)对中国(青年)缺乏影响,很多人也学会得出这个结论。但是也可以从另一视点看,把它视为一个表象,那就是:‘嘿,我们都在谈论中国是下一个崛起的大国,而他们自己似乎没有什么安全感。他们甚至不敢让一些年轻人和美国总统进行问答对话。对我来说,这是一个更有趣的诠释。“
*圆滑世故的精英*
凤凰网11月17日发表张恒的文章,也对上海大学生表示失望。文章说:“在听完那一个小时的问答之后,我也毫不掩饰我对这些精英的失望之情。提出那些温温吞吞的问题的大学生,更像是一个迟暮之人,饱尽社会风霜,看穿红尘坎坷,历尽复杂的人际关系之后,终于对这个社会,对这个国家,对这个世界变得圆滑世故,左右逢源,身体对外界刺激 毫无反应,声音也变得有气无力。”
香港大学的研究报告也认为,在这场围绕奥巴马访华的信息战中,上海数百名学生是最大的输家。他们受到海内外舆论的嘲笑,认为他们信息不畅,英文不好,提出一些迎合奥巴马的问题,不敢发出尖锐的提问。
*希望的曙光*
不过,香港大学的研究报告最后的结论是,在对信息控制严密的中国,终于有了一线希望,无处不在的互联网使得社会变得更加透明,所有的政府都必须更加透明,在这一点上没有回头路。
── 原载 美国之音
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 06:50:00 AM
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
[GFW BLOG] 搭建第三方 Twitter 客户端完全教程
本文较长,较�嗦,三思后再看。
总会有人利用别人好心搭建的客户端来干坏事,于是,这一次大墙爆发,N多优秀的客户端被隔离在墙外,难道我们只能坐以待毙吗?
商店允许卖刀,至于买刀的人用来做什么,关商店何事?只因为一小部分人用刀来干坏事而把整个商店给彻底查封,那么,引起的不仅仅是民愤了。
盛世有盛世的发财之道,乱世有乱世的富贵之道。天朝的互联网已经不是一般的乱了,功夫网的缔造者,成功的把一群本来电脑水平不咋样的朋友打造成了技术者甚至是砖家级的水平,不得不说,这是个悲哀。
我曾经说过,G.F.W的存在是互联网发展的必然,而我在这里担当一个什么角色呢?好吧,就当我是一个卖刀的人吧,至于各位把这把刀买去是切菜还是砍人?莎士比亚说过:成功的骗子,不必再以说谎为生,因为被骗的人已经成为他的拥护者,我再说什么也是枉然。
那些用刀来干坏事,自称要如何如何自由自称要如何如何如何的人,我只能对你们说:我热爱这片国土!
以下内容仅为探讨网站建设技术而写:
一、什么是 Twitter ,我们为什么要用 Twitter?
一句话:Twitter 是老子,饭否是儿子,嘀咕、新浪围脖等是孙子;如今老子出墙,儿子被毙,孙子被阉,如是而已。
我就不�嗦了,我只是申明,我用 Twitter 只是为了认识更多的朋友,记录一下自己每天的想法,探讨一些博客网站方面的内容,顺便获取第一手IT科技、国内外最新的动态,如是而已。
而 Twitter 比起嘀咕和新浪围脖有不可比拟的优势,大量第三方客户端,几乎完全开放的API,嘀咕可以做到只是人气不行,新浪可以做到只是自己进行了阉割,所以现阶段 Twitter 是我能欣赏的唯一平台。
二、为什么要架设自己的第三方 Twitter 客户端?
一句话:墙无止尽,想让更多人加入 Twitter 这个开放性的平台,仅仅靠着优秀的第三方客户端是不行的,开源的可以自己搭建的客户端永远都是封不完的,WordPress.com 被墙了吧?无数个自己搭建的 WordPress 都做得如此优秀,Twitter 也是同一个道理。
三、如何搭建自己的第三方 Twitter 客户端?
1、准备步骤
需要的条件是:空间一个,域名一枚,再推荐独立IP一枚外加 https 保护
当 然,你可以用免费的空间,可以用免费的二级域名,但这不在我们打讨论范围之内,免费的不稳定,速度成问题,空间商会限制,更别提独立IP或者ssl证书, 况且一个免费空间上假如有N多个人搭建了客户端造成了很多短暂性的连接被重置,被功夫网引起重视以后直接K了整个IP段就得不偿失了。
所以,我的推荐是,自己买一份空间,外加域名一枚,当然已经有的就最好,空间需要满足的条件是:
① 支持 php 5
② Dabr 需要 curl 函数支持,否则首页会白屏
③ 需要支持 .htaccess 伪静态(针对 Dabr,Apache 环境下, Nginx 环境我会在下面说)
④ 服务器必须是 64 位的(因为 Twitter 的消息条数早已超过32位服务器能计算的最大范围,用32位服务器有会丢推、不能查看单条推、不能查看回复的推等等限制),可以向你的空间商咨询,或者下载这个探针,运行以后显示 服务器标识 为 x86_64 即为64位服务器
以上是空间的要求,但是,我有个个人的建议:
第一,千万别用共享的IP来搭建第三方客户端,很容易被踹,而且现在很多空间商也不允许你这么做,因为一旦你的客户端被发现而被封,损害的是统一服务器上其他用户的利益(很多只是放了个博客而已,他们并没有错!)
第二,先考虑清楚,否则不推荐用 http 来搭建第三方客户端,假如你的空间在国内,到时候拔网线来网监电话是肯定的;假如你的空间在国外,一旦出现一两个关键词,整个页面都会连接被重置,如图:
短暂性死亡五分钟左右才会恢复,整个时候背后盯着你的眼睛在干啥呢?我的推测嘛,万一整个网址被重置连接多了以后,就会引起高度重视,接着……我就不说了。
所以,现阶段最好的方法就是,购买独立IP外加ssl证书,也就是通常所说的https站点。
简单的说明一下,因为 https 站点必须假设在独立ip上,一个ip只能对应一个域名,否则证书就不可能受信任,免费的证书当然有,详见 《全球可信并且唯一免费的HTTPS(SSL)证书颁发机构:StartSSL》
顺便调查一下,会有多少朋友有这个需求(独立IP空间+ssl证书),如果人数可以,我可以帮忙联系朋友搞一期合租。
2、程序选择
这个要看个人需求,你是想在电脑上用第三方 Twitter 网页客户端还是想在手机上使用,或者只是要自己搭建一个 API , 我就针对不同的客户端进行不同的评价吧、
① 推特中文圈 / Twitese
本程序由 @bang590 编写,原来是搭建在 Google App Engine 上的,GAE的IP虽然很多,但是很容易被G.F.W,所以 @bang590 又写了一个 php 版本,更适合国人。
安装方法:进入 http://code.google.com/p/twitese/downloads/list 下载,最新版本是 1.0.4 ,下载完以后解压,用 非记事本 (Notepad + / EmEditor 等)打开 lib/config.php ,按照如下的要求填写:
//加密用户名密码用的密匙,请随便输入一字符串
define('SECURE_KEY', 'Showfom_is_Best');
//twitter api地址,如果是国外空间,请用http://twitter.com,国内空间需要用第三方API proxy
define('API_URL', 'http://twitter.com');
//twitter search api地址,同上。
define('SEARCH_API_URL', 'http://search.twitter.com');
//"随便看看"与"排行榜"的api地址,由架设在GAE的twitese提供
define('TWITESE_API_URL', 'http://twiteseapi.appspot.com');
//网站名称
define('SITE_NAME', '第三方 Twitter 客户端');
?>
推特中文圈对空间要求很低,基本一般的空间都可以安装,加入你的程序出错,一般情况都是空间问题(垃圾空间上害人啊),可以去 @bang590 的博客进行咨询:http://blog.webbang.net/?p=1000
最终效果(稍微修改了主题)如下:
② Rabr / 推特中文圈修改版
假如你看腻了推特中文圈的样式,而又喜欢 Twitter.com 的样式,那么就使用 @disinfeqt 修改的 Rabr 。
安装方法:同上,下载地址: http://code.google.com/p/rabr/downloads/list 最新版本是 11月23号 的,其余安装方法和推特中文圈的安装方法一样。
最终效果如下:
③ Dabr / 大波 / 奶瓶腿
关于 Dabr (俗称大波),我曾经在这篇文章里介绍过,用国内空间搭建大波的那个方法已经失效,不过 @NetPuter 童鞋开源了他修改的奶瓶腿,可以在国内空间搭建,当然我还是推荐你在国外的空间搭建。
安装方法:
3.1 下载地址: http://code.google.com/p/dabr/downloads/list (官方)
http://code.google.com/p/netputer/downloads/list(推荐,奶瓶腿修改,中文显示,支持自定义API,外加很多功能)
3.2 解压上传,需要注意的是,一般情况下,你的空间必须支持 curl 组件 + .htaccess 伪静态
3.3 申请 Twitter Oath 认证 的 Key
登陆 https://twitter.com/oauth ,点击 Register a new application ,按照我的截图一步一步来:
填写网站信息:
填写 Application 信息:
点 Save 前进,然后就得到了 Consumer key 和 Consumer secret:
将 confoig.sample.php 重命名为 config.php ,用非记事本打开,然后按照我的截图修改:
(官方默认,修改 t.showfom.com 为你的 Dabr 地址:)
(奶瓶腿:)
PS : 万一你的空间不支持 .htaccess 伪静态,请下载这个版本:http://showfom.googlecode.com/files/dabr_no_htaccess.zip
Nginx 伪静态规则:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}}
简单吧?最终效果如下:
④ kwestion
kwestion 是 @whentp 搭建的一款 Ajax + PHP 的 Twitter 网页客户端,部分源码借鉴了推特中文圈
下载地址:http://code.google.com/p/kwestion/downloads/list
直接上传即可,不用任何设置,最终效果如下:
=======
以上是网页客户端的详细安装方法
Tip 1 :我的建议是,电脑上首选推特中文圈/Rabr , 手机上首选 奶瓶腿/Dabr ,假如你想和我一样,用同一个域名来实现电脑上访问跳转到推特中文圈,手机上访问跳转到Dabr,那么,请阅读 《 PHP自动识别手机访问跳转 - Detect Mobile Browsers 》
Tip 2 :目前只有 Dabr/奶瓶腿 可以进行 oAuth 登陆,也就是说,你可以个性化你的大波名字,比如,某人很怀念饭否:
Tip 3: 屏蔽一切搜索引擎,把这个 robots.txt 放到你的根目录即可! 另外,还可以给大波加密:http://www.storyday.com/html/y2009/2576_to-large-waves-encryption.html
======
⑤ 建立 Twitter API
优秀的手机客户端,比如我使用的 Gravity;优秀的 Firefox 扩展,比如 Echofon 都可以使用 API 来进行推特操作。
建立 Twitter API 有很多种方法,这里我就介绍最简单的两种方法
使用 Twip、Tweetr 开源程序
解压,上传,稍微修改 config.php 即可
分别下载地址:
http://code.google.com/p/twip/downloads/list
http://code.google.com/p/tweetr/downloads/list
参考教程:
《使用twip架设Twitter API proxy》、《使用tweetr架设twitter api proxy》
@yegle 那个MJJ的已经介绍的很详细了,我就不多说咯~ 我要介绍的是我目前在用的无敌 Nginx 反向代理方法,很简单,任何动作都不用,只要在 nginx.conf 配置文件中加入以下几行:
server {
listen 80;
server_name Twitter API地址;access_log /home/logs/api.log;
error_log /home/logs/api_error.log;location / {
proxy_pass http://twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name Search API地址;access_log /home/logs/search.log;
error_log /home/logs/search_error.log;location / {
proxy_pass http://search.twitter.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
足够简单吧?
==========
四、总结
1、不推荐免费空间,不推荐合租空间,最好的方式是独立IP+ssl证书,如有需求,请留言
2、一般装不上或者有错误都是空间问题,程序我都测试过,木有问题
3、 自己搭建的客户端,只能给自己熟悉的朋友用,千万别高调传播,我的 tuite.de 就是一个活生生的例子,封域名+封IP,损失惨重,直接金钱的损失,功夫网的同志们,这个损失最后会由谁来承担?虽然经过沟通我换了IP,但是 tuite.de 目前已经无法直接访问,需要修改 hosts,这和 Twitter.com 有什么不同?所以,低调低调再低调。
4、广告时间,捧个场吧。
域名购买: http://shoushou.de/price/
空间购买(不能以任何理由架设第三方客户端,如需架设,请联系我):http://imhost.org/
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 05:23:00 A
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
[GFW BLOG] 生活在墙内
题记:本文不会向您介绍任何可靠Break的手段,也不会向您提供任何的Break软件。
本文旨在将墙内生活的理念与方法记录下来,帮助更多的人去折腾,折腾,再折腾。生活在墙内。
Part1: 墙是什么?
希望每个人,都能再一次,再认真的读一下这篇文章。至少知道我们所面对的并非一个单纯的公司,或者一个简单的政府机构,而是有强大的资金与技术支持做后盾的,全方位的网络言论监控管制体系。
如果可以的话,能像 @Ratoo @est 等人一样,或多或少了解一点他的工作机制,域名/关键字封锁,ip封锁,DNS污染,第三人攻击等等手段,并以每个人的智慧去贡献力量,一点点的瓦解掉墙的威力和手段。
记住,你所面对的不是那么简单的敌人,而是用技术武装到牙齿的敌人,但同时也是官僚体制深重,众多技术被滥用,缺乏统一、针对性应对预案的腐朽体制,而这正是我们最有力的突破口。
昨晚临睡前一个例子,因为安装错误版本的Opera,我的手机向Opera已经被封的服务器发送了太多次的请求,接着手机的GPRS功能就遭到了明显的RST重置攻击,没有任何的下行流量。RST重置时间远远超过PC上的10分钟。
@Wxzbb 同学遭遇到的短信Pending,发送失败的监控,也正是墙正在慎入进我们生活每个角落的实例。
面对如此的暴政,我们应该怎样生活?
Part2: 对墙的态度。
对狰狞的敌人喊着"Fuck""Hate",竖中指是没有用的。
在没有行之有效的对抗、推翻的方法之前,必须生活在墙内的现实迫使我们接受一些妥协,而不是用无力的愤怒和言语表达不满。或许这样才是墙所希望看见的,孤立的愤怒只会带来定点的报复和被静默,反而被迫接受更大程度的妥协。
思考,解决,突破,这是生活在墙内,生活在折腾中的定则。
独立的个人只有团结。私密可信的交流方式;没有言论审查,分享信息的安全平台;还有无私帮助,尊重他人的信念,这才是我们需要的。
千万不要因为个人blog/论坛的宣传,而去做吸引火力,飞蛾扑火一样的"壮举"。之前大面积传播分享Youtube,Twitter的Hosts, 现在若干"可用Twitter第三方地址,API大全"。这样的文档,POST,除了在一天之内给你带来成百上千的PV之外,也会在越来越短的时间之内, 让辛辛苦苦建立这些第三方,API的人们的心血化为乌有,甚至有可能带来整个域名段/IP段的封锁。
传播方法,而不是不劳而获,这是最基本的态度,也是本文最想表达的理念。
Part3: 开源即力量
我还记得大概在今年年初的时候,和 @17th 讨论各种第三方的Twiiter手机客户端,发现Dabr开源,随后 @17th 做出了几乎第一个有自定义功能的开源Dabr第三方客户端 Http://t.ikemi.org
当然因为服务器租约到期,以及在到期前一个月该域名被墙等原因,这个最早的第三方现在已经访问不到了。但肯定有很多的人,还记得这个域名,还记得这个Dabr提供的自定义每页显示的推数,以及自定义RT格式功能。
感谢@17th @iChada @kunshou @NetPuter 你们的努力。正是你们,才有了随后出现的各个版本的第三方Dabr,以及目前来说最出色的开源版本"奶瓶腿"的出现,和现在遍地开花,封绝不尽的第三方Dabr。
开源与自建服务,绝对不是对抗墙的最好方法,但至少是在墙内生活时,迫不得已又行之有效的最佳方法。
Part3.1 Dabr/奶瓶腿
来自原版Dabr http://dabr.co.uk 的开源项目(http://code.google.com/p/dabr/),直到现在依旧保持着他的活力,跟进加入Twitter的Lists等新功能,也是奶瓶腿等等一系列Dabr版本的鼻祖。
安装方法详见这里(http://orzdream.com/2009/08/dabr-in-china/)。
感谢 @Netputer 小正太的辛勤努力,为我们带来的奶瓶腿(http://t.orzdream.com/)。开源项目地址(http://code.google.com/p/netputer/)
介绍与安装方法详见这里(http://orzdream.com/2009/08/netputweets-source/)
如果您暂时没有自建Dabr的服务器与能力,也可以尝试Google搜索已经建好的第三方Dabr上推 (http://is.gd/4G2iE)
但请不要滥用您找到的第三方地址,这是建立者努力与辛劳的成功,请带着感激与尊重的心去使用。
Part3.2 推特中文圈
原来建立在Appsopt上面的项目,在作者 @bang590 和 修改者 @disinfeqt 的不断努力和完善下,已经是现在我最喜欢使用的Web客户端。支持Ajax,自动刷新,自定义界面和配色,自动展开短地址,预览图片,完善的功能与开源代码对服务器环境的低要求,会让他成为下一个和奶瓶腿一样出色成功的项目。
推特中文圈的开源项目地址(http://code.google.com/p/twitese/) 与介绍和安装(http://blog.webbang.net/?p=1000)
@disinfeqt 完善版本的推特中文圈: Rabr 的开源项目地址 (http://code.google.com/p/rabr/)
Part3.3 API Proxy
感谢 @yegle 的工作,为我们带来了方便易用的开源版 Twip 。
开源项目地址(http://code.google.com/p/twip/)
类似的API Proxy程序birdnest (http://code.google.com/p/birdnest/)
目前桌面Air客户端twhirl,Firefox客户端Echofon,S60手机客户端 Gravity 均可以使用自定义API Proxy连接Twitter服务器。
以上Part3.2-3的详细介绍,可以参阅
@tuite_tips:
如何用免费二级域名和免费空间架设Twip, Twitese http://butubukuai.co.tv/ (via @harrygg)
需要说明的是,免费的服务稳定性不佳,也容易被封。 @Showfom 即将推荐收费版的详细攻略,尽请期待 #yyz
Part3.4 Opera
仅仅48小时,破解掉GFW一次大规模的公关封锁行为,仅仅需要48小时的时间。
对,重要的只是想去尝试的那个想法,以及将这样的想法变成行动的决心。感谢 @luosheng
Part3.5 短网址服务
随即替换为开源的短网址解决方案,感谢 @Showfom 在很早前就想到这一点并进行了研究推广。
我使用的是Yourls 系统。
同样推荐更成熟的,@Showfom 通过 uLShort 修改的短网址网站AA.CX(http://aa.cx/) 并有相应WordPress插件版本(http://zou.lu/aacx-wordpress-plugin/)
Part3.6 Twitter图片服务
替代的服务有很多,这里我想推荐完全开源自主的解决方案。
想法非常简单,有一个支持FTP的个人免费/收费空间,截图软件Pickpic,以及支持API调用的短地址服务。
使用PickPic的截图上传到FTP功能发布图片,并选中在浏览器中打开网址,填入的网址则包含短地址API的调用,即可及其方便的完成一键上传图片,缩短地址的操作。
Part3.7 Youtube
Part4 想法与行动
昨晚在和学长聊天的时候,无意中得知他们在OpenDNS被封锁前一年的时候,就已经估计到这样的风险,并自行搭建了完全安全私有的DNS服务器。
其想法和原理都很简单,将DNS服务器的解析请求通过tunnnel通道转发到国外VPS上进行,并将结果返回,获得真实DNS解析地址。
由于联系不到服务的作者,由被明确告知这是私人服务,所以在这里并不方便做分享。
安全的DNS的意义,对任何服务都是明显的,完全消除本地ISP的DNS污染的影响,配合PAC自动翻墙脚本,我终于又在Chrome中顺利打开了Youtube和Facebook。
反观Opera中转服务器的例子,其实这些天才一般的想法都非常,非常的简单明了,又几乎不可能被封禁。一点想法,一点行动,一点宣传,墙的影响和威力几乎就会降到最低。
而这样的想法带来的影响是巨大的,一个开源的产品,被封禁绝的可能性是0。仅凭这一点,就奠定了对抗墙,在墙内生活的基础。
@iGFW 所说,真正打击墙的方法是人肉他高层人员和技术人员,在现实中和GFW的实体作战。目前这仅仅还是个梦想。
你所需要的只是一个一年50元的稳定SSH代理服务器,还有一点了解和折腾,在墙内生活就成了健身。
Wish you enjoy.
Fin.
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 05:18:00 A
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---
[GFW BLOG] 深入理解GFW:DNS污染
初识DNS污染
翻墙新手们往往遇到这样的问题:我明明已经设置了socks代理为127.0.0.1:xxxx,为什么还是上不去youtube?这时经验丰富的 翻墙高手就会告诉你:firefox需要设置network.proxy.socks_remote_dns为true,也就是远程解析域名。这是怎样一 回事呢?为什么要远程解析?这就涉及到了GFW的DNS污染技术。
DNS(Domain Name System)污染是GFW的一种让一般用户由于得到虚假目标主机IP而不能与其通信的方法,是一种DNS缓存投毒攻击(DNS cache poisoning)。其工作方式是:对经过GFW的在UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server) 给查询者返回虚假结果。由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,查询者只能接受最先到达的格式正确 结果,并丢弃之后的结果。对于不了解相关知识的网民来说也就是,由于系统默认使用的ISP提供的NS查询国外的权威服务器时被劫持,其缓存受到污染,因而 默认情况下查询ISP的服务器就会获得虚假IP;而用户直接查询境外NS(比如OpenDNS)又可能被GFW劫持,从而在没有防范机制的情况下仍然不能 获得正确IP。然而对这种攻击有着十分简单有效的应对方法:修改Hosts文件。但是Hosts文件的条目一般不能使用通配符(例如*.blogspot.com),而GFW的DNS污染对域名匹配进行的是部分匹配不是精确匹配,因此Hosts文件也有一定的局限性,网民试图访问这类域名仍会遇到很大麻烦。
观测DNS污染
"知己知彼,百战不殆"。这一节我们需要用到前面提到的报文监听工具,以及参考其DNS劫持诊断一节。在Wireshark的filter一栏输入udp.port eq 53可以方便地过滤掉其他无关报文。为了进一步减少干扰,我们选择一个并没有提供域名解析服务的国外IP作为目标域名解析服务器,例如129.42.17.103。运行命令nslookup -type=A www.youtube.com 129.42.17.103。如果有回答,只能说明这是GFW的伪造回答,也就是我们要观测和研究的对象。
伪包特征
经过一番紧密的查询,我们可以发现GFW返回的IP取自如下列表:
4.36.66.178
64.33.88.161
202.106.1.2
202.181.7.85
203.161.230.171
209.145.54.50
211.94.66.147
216.234.179.13
关于这八个特殊IP,鼓励读者对这样两个问题进行探究:1、为什么是特定的IP而不是随机IP,固定IP和随机IP各自有什么坏处;2、为什么就是这8个IP不是别的IP,这8个IP为什么倒了GFW的霉?关于搜索这类信息,除了www.google.com之外,www.bing.com有专门的搜索IP对应网站的功能,使用方法是输入ip:IP地址搜索。www.robtex.com则是一个专门收集域名解析信息的网站。欢迎读者留下自己的想法和发现:lol:。
从Wireshark收集到的结果分析(实际上更好的办法是,将结果保存为pcap文件,或者直接使用tcpdump,由tcpdump显示成文本再自行提取数据得到统计),我们将GFW发送的DNS污染包在IP头部的指纹特征分为两类:
- 一型:
- ip_id == ____(是一个固定的数,具体数值的查找留作习题)。
- 没有设置"不分片"选项。
- 没有设置服务类型。
- 对同一对源IP、目标IP,GFW返回的污染IP在上述8个中按照给出的顺序循环。与源端口无关、与源IP目标IP对相关。
- TTL返回值比较固定。TTL为IP头部的"Time to Live"值,每经过一层路由器这个值会减1,TTL为1的IP包路由器将不再转发,多数路由器会返回源IP一条"ICMP time to live exceed in transit"消息。
- 二型:
- 每个包重复发送3次。
- 没有设置"不分片"选项。
- 设置了"保障高流量"服务类型。
- (ip_id + ? * 13 + 1) % 65536 == 0,其中?为一个有趣的未知数。ip_id在同一个源IP、目标IP对的连续查询之间以13为单位递减、观测到的ip_id的最小值和最大值分别为65525(即-11,溢出了!)和65535。
- 对同一对源IP、目标IP,GFW返回的污染IP在上述8个中按照给出的顺序循环。与源端口无关、与源IP目标IP对相关。
- 对同一对源IP、目标IP,TTL返回值时序以1为单位递增。TTL在GFW发送时的取值有64种。注:源IP接收到的包的TTL被路由修改过,所以用户观测到的TTL不一定只有64种取值,这是由于网络拓扑变化的原因导致的。一型中的"比较固定"的"比较"二字也是考虑到网络拓扑偶尔的变化而添加的,也许可以认为GFW发送时的初始值是恒定的。
(以上结果仅保证真实性,不保证时效性,GFW的特征随时有可能改变,尤其是时序特征与传输层特征相关性方面。最近半年GFW的特征在很多方面的变化越来越频繁,在将来介绍TCP阻断时我们会提到。)
还可以进行的实验有:由于当前二型的TTL变化范围是IP个数的整数倍,通过控制DNS查询的TTL使得恰好有GFW的返回(避免动态路由造成的接 收者观察到的TTL不规律变化),观察IP和TTL除以8的余数是否有对应关系,在更改源IP、目标IP对之后这个关系是否仍然成立。这关系到的GFW负载平衡算法及响应计数器(hit counter)的独立性和一致性。事实上对GFW进行穷举给出所有关于GFW的结果也缺乏意义,这里只是提出这样的研究方法,如果读者感兴趣可以继续探究。
每次查询通常会得到一个一型包和三个完全相同的二型包。更换查询命令中type=A为type=MX或者type=AAAA或者其它类型,可以看到nslookup提示收到了损坏的回复包。这是因为GFW的DNS污染模块做得十分粗制滥造。GFW伪造的DNS应答的ANSWER部分通常只有一个RR组成(即一条记录),这个记录的RDATA部分为那8个污染IP之一。对于二型,RR记录的TYPE值是从用户查询之中直接复制的。于是用户就收到了如此奇特的损坏包。DNS响应包的UDP荷载内容特征:
- 一型
- DNS应答包的ANSWER部分的RR记录中的域名部分由0xc00c指代被查询域名。
- RR记录中的TTL设置为5分钟。
- 无论用户查询的TYPE是什么,应答包的TYPE总是设置为A(IPv4地址的意思)、CLASS总是设置为IN。
- 二型
- DNS应答包的ANSWER部分的RR记录中的域名部分是被查询域名的全文。
- RR记录中的TTL设置为1天。
- RR记录中的TYPE和CLASS值是从源IP发送的查询复制的。
触发条件
实际上DNS还有TCP协议部分,实验发现,GFW还没有对TCP协议上的DNS查询进行劫持和污染。匹配规则方面,GFW进行的是子串匹配而不是 精确匹配,并且GFW实际上是先将域名转换为字符串进行匹配的。这一点值得特殊说明的原因是,DNS中域名是这样表示的:一个整数n1代表以"."作分割 最前面的部分的长度,之后n1个字母,之后又是一个数字,若干字母,直到某次的数字为0结束。例如www.youtube.com则是"\x03www\x07youtube\x03com\x00"。因此,事实上就可以观察到,对www.youtube.coma的查询也被劫持了。
现状分析
- 4.36.66.178,关键词。whois:Level 3 Communications, Inc. 位于Broomfield, CO, U.S.
- 203.161.230.171,关键词。whois:POWERBASE-HK位于Hong Kong, HK.
- 211.94.66.147,whois:China United Network Communications Corporation Limited位于Beijing, P.R. China.
- 202.181.7.85,关键词。whois:First Link Internet Services Pty Ltd.位于North Rocks, AU.
- 202.106.1.2,whois:China Unicom Beijing province network位于Beijing, CN.
- 209.145.54.50, 反向解析为dns1.gapp.gov.cn,新闻出版总署的域名解析服务器?目前dns1.gapp.gov.cn现在是219.141.187.13 在bjtelecom。whois:World Internet Services位于San Marcos, CA, US.
- 216.234.179.13,关键词。反向解析为IP-216-234-179-13.tera-byte.com。whois:Tera-byte Dot Com Inc.位于Edmonton, AB, CA.
- 64.33.88.161,反向解析为tonycastro.org.ez-site.net, tonycastro.com, tonycastro.net, thepetclubfl.net。whois:OLM,LLC位于Lisle, IL, U.S.
可见上面的IP大多数并不是中国的。如果有网站架设到了这个IP上,全中国的Twitter、Facebook请求都会被定向到这里——好在GFW 还有HTTP URL关键词的TCP阻断——HTTPS的请求才构成对目标IP的实际压力,相当于中国网民对这个IP发起DDoS攻击,不知道受害网站、ISP是否有索 赔的打算?
我们尝试用bing.com的ip反向搜索功能搜索上面那些DNS污染专用IP,发现了一些有趣的域名。显然,这些域名都是DNS污染的受害域名。
- 例如倒霉的edoors.cn.china.cn,宁波中国门业网,其实是因为edoors.cn被dns污染。一起受害的还有chasedoors.cn.china.cn,美国蔡斯门业(深圳)有限公司。
- 还有*.sf520.com,似乎是一个国内的游戏私服网站。www.sf520.com也是一个私服网站。可见国内行政体系官商勾结之严重,一个"国家信息安全基础设施"竟然还会用来保护一些网游公司的利益。
- 此外还有一些个人blog。www.99tw.net也是一个游戏网站。
- 还有www.why.com.cn,名字起得好。
- 还有www.999sw.com 广东上九生物降解塑料有限公司生物降解树脂|增粘母料|高效保水济|防洪 邮编:523128……这又是怎么一回事呢?不像是被什么反动网站连坐的。还有人问怎么回事怎么会有那么多IP结果。
- www.facebook.comwww.xiaonei.com,怎么回事呢?其实是因为有人不小心把两个地址连起来了,搜索引擎以为这是一个链接,其实这个域名不存在,但是解析的时候遭到了污染,就以为存在这个域名了。
- 倒霉的www.xinsheng.net.cn——武汉市新胜电脑有限公司,因为www.xinsheng.net被连坐。
DNS劫持的防范和利用
之前我们已经谈到,GFW是一套入侵检测系统,仅对流量进行监控,暂没有能力切断网络传输,其"阻断"也只是利用网络协议容易被会话劫持(Session hijacking)的弱点来进行的。使用无连接UDP的DNS查询只是被GFW抢答了,真正的答案就跟在后面。于是应对GFW这种攻击很自然的想法就是:
根据时序特性判断真伪,忽略过早的回复。
通常情况对于分别处于GFW两端的IP,其RTT(Round-trip time,往返延迟)要大于源IP到GFW的RTT,可以设法统计出这两个RTT的合适的均值作为判断真伪的标准。另外由于GFW对基于TCP的DNS请求没有作处理,于是可以指定使用TCP而不是UDP解析域名。也可以通过没有部署GFW的线路到没有被DNS污染的NS进行查询,例如文章一开始提到的"远程解析"。但黑体字标出的两个条件缺一不可,例如网上广为流传的OpenDNS可以反DNS劫持的说法是以讹传讹,因为到OpenDNS服务器的线路上是经由GFW的。
本质的解决办法是给DNS协议增加验证机制,例如DNSSEC(Domain Name System Security Extensions),客户端进行递归查询(Recursive Query)而不查询已经被污染了的递归解析服务器(Recursive/caching name server)。然而缺点是目前并非所有的权威域名解析服务器(Authoritative name server)都支持了DNSSEC。Unbound提供了一个这样的带DNSSEC验证机制的递归解析程序。
另外GFW的DNS劫持还可能被黑客利用、带来对国际国内互联网的严重破坏。一方面,GFW可能在一些紧急时刻按照"国家安全"的需要对所有DNS 查询都进行污染,且可能指定污染后的IP为某个特定IP,使得全球网络流量的一部分直接转移到目标网络,使得目标网络立刻瘫痪。当然我们伟大的祖国郑重承 诺"不率先使用核武器"…另一方面,GFW将伪造的DNS返回包要发送给源IP地址的源端口,如果攻击者伪造源IP,会怎样呢?将会导致著名的增幅攻击:十倍于攻击者发送DNS查询的流量将会返回给伪源IP, 如果伪源IP的端口上没有开启任何服务,很多安全配置不严的系统就需要返回一条ICMP Port Unreachable消息,并且将收到的信息附加到这条ICMP信息之后;如果伪源IP的端口上开启了服务,大量的非法UDP数据涌入将使得伪源IP该 端口提供的服务瘫痪。如果攻击者以1Gbps的速度进行查询,一个小型IDC(DNSpod被攻击事件)甚至一个地域的ISP也会因此瘫痪(暴风影音事 件)。攻击者还可能设置TTL使得这些流量恰好通过GFW产生劫持响应,并在到达实际目标之前被路由丢弃,实现流量"空对空不落地"。攻击者还可能将攻击 流量的目标IP设置伪造成与伪源IP有正常通信或者其他关联的IP,更难以识别。这样实际上就将一个国家级防火墙变成了一个国家级反射放大式拒绝服务攻击跳板。
最为严重的是,这种攻击入门难度极低,任何一个会使用C语言编程的人只要稍微阅读libnet或者libpcap的文档,就可能在几天之内写出这样 的程序。而GFW作为一套入侵防御系统,注定缺乏专门防范这种攻击的能力,因为如果GFW选择性忽略一些DNS查询不进行劫持,网民就有机可乘利用流量掩 护来保证真正的DNS通信不被GFW污染。尤其是UDP这样一种无连接的协议,GFW更加难以分析应对。"反者道之动,弱者道之用。"
参考文献
- 闫伯儒, 方滨兴, 李斌, 王垚. "DNS欺骗攻击的检测和防范". 计算机工程, 32(21):130-132,135. 2006-11.
- Graham Lowe, Patrick Winters, Michael L. Marcus. The Great DNS Wall of China. 注:这篇文章虽然试图通过统计特性了解GFW,但由于实验条件控制不佳、实验结果观察不细致,加上缺乏对GFW的整体观,故没有提供什么有意义的结论。然而美国同学的这种科学态度与实验精神值得我们学习和思考。事实上,这篇文章仍然提供了珍贵的历史资料,读者不妨按照本文逻辑来分析这篇参考文献。阅读过这篇文献的敏感的读者还将在我们后续的文章中看到熟悉的数字。
- KLZ毕业. 入侵防御系统的评测和问题. 注:本文对DNS污染包的分类就是从这篇文章的分类继承而来。
--
Posted By GFW Blog to GFW BLOG at 11/27/2009 04:42:00 AM
--~--~---------~--~----~------------~-------~--~----~
1、请点击www.chinagfw.org访问我们,订阅地址:http://feeds2.feedburner.com/chinagfwblog。2、需要Psiphon2注册邀请的朋友,请向english@sesawe.net发送电子邮件请求,说明 "can I have psiphon2 access" 并告诉您所在的国家。也可以使用Twitter Direct Messages或登陆Psiphon网站直接向Psiphon索取使用邀请。3、GFW Blog现提供最新翻墙工具下载(地址一、二、三),翻墙(突破网络封锁)方法介绍请见本站anti-censorship部分。4、本站热烈欢迎各位朋友投稿或推荐文章,请发邮件至chinagfwblog[at]gmail.com。5、敬请关注、支持、参与Sesawe和黑箱监管集体诉讼。
To unsubscribe from this group, send email to
gfw-blog+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/gfw-blog?hl=zh-CN
-~----------~----~----~----~------~----~------~--~---