作为一个程序员,相信大家是极度依赖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介绍的更多相关文章

  1. (转)Android 系统 root 破解原理分析

    现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易.但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Lin ...

  2. synchronized 原理分析

    synchronized 原理分析 1. synchronized 介绍    在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐 ...

  3. 知识点:synchronized 原理分析

    synchronized 原理分析 1. synchronized 介绍 在并发程序中,这个关键字可能是出现频率最高的一个字段,他可以避免多线程中的安全问题,对代码进行同步.同步的方式其实就是隐式的加 ...

  4. Android 系统 root 破解原理分析 (续)

    上文<Android系统root破解原理分析>介绍了Android系统root破解之后,应用程序获得root权限的原理.有一些网友提出对于root破解过程比较感兴趣,也提出了疑问.本文将会 ...

  5. 转载:AbstractQueuedSynchronizer的介绍和原理分析

    简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...

  6. AbstractQueuedSynchronizer的介绍和原理分析(转)

    简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...

  7. Servlet过滤器介绍之原理分析

    zhangjunhd 的BLOG     写留言去学院学习发消息 加友情链接进家园 加好友 博客统计信息 51CTO博客之星 用户名:zhangjunhd 文章数:110 评论数:858 访问量:19 ...

  8. Hadoop数据管理介绍及原理分析

    Hadoop数据管理介绍及原理分析 最近2014大数据会议正如火如荼的进行着,Hadoop之父Doug Cutting也被邀参加,我有幸听了他的演讲并获得亲笔签名书一本,发现他竟然是左手写字,当然这个 ...

  9. AbstractQueuedSynchronizer的介绍和原理分析

    简介 提供了一个基于FIFO队列,可以用于构建锁或者其他相关同步装置的基础框架.该同步器(以下简称同步器)利用了一个int来表示状态,期望它能够成为实现大部分同步需求的基础.使用的方法是继承,子类通过 ...

随机推荐

  1. BZOJ2434 [Noi2011]阿狸的打字机(AC自动机 + fail树 + DFS序 + 线段树)

    题目这么说的: 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机.打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母.经阿狸研究发现,这个打字机是这样工作的: 输入小 ...

  2. BZOJ1950 : [Ceoi2006]Link

    显然在最优解中,添加的边都是从$1$出发的. 这个图是一个环套树的结构,对于树的部分,显然叶子节点必须加边. 因此可以自底向上确定树中哪些节点需要加边,同时得到$1$到环上每个点的距离. 对于每个环, ...

  3. mysql的关于TABLE_SCHEMA的sql语句和nformation_schema表

    1.查询sjcenter数据库里开头为sj_demo和sj_onlyinv的所有表的总条数 select sum(table_rows) from (select table_name,table_r ...

  4. 使用 Sublime Text 做 Javascript 编辑器 - 集成 SublimeCodeIntel 实现代码智能提示及自动完成

    Sublime Text 是一个强大并具有很强扩展性的 IDE,可通过为其安装 SublimeCodeIntel 插件实现代码智能提示和自动完成功能. 目前该插件支持以下语言: JavaScript, ...

  5. ACM: 畅通工程-并查集-解题报告

    畅通工程 Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description 某省调查城镇交通状况 ...

  6. Unity5.x版本AssetBundle加载研究

    之前说了 “Unity5.x版本AssetBundle打包研究”,没看过的请先看一下:http://www.shihuanjue.com/?p=57 再来看本文,有一定的连接性. 先梳理一下思路: 要 ...

  7. Selenium_获取相对坐标

    <html> <head> <title>位置</title> <style> .test { background: url(" ...

  8. SpringMVC从Controller跳转到另一个Controller

    1. 需求背景   需求:spring MVC框架controller间跳转,需重定向.有几种情况:不带参数跳转,带参数拼接url形式跳转,带参数不拼接参数跳转,页面也能显示. 本来以为挺简单的一件事 ...

  9. Setting start page of Windows Phone dynamically through code

    Essentially this one line of code will set the start page of the application. var navTo = new Uri(&q ...

  10. CAS单点登录配置

    见http://download.csdn.net/detail/u010786672/6942715下载.