Go-Agent原理分析及FQ介绍
作为一个程序员,相信大家是极度依赖google/stackoverflow/github的,可是国内有强大的GFW存在,以至于编程少了很多乐趣。
最近闹GFW狂潮,很多Chrome插件被封,连Shadow-Socks/Go-Agent的github主页都下线了,又得花心思找各种VPN,关键还不靠谱。
翻不了墙这件事激起我搞清楚Go-Agent的兴趣,以及自己重新来部署Go-Agent的动力。
文章中没有给出纯手工部署Go-Agent并动态更新google ip的具体操作步骤,但其中原理还是会介绍的,具体步骤可以参考go-agent-crack和小白教程。
首先来说说Go-Agent的原理。先看图,通过图示相信大家了解大致的FQ过程。
上图基本说明了FQ的过程,红线是直连外网,当然这是不被允许的。那么Go-Agent大神出现了,依赖google提供的gae服务,解决了我等程序员小屌丝的苦恼。
简单说明一下,Go-Agent其实是在本地建立了代理服务器,代理了本地上网的功能,不直接走网络请求。
主要分为两个部分来实现,其一是Go-Agent server,用来部署到google appengine,实现真实的FQ过程。
其二是Go-Agent local,用来代理本地网络请求,并将其发往Go-Agent server,由server去请求墙外数据,然后再返回给local,最后local将数据返回给客户端。
根据Go-Agent的配置项,其中比较重要的两项是appid和google ip,appid即google appengine上申请的应用id,而google ip则是local将数据发往appengine的ip。
现在网络上流传的关于Go-Agent 配置FQ的文章,大多数是国内还未封杀google的时候写的,主要步骤涉及上面重要项之一appid。
而现在虽然能成功部署server到appengine,也能本地开启Go-Agent 代理服务器,但就是无法FQ,其原因主要是重要项之二google ip。
如果没有有效的google ip,Go-Agent local无法将请求转发到部署在appengine上的Go-Agent server。
那么如何获取有效的google ip,gogo-tester大神又出现了,为我们扫清了获取google ip的障碍,可以参照gogotester项目,获取到有效后更新Go-Agent local配置文件iplist项,在此基础上运行local代理,即可实现FQ。
其中,省略很多细节,关于如何申请appid,如何部署Go-Agent server,如何在Go-Agent local中配置appid和iplist,可参考小白教程。
最后,为了让大家免于手动配置Go-Agent的麻烦,推荐大家使用go-agent-crack或者XX-Net项目。
go-agent-crack是一个内置了appid和google ip的开源项目,无须自己部署go-agent server到google gae,下载后启动本地local/goagent即可。具体可参考小白教程。
XX-NET基于Go-Agent ,将所有的配置自动化、可视化,其操作和部署流程非常简单。如果大家在部署XX-Net的过程中遇到任何问题,可查看项目提问区,实现不行可留言。
以上记录自己纯手工部署Go-Agent的过程,以及探索自动化部署Go-Agent的结果。
注释:文章本就是与FQ有关,其中提到的网络连接有可能被墙,如果疑问可以留言。另外,FQ不易,且翻且珍惜。
Go-Agent原理分析及FQ介绍的更多相关文章
- (转)Android 系统 root 破解原理分析
现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...
- synchronized 原理分析
synchronized 原理分析 1. synchronized 介绍 在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐 ...
- 知识点:synchronized 原理分析
synchronized 原理分析 1. synchronized 介绍 在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐式的加 ...
- Android 系统 root 破解原理分析 (续)
上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...
- 转载:AbstractQueuedSynchronizer的介绍和原理分析
简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
- AbstractQueuedSynchronizer的介绍和原理分析(转)
简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
- Servlet过滤器介绍之原理分析
zhangjunhd 的BLOG 写留言去学院学习发消息 加友情链接进家园 加好友 博客统计信息 51CTO博客之星 用户名:zhangjunhd 文章数:110 评论数:858 访问量:19 ...
- Hadoop数据管理介绍及原理分析
Hadoop数据管理介绍及原理分析 最近2014大数据会议正如火如荼的进行着,Hadoop之父Doug Cutting也被邀参加,我有幸听了他的演讲并获得亲笔签名书一本,发现他竟然是左手写字,当然这个 ...
- AbstractQueuedSynchronizer的介绍和原理分析
简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
随机推荐
- iOS开发实用干货——强化你的Xcode控制台
f(x) 郑秀晶程序员不要整天看代码,偶尔也要看看风景?? www.90168.org先上一张我的Xcode控制台的图片让你们感受一下 酷炫控制台 是不是觉得很酷?不过仅仅是酷还是远远不够的,当你点击 ...
- 简单的css 菜单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法1 - 条件判断法
本文来源于:http://blog.csdn.net/zhubaitian/article/details/39293883 Robotium的测试类ActivityInstrumentationTe ...
- Js提示框
百度搜索 1.artDialog 2.ymPrompt 以下网站提供资料参考 http://www.17sucai.com/ http://www.juheweb.com/ http://www.5i ...
- CF#335 Sorting Railway Cars
Sorting Railway Cars time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- Diophantus of Alexandria[HDU1299]
Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Ot ...
- Squid的简单使用
1. squid配置 # Squid normally listens to port http_port hosts_file /etc/hosts cache_access_log /var/lo ...
- java中的IO操作总结
一.InputStream重用技巧(利用ByteArrayOutputStream) 对同一个InputStream对象进行使用多次. 比如,客户端从服务器获取数据 ,利用HttpURLConnect ...
- CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
1.下载OpenResty和Redis OpenResty下载地址:wget http://openresty.org/download/ngx_openresty-1.4.3.6.tar.gz Re ...
- ACM: FZU 2150 Fire Game - DFS+BFS+枝剪 或者 纯BFS+枝剪
FZU 2150 Fire Game Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...