the trouble of wall

来源:互联网 发布:mac 单用户模式 u盘 编辑:程序博客网 时间:2024/06/03 18:43
scale GFW(GreatFire Wall防火墙)途径:一是代理(如Shadowsocks、GoAgent),二是VPN。
VPN不是代理,而是隧道技术,传输的内容都是加密的。VPN 无法直接根据网址来判断,一般可以用 IP 路由判断,即国内 IP不走 VPN,国外 IP 走 VPN。VPN 稳定性,专业性更强。
代理有HTTP代理,SOCKS代理
   
一、lantern(蓝灯)
Lantern下载及使用教程:http://www.iyaxi.com/2015-11-17/732.html重要参考
lantern软件其它下载地址:http://fazero.cc/archives/584
lantern译为灯笼,支持windows,Ubuntu,Mac三平台。官网https://www.getlantern.org不能访问,个人网站http://lanterncn.cn/暂可访问。
Lantern由Brave New Software Project,Inc开发,自动检测一个网站是否被封锁,让用户能流畅地访问被封锁的互联网站点。
对那些被封锁的网站,Lantern通过自有的服务器,或者未封锁地区的用户运行的Lantern,来提供访问。如果网站没有被封锁,Lantern选择靠边站。浏览器就能直接访问网站,速度不受影响。
验证:以上已经可以通过lantern上网了。
缺点不支持自定义代理规则,也就是说你只能访问某些它支持的网站,不过大部分需要翻墙的网站都支持。
lantern默认会在本机地址上开启一个 HTTP代理的端口,端口号是 8787。如果你的网络软件跟它运行在同一个操作系统,那么你只需在网络软件的代理界面上设置HTTP 代理,地址填写 127.0.0.1 端口号填写 8787 就可以了,当然,如果你用的是chrome 或是Firefox,还可以通过ProxySwitchyOmega或Autoproxy插件来实现自动切换。 
为了提高访问的速度与便捷?lantern配合ProxySwitchyOmega使用的方法:
Proxy SwitchyOmega原来叫做ProxySwitchySharp,是谷歌浏览器chrome代理插件。可以随时在浏览器的右上角来改变和管理代理服务器。因为用户如果没有自己的代理服务器,这些代理一般情况下是非常不稳定的,当一个代理服务器不可用的时候,使用ProxySwitchySharp就可以快速地切换代理设置,而不必再转到Chrome设置和操作系统的代理设置。
1、Proxy SwitchyOmega的安装
把SwitchyOmega.crx文件直接拖入Chrome浏览器菜单栏的“更多工具”-“扩展程序”页面即可快速安装。
或者,如果你能访问google网站(一般情况下被wall),直接前往 Chrome 应用商店安装。
在chrome界面的右上角(地址栏最右边,如下图蓝色小圈右边的图标(黄色小感叹号位置),移动鼠标至图标,提示:“自定义及控制google chrome”。单击——更多工具——扩展程序。
如果chrome中没有安装ProxySwitchyOmega,则搜索该程序,找到后“添加至chrome"。安装完成后,在地址栏右侧有一个蓝色小圈ProxySwitchyOmega标志。
the <wbr>trouble <wbr>of <wbr>wall

2、Proxy SwitchyOmega配置
 
如果chrome中安装Proxy SwitchyOmega,见下图。
the <wbr>trouble <wbr>of <wbr>wall
以下是详细的配置过程。新建情景模式。点击蓝色小圈标志,”情景模式“可设置lantern的情景模式。
照着下图配置就行了,代理协议为http,代理端口为8787。
 
the <wbr>trouble <wbr>of <wbr>wall

 
 另外,lantern运行中,单击任务状态栏右下角lantern图标,单击“显示蓝灯”转到lantern的web管理界面,单击左上角lantern左边菜单图标,可对lantern进行设置。
 
 
二、goagent
在google 大全——产品——google chrome——google code——cloundplatform——控制台(右上角,用户图标左边)
https://www.google.com/chrome/browser/desktop/index.html
the <wbr>trouble <wbr>of <wbr>wall


 chrome:https://www.google.com/chrome/browser/desktop/index.html?utm_source=google&utm_medium=sem&utm_campaign=1001342|ChromeWin10|US|en|Hybrid|Text|BKWS~TopKWDS-Exact&brand=CHBD
Go-Agent的原理
the <wbr>trouble <wbr>of <wbr>wall
上图基本说明了scall wall的过程。
红线是直连外网(不被允许)。
Go-Agent其实是在本地建立了代理服务器,不直接走网络请求,代理了本地上网的功能。
主要分为两个部分来实现:
一是Go-Agent server,用来部署到googleappengine,实现scall wall。
二是Go-Agentlocal,用来代理本地网络请求,并将其发往Go-Agentserver由server去请求墙外数据,然后再返回给local,最后local将数据返回给客户端。
特别注意:
1、appid(google appengine上申请的应用id)和google ip(则是local将数据发往appengine的ip)。
appid管理:www.appspot.com
2、现在google已经被墙了,有效的googleip已经成为稀缺资源
尽管成功部署server到appengine,也能本地开启Go-Agent代理服务器,如果无有效的google ip,Go-Agentlocal无法将请求转发到部署在appengine上的Go-Agent server,仍然无法scallwall
没有了google ip和googlegae的ip,那么本机的go-agent local与部署在gae上的go-agentserver之间的通信就断裂了,这也是go-agent部署不能成功的原因。
 
 gogo-tester是获取有效googleip的工具,可以参照gogotester项目,获取到有效后更新Go-Agentlocal配置文件(proxy.ini)的iplist项,在此基础上运行local代理,即可实现FQ。
查找google ip(MAC不适用)
这一步是重中之重,那么google ip要怎么查找,可以使用gogotester工具。(所在目录go-agent-crack\GoGoTester2.3.9 .exe)
查找ip的方法想当简单,推荐使用“随机模式”,查找需要花费大量时间,查找完后将ip导出成go-agent所需格式(示例:108.177.9.139|108.177.15.85|216.58.222.163...),截图如下。

the <wbr>trouble <wbr>of <wbr>wall
右键可以将选中的IP导出到用户配置文件(应该是自动生成,在GOAGENT的LOCAL文件夹):proxy.user.ini
GoGo Tester使用时,须保障NOT SCALEWALL网络畅通!否则出现GoGo Tester程序死锁。
经常在设置代理或VPN时,VPN、代理没通,直接连接也无法使用,结果造成死锁。
解决办法:既然代理、VPN没通,那么还是先恢复普通上网模式,GoGoTester就正常了。
the <wbr>trouble <wbr>of <wbr>wall

goagent新功能个人配置文件proxy.user.ini使用
goagent 3.1.0开始支持个人配置文件proxy.user.ini,可以将个人每次需要配置修改的信息(如appid名称、密码等)写入其中,这样每次版本更新就无需像以前那样复制粘贴相关设置到proxy.ini中,只需将自己原来旧版本的proxy.user.ini文件复制到local目录下就可以了,方便了很多。程序会优先到个人配置文件中查询配置信息,个人配置文件中没定义的部分则使用proxy.ini中的默认配置。
 
 
 其中,省略很多细节,关于如何申请appid,如何部署Go-Agentserver,如何在Go-Agent local中配置appid和iplist,可参考小白教程。
 
参见: http://www.cnblogs.com/tesky0125/p/5347409.html详细goagent设置,重要参考。
http://www.cnblogs.com/tesky0125/p/4889637.html
https://github.com/azzvx/gogotester
 
3.部署go-agent-server
既然已经成功创建gaeapp,那么根据appid便可以部署go-agent-server。其实也就是将go-agent-server的代码上传到gae对应的app中。
开始部署之前,还需要开启google弱应用访问权限,关闭两步密码验证,否则go-agent无法访问到gae,在上传过程中会失败。
 
Google账户怎么停用两步验证和启用不够安全的应用的访问权限http://world.22ba.com/article/25.html
1、停用两步验证(停用二次验证)的方法。
 注册gamil邮箱后,两步验证默认是关闭状态的。
 2、启用不够安全的应用的访问权限的方法。
打开网址:https://www.google.com/settings/security/lesssecureapps,然后启用即可。
the <wbr>trouble <wbr>of <wbr>wall

the <wbr>trouble <wbr>of <wbr>wall

 
 
 Goagent项目已经从googlecode移到了github,所以最新下载地址看github的goagent项目主页:https://github.com/goagent/goagent
 使用教程最新版https://old.webapproach.net/goagent-chrome-switchyomega-proxy-2015-latest.html
goagent配置详细教程|谷歌应用goagent配置详细图文介绍http://999abb.blog.163.com/blog/static/2022349420134704431234/
 GoAgent是一个基于GoogleAppengine代理工具,使用的是美国加利福尼亚州山景城Google数据中心IP段。全面兼容IE,FireFox,Chrome的代理工具,使用Python和GoogleApp EngineSDK编写,程序可以在Microsoft Windows,Mac,Linux,Android,iPodTouch,iPhone,iPad,webOS,OpenWrt,Maemo上使用。 
Google AppEngine谷歌应用引擎;谷歌应用程序引擎):http://baike.so.com/doc/5398513-5635921.html
https://console.cloud.google.com/projectselector/appengine
gomail,google可以为一个用一个用户名、密码登录,登录后,如果已建立google app engine id(APP引擎),可以在信息中心选择项目,见下图。
the <wbr>trouble <wbr>of <wbr>wall

 
使用你的gmail邮箱登录谷歌浏览器,登录后,选择产品,在产品中找到App Engine。
2008年4月7号,Google在CampfireOne上介绍了一种简化创建、运行和构建伸缩性Web应用的工具--Google AppEngine。是Google提供的基于Google数据中心的开发、托管网络应用程序的平台,每个 Google AppEngine应用程序都可使用500MB存储空间,以及可支持每月约500万页面浏览量的CPU和宽带。目前每个用户可以免费创建十个应用。
Google App Engine 是一种让您可以在 Google的基础架构上运行您的网络应用程序。Google App Engine应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展。
使用 Google AppEngine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务。简而言之,GoogleApp Engine允许你本地使用Google基础设施构建Web应用,待其完工之后再将其部署到Google基础设施之上。
这次发布的是没有包含全部特性的预览版,提供了一个配额系统,它限制了在预览期间应用免费可用的存储、CPU和带宽。一旦预览期结束,配额仍将免费,但是开发者需要按需购买额外资源。额外资源的价格尚未公布(甚至可能尚未确定)。
预览版的配额包括:3个应用/开发者、500MB存储/应用、2000封邮件/天(连续24小时)、10 GB入站带宽、10GB出站带宽、200M CPU兆周、650k HTTP请求、2.5M Datastore API调用和160k URL FetchAPI调用。
您可以使用Google提供的免费域名(见扩展阅读)为您的应用程序提供服务,也可以使用 Google Apps从您自己的域为它提供服务。您可以与全世界的人共享您的应用程序,也可以限制为只有您组织内的成员可以访问。
您可以免费开始使用 AppEngine。注册一个免费帐户即可开发和发布您的应用程序以供全世界的人共享,而且不需要承担任何费用和责任。每个免费帐户都可使用多达500MB 的持久存储空间,以及可支持每月约 500 万页面浏览量的足够 CPU 和宽带。
App Engine不同于其他方案:AppEngine不是网格计算-它不能运行任意的作业。它不提供物理主机但提供了打包代码上传的方式。用户在只需要在代码中指定了response和request,剩下的运行和部署的任务就交给了AppEngine。用户不需要预留资源,例如RAM、CPU或者诸如此类。

应用程序环境
通过 Google AppEngine,即使在重载和数据量极大的情况下,也可以轻松构建能安全运行的应用程序。该环境包括以下特性:
动态网络服务,提供对常用网络技术的完全支持
持久存储有查询、分类和事务
自动扩展和载荷平衡
用于对用户进行身份验证和使用 Google 帐户发送电子邮件的API
一种功能完整的本地开发环境,可以在您的计算机上模拟 Google AppEngine
当前,Google App Engine官方正式 支持 Python语言、 JAVA 语言、Go语言和PHP语言,而对应perl的开发工作,Google的开发小组也正在进行。
虽然,Google AppEngine支持的语言并不多,但是,借助强大的JAVA语言的Java ScriptingEngine功能,实际上很多脚本语言都可以在Google AppEngine上运行,例如Scala、Groovy、JavaScript、PHP、JRuby等等。
 
 
三、ShadowSocks(简称SS)
是一款基于Socks5安全加密协议 socks5代理软件。与VPN相比,不用受制于“系统全局代理”模式的困扰,防止GFW通过分析流量特征从而干扰的问题。而又不像GoAgent这种集中式爬墙模式,一般不会出现全局封锁等现象。
任意浏览器+ShadowSocks,可以自动判断部分常见被墻网站走代理,其他网站不走代理。
Chrome+ShadowSocks+谷歌浏览器代理插件ProxySwitchyOmega,更智能,除了上面的功能外还能自己自定义哪些网站走代理。

 
在Shadowsocks里面,系统代理模式有两种,一种是“系统代理模式”,另一种是“PAC代理模式”。
Shadowsocks 有众多客户端,具体使用方法请看这篇文章。https://ttt.tt/150/
https://portal.shadowsocks.com/downloads.php?action=displaycat&catid=2
 
通过SS的PAC(代理自动配置PAC:Proxy auto-config)和全局模式。PAC模式是只对被墙的网站使用SS,全局就是无论什么网站都用SS。可以做到根据网址判断自动开启,也可以全局代理。
SS的PAC文本文件,也可以用高墙list来更新列表。列表中的就是全部被墙的,直接走SS代理。
PAC模式的原理以及如何修改PAC文件、user-rule文件实现自动代理:http://www.cnblogs.com/edward2013/p/5560836.html
 
什么是PAC
代理自动配置(英语:Proxyauto-config,简称PAC)是一种网页浏览器技术,用于定义浏览器该如何自动选择适当的代理服务器来访问一个网址。
一个PAC文件包含一个JavaScript形式的函数“FindProxyForURL(url,host)”。这个函数返回一个包含一个或多个访问规则的字符串。用户代理根据这些规则适用一个特定的代理其或者直接访问。当一个代理服务器无法响应的时候,多个访问规则提供了其他的后备访问方法。浏览器在访问其他页面以前,首先访问这个PAC文件。PAC文件中的URL可能是手工配置的,也可能是是通过WPAD网页的网络代理自发现协议(WebProxy Autodiscovery Protocol)自动配置的。
然而,到目前为止人们并不怎么使用这一功能。这是因为需要事先在浏览器中注册设置文件的位置(URL)。是否有设置文件以及设置文件的位置都需要事先咨询管理员,管理员则需要将该URL通知全体用户。当使用IE时打开“工具”-“因特网选项”-“接驳”-“LAN设置”,而如果使用NetscapeNavigator(NN)时则打开“编辑”-“设置”-“详细”-“代理服务器”后注册该URL。
上面是从维基百科摘录的关于PAC的解释,我做了一个简单的图片解释什么是PAC:
the <wbr>trouble <wbr>of <wbr>wall

 简单的讲,PAC就是一种配置,它能让你的浏览器智能判断哪些网站走代理,哪些不需要走代理。用过Shadowsocks的朋友应该会知道,shadowsocks.exe 同级目录下有一个 pac.txt 文件,这正是我们本文刚刚所说的pac配置文件。
可以看到pac配置文件是用的JavaScript语法,里面有一个变量rules,是一个JSon数组格式的数据类型,数组里面存放的是各种URL的通配符,那么在pac模式下,如果当访问符合这个数组里面任意一个URL通配符的网址时,系统会走代理,反之直连。比如图中pac配置,如果访问http://www.cloudflare.com/index.php时,会走代理,而访问百度、新浪等国内网站则会选择直连方式。
PAC的优势
PAC自动代理属于智能判断模式,相比全局代理,它的优点有:
不影响国内网站的访问速度,防止无意义的绕路
节省Shadowsocks服务的流量,节省服务器资源
控制方便
PAC文件及user-rule文件的语法规则
那么,当一个网站被墙,如何添加到PAC里面让其能够正常访问呢?在Shadowsocks里面,可以有如下两个方式:
1. 添加到 pac.txt 文件中
编辑 pac.txt 文件,模仿里面的一些URL通配符,再添加一个,例如"||ip138.com", ,注意不要忘记了 ,半角逗号,那么意思就是所有ip138.com域名下的网址都将走Shadowsocks代理,打开ip138可以看到IP已经变成Shadowsocks所用的国外代理了
2. 添加到 user-rule.txt 文件中
编辑 user-rule.txt 文件,这里和 pac.txt文件语法不完全相同,user-rule文件中,每一行表示一个URL通配符,但是通配符语法类似。例如添加一行||ip138.com^,然后记得右键小飞机-PAC-从GFWList更新本地PAC,打开ip138可以看到IP已经变成Shadowsocks所用的国外代理了
注意末尾不要忘记 ^符号,意思是要么在这个符号的地方结束,要么后面跟着?,/等符号。
自定义代理规则的设置语法与GFWlist相同,语法规则如下:
通配符支持。比如 *.example.com/* 实际书写时可省略 *,如.example.com/ , 和 *.example.com/* 效果一样
正则表达式支持。以 \ 开始和结束, 如 \[\w]+:\/\/example.com\
例外规则 @@ ,如 @@*.example.com/* 满足 @@ 后规则的地址不使用代理
匹配地址开始和结尾 | ,如 |http://example.com 、 example.com| 分别表示以 http://example.com 开始和以 example.com结束的地址
|| 标记,如 ||example.com 则 http://example.com 、https://example.com 、 ftp://example.com 等地址均满足条件
注释 ! 。 如 !我是注释
更多user-rule.txt语法规则,可以参考AdBlockPlus过滤规则https://adblockplus.org/en/filter-cheatsheet
 
 三、scale wall byVPN 
VPN稳定靠谱,是目前最为有效的scalewall方法。即建立一个国外的虚拟专用网络,你请求的页面通过该网络传输数据,绕过GFW or otherwall,访问被锁网站。
http://bbs.ihei5.com/forum-95-1.html
http://blog.sina.com.cn/s/articlelist_5616970923_0_1.html
 
Windows 7VPN设置:
在画面右下角,点选网络连接,然后选择“打开网络共享中心——设置新的连接或网络——使用Internet连接(VPN)——通过Internet使用虚拟专用网络(VPN)来连接——稍后设置Internet连接;
在“Internet地址”里,填上VPN提供的IP地址。填好IP后,其它东西都不用管,直接点击下一步。目标名称填写“VPN连接”;
填VPN的用户名和密码,先不要填,点“创建”;
到这里就完成的连接设置导向。点击“关闭”。;
回到桌面右键点击“网络”->“属性”,再点击一下左边的“更改适配器设置”;
找到刚才建好的“VPN连接”并双击打开;
填写提供的VPN用户名和密码,“域”可以不用填写。然后点击属性->安全;
在“数据加密”这一项选中“可选加密(没有加密也可以连接)”选好后点击“确定”。VPN类型自动,使用这些协议选择CHAP,MS-CHAPv2;
整个Windows7VPN过程都设置完成了。点击“连接”就可以了。

the <wbr>trouble <wbr>of <wbr>wall

the <wbr>trouble <wbr>of <wbr>wall
 
 
问题1:VPN连接上了,还是打不开Facebook。
可能因DNS污染(DNS cachepoisoning维基百科)。国内DNS服务器把一些希望过滤的域名指向了错误的IP地址,即使我们成功连接上了VPN,加密的数据流躲过了过滤系统,但是我们在访问facebook的时候,解析到了一个永远也无法访问的IP地址。
解决方法,把当前正在使用的网络连接的默认DNS改为国外公共DNS。最广为人知的诚实可靠就是Google提供的DNS,比如:8.8.8.8;8.8.4.4
 
http://jingyan.baidu.com/article/ab69b270fd64682ca6189f76.html
http://jingyan.baidu.com/article/b907e627d64fd646e6891c65.html
 
 
0 0