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来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...
随机推荐
- JavaOne_2016演讲视频:
http://list.youku.com/albumlist/show?id=28553407&qq-pf-to=pcqq.group
- ArcGIS 点到直线的距离
/****点到直线的距离*** * 过点(x1,y1)和点(x2,y2)的直线方程为:KX -Y + (x2y1 - x1y2)/(x2-x1) = 0 * 设直线斜率为K = (y2-y1)/(x2 ...
- HDU4871 Shortest-path tree(最短路径树 + 树的点分治)
题目大概要先求一张边有权的图的根为1的最短路径树,要满足根到各点路径序列的字典序最小:然后求这棵最短路径树包含k个结点的最长路径的长度和个数. 首先先构造出这棵字典序最小的最短路径树..好吧,我太傻逼 ...
- ASP.NET 操作Cookie详解 增加,修改,删除
Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密).定义于RFC2109.它是网景公司的前雇员Lou Montulli在1993年3 ...
- jquery.cookie.js使用
1.下载jquery.cookie.js 官网:http://plugins.jquery.com/cookie/ 或 http://pan.baidu.com/s/1mgynA8g 2.使用方法 $ ...
- Codeforces Round #249 (Div. 2) A. Black Square
水题 #include <iostream> #include <vector> #include <algorithm> using namespace std; ...
- Google测试分享-测试经理
首先大家可以思考下,google的测试经理角色必须具备什么样的能力.据不完全统计,google的测试经理,超过一半之前都做过TE的角色(大家可以想想为啥):对于与被测产品相关的任何使用问题,测试经理都 ...
- [BZOJ2796][Poi2012]Fibonacci Representation
由于是斐波那契数列,所以$x_i+x_j<=x_k,i<j<k$ 所以猜测可以贪心选择两边近的数处理. #include<cstdio> #include<algo ...
- POJ 1279 Art Gallery(半平面交)
题目链接 回忆了一下,半平面交,整理了一下模版. #include <cstdio> #include <cstring> #include <string> #i ...
- js-小效果-手风琴
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...