geek uninstaller官网打不开,geek uninstaller官网翻译

  geek uninstaller官网打不开,geek uninstaller官网翻译

  核心提示:gaeproxy的“https代理”函数由作者自建服务器提供,并非通过GAE转发,打开这个选项就意味着所有的https请求都会通过第三方代理服务器组成;由于各种原因,很多人实际上无法正常连接goagent服务器端,但是手机端好像还是可以用的。这是因为这个“https代理”功能允许用户通过私有VPS进行代理访问,我们对这些服务器的所有者、操作者和安全性一无所知。这一切,都没有在google code或google play页面告知用户

  Gaeproxy是goagent在android上的客户端,由Max Lv编写,goagent在google代码页上介绍是作为在android上使用goagent的解决方案。使用这个软件给我带来了很多便利,但是不记得什么时候不打开“https代理”选项就无法访问任何网站了。打开这个选项后,会出现一些问题3354,比如G客户端不显示图片(根据后面的文章,我此时实际上无法连接GAE)。当时懒得深入研究,也就没在意。

  由于最近的一次升级,gaeproxy不再支持android 2.2系统,其项目主页提示2.2用户使用0.19.1版本。但是使用0.19.1版就再也打不开“https代理”选项了。只要选中该选项,就会一直提示您gae代理启用失败;取消这个选项后,虽然显示gae代理成功启用,但是没有网站(无论是http还是https)可以访问,于是我开始了我的研究之旅:

  1.找官方签名版。

  通过阅读问题231,我了解到“所有第三方编译版本不能使用启用HTTPS代理选项”和“此选项打开后,所有HTTPS流量将由远程服务器转发”。为了避免中间人攻击,当这个特性被启用时,gaeproxy将验证apk的签名。

  所以想下载一个官方签名版。我误以为google code上的版本是自动编译的,签名不正确,所以提交了476期,希望作者提供正确签名的版本。作者回应,“正式版见下载页面,HTTPS模式不再支持2.2系统。请根据Wiki自行导入根证书”,此时,我还不明白后半句话(见下文,你就明白了),但我确实明白前半句话。google code是正式版,为什么我打不开「https代理」?

  搜索后发现,很多所谓的“中国式去广告版”都声称可以开启“https代理”功能。看完这篇文章(你需要读一下),你了解到gaeproxy验证签名实际上是访问一个页面(https://auth-gaeproxy.rhcloud.com/auth.php)并提供基于时间戳和apk签名的sig。发现这个地址已经无法访问了,最新版本的代码(github上的gae proxy/src/org/gae proxy/gae proxy Service.java)访问了http://myhosts.sinaapp.com/auth-4.php.看来作者抛弃了容易被墙挡住的rhcloud,在版本更新过程中换成了sinaapp。能不能自己编译一个版本,把代码里写的rhcloud地址换成sinaapp的,然后通过前述技术糊弄验证?

  我尝试向作者要一个修改了验证地址的0.19.1版本(477期),作者回复“不好意思,0.19.1已经不支持HTTPS代理了。解决方法:1。将你的ROM升级到2.3。2.使用伪造证书的HTTPS模式。”此时此刻,我怀疑“https代理”这个功能的意义。3354不也是“代理https流量”的意思吗?通读一遍,终于看到433期,了解到两个惊人的事实:

  (1)作者说“gaeproxy的https代理有两种模式。第一种模式是本地伪造证书由GAE转发,第二种模式是第三方服务器透明转发。当HTTPS代理选项未打开时,默认情况下使用第一种方法。第二种方法属于私有方法,从App内的置顶广告中提供服务器资源。第二部分中的服务器代码部署在SAE上,以保证可靠性。SAE对开源应用有资源支持,不涉及收费。当HTTPS代理选项关闭时,它将由GAE转发

  也就是说,“https代理”功能并不是指“通过goagent代理https流量”。相反,它的意思是“代理https流量,不使用goagent”,而是通过第三方服务,这令人惊讶。3354我们之所以信任goagent,是因为我们信任GAE和谷歌。作者还说“所有HTTPS流量都会被远程服务器转发,所有通过HTTPS传输的敏感信息都可以通过恶意修改这部分代码轻易获取”,那我们的https访问原来一直是通过第三方代理的?作者从未明确告知过我们

  (2)据笔者了解,如果不开启该功能,应该也能正常访问http网站;通过导入证书,您应该能够访问https网站。但其实不止我一个人。很多人不打开这个功能就连不上任何网站。也有很多人打开这个功能后无法显示图片(http访问异常),表示很多人使用gaeproxy这个软件,根本只是在用作者提供的第三方代理!

  2.找能正常连接GAE的版本。

  知道了这些事实,我再也不敢用“https代理”这个功能了。我导入了证书,我只想用正常的goagent(我承认导入证书也有风险),但是无论什么版本的gaeproxy都可以用,软件提示已经启用了gae服务,系统日志和SuperSU日志也显示iptables写对了,redsocks启动正确。goagent的1984端口也正常开放,但是无法连接GAE(go agent客户端应该有问题),所以根本无法访问任何网站(见问题478)。我还换了不同的goagent服务器端,甚至试过旧的goagent1.8.11/gaeproxy0.16.7和goagent1.7.8/gaeproxy0.15.6,都不行。

  翻看代码历史,发现0.20.2的更新内容是“修复Android 2.2上的问题”,很奇怪。作者不是说0.19.1之后就不再支持2.2了吗?而且0.20.1的更新还写着“更新到python 2.7.2新Go Agent”。作者说Python不能用于android 2.2(其他地方没有这种说法)。0.20.2还能在android 2.2上运行吗?事实证明是可以的。python版本是2.7,安装后完全正常。可以访问http/https网站。

  这个版本修改了什么产生了这么神奇的效果?看了代码没看懂。第一种猜测是软件必须通过某种验证才能启用基本功能。不过这个版本的验证地址虽然是sinaapp,但是验证页面是错误的,所以无法开启“https代理”功能。不过这个猜测至少可以说明一个问题,那就是旧版本的goagent服务器用旧版本的gaeproxy当时还能用,现在用不了了。还有一种猜测是还有一个死地址(作者在每个版本的代码里都有很多死地址,甚至是IP的),但是我只是简单的浏览了几个版本的历史,没有找到重点;还有一种猜测是goagent客户端没有使用python2.7,因为github上最早的goagent 1.7.8版本已经是python27环境了,但如果是这样,gaeproxy不就一直只是第三方https代理吗?应该是不可能的。所以这个问题需要进一步研究,笔者可能需要分析一下。

  3.“https代理”功能研究

  虽然我不敢再用这个函数了,但是我做了一些研究,发现gaeproxy的原理其实是通过iptables通过redsocks转发设备上的所有请求,而redsocks在http流量上使用goagent(端口1984)生成的代理,如果不勾选“https代理”,在https流量上仍然会到1984。如果选中,它将成为gaeproxy从sinaapp页面获取的服务器。端口53的代理是美国的一个VPS。从显示客户地址(如https://ip-lookup.net)的网页上也可以看出,当“https代理”选项开启后,我们的地址就变成了一个VPS的地址(我测试了一个123systems VPS,臭名昭著)。

  据此可以知道,作者不仅要防止中间人攻击,而且要防止其提供的自由代理被滥用或阻塞。其实很容易找到3354。在redsocks.conf里只要你有2.3以上版本的设备,安装0.21.1版本(0.21.2版本在我的Nexus 10上用不了,见479期),甚至连一次“https代理”.经过测试,对于不能打开该功能的老款gaeproxy也可以使用。

  从整个研究过程可以看出,作者其实很早就发现了android设备上的goagent证书不能很好的使用(即使导入了也还是有问题),android上goagent对https的转发性能并不理想,所以在0.10.2版本中引入了第三方服务,当时用的是FreeSocksProxy.org;后来在VPS上改成了这个自建代理。其实我很惊讶53口代理能带来这么强的速度和承载能力。在——coolapk上大约有467,750次下载,在google play上有100,000500,000次下载。不知道作者用了多少台服务器做这个“https代理”。

  我很佩服作者的公益精神和技术能力,但是在任何软件介绍和项目页面中阐述这一点都是非常不合适的。从学生时代开始,很多极客朋友都有这个想法。——我们写我们的,用户都是傻X,就用吧。其实我同意用户有权利,也应该是傻子。他们不应该像我一样研究一个软件的代码来使用它。面向普通用户的软件要好用。但这种轻松伴随着一个要求,即——用户有选择的权利。虽然用户可以愚蠢地使用软件,但在涉及到自己的切身利益,尤其是隐私问题时,他们有知情权和选择权。

  独立的软件作者往往不会因为写作而获得金钱回报,研究问题纯粹是兴趣和公共利益。但只要你认为自己是极客,你就有同样的社会责任。这个责任不仅要求你做对社会有益的事情,还要求你把这个“你认为对社会有益的事情”公之于众,接受社会的监督。这种责任不仅要求你为用户提供好的东西,还要求你允许用户自己去判断“你认为好的东西”。这也是自由的要义——精神和意志上的自由才是真正的自由,受蒙蔽而使用免费的“自由软件”,蒙蔽用户而发布“自由软件”,均非真正的自由。

  也许有人不同意给你提供免费服务,你就放下筷子骂你妈?众所周知,信息权力已经成为一种真正能影响社会的权力,比如谷歌,免费向全世界提供Gmail服务。虽然我们没有支付任何费用,但它有义务保证用户的数据和隐私安全,有义务接受全世界各种眼睛(包括黑客)的监督;比如国内很多商业半商业网站,明文存储的密码给无数人带来了损失。正是因为信息权力不受监督。3354一方面政府有权力要求明文存储密码,另一方面设计网站安全流程的权力不受公众监督。任何不受监督的权力必然导致腐败,即使这种腐败是一种极为特别的形式——掌握权力者本身甚至可能并未参与,但绝不意味着他可以置身世外。在开源领域,虽然作者的代码已经公开,但他仍然有责任向公众介绍软件的机制,尤其是涉及隐私的部分和代码外的黑箱。

  关于gaeproxy软件的问题,笔者从来没有主动向公众介绍过其“https代理”功能的原理,对这个误导性的名字一直很认真。除此之外,还有在开源代码之外设置的验证服务器和代理服务器,这些都是很多黑箱。其中一个带有陷阱,就会给数万用户造成不可估量的损失。即使作者本人没有参与窃取隐私,这种不透明的过程仍然可能被破解和利用。其实很容易知道这个软件使用的第三方代理的地址。一旦这些VPS被攻破,拿到代理的日志后就可以获得很多有价值的隐私信息。如果这些代理服务器被进一步用于中间人攻击,后果将不堪设想。

  即使我们无比相信开源软件的作者,我们也无法相信不受监督的权力。请将自由还给自由软件的用户。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: