作为一个程序员,相信大家是极度依赖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. 转载:robotium typeText与enterText区别

    solo.typeText和solo.enterText方法都可以对EditeText进行测试,达到的测试目的是一样的.存在几点不同: 1.实现上,typeText方法是robotium框架调用系统I ...

  2. SPOJ TSUM Triple Sums(FFT + 容斥)

    题目 Source http://www.spoj.com/problems/TSUM/ Description You're given a sequence s of N distinct int ...

  3. Linux chkconfig 命令详解

    一.简介 chkconfig 命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 二.安装&启动 us ...

  4. 【Excel】Excel根据单元格背景色求和

    例:用公式计算单元格背景色为浅蓝色的数字之和    步骤一: Office 2003 Insert->Name->Define,Names in workbook输入getColor或ge ...

  5. iOS学习13之OC NSString类

    C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...

  6. Theano深度学习结构分析

    Reference:Theano入门三部曲 http://deeplearning.net/tutorial/logreg.html  (Softmax回归) http://deeplearning. ...

  7. 【ZOJ】3640 Help Me Escape

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4808 题意:一个吸血鬼初始攻击力为f.n条路,他每次等概率选择一条路.如果攻击 ...

  8. POJ 1260 Pearls 简单dp

    1.POJ 1260 2.链接:http://poj.org/problem?id=1260 3.总结:不太懂dp,看了题解 http://www.cnblogs.com/lyy289065406/a ...

  9. XCode编译文件过多导致内存吃紧解决方法

    XCode编译文件过多导致内存吃紧解决方法 /Users/~~/Library/Developer/Xcode/DerivedData 1) 然后 找到编译文件 删除 就好了哦 快去试试看吧

  10. 通过hibernate session.connection()获得数据库连接时,导致的查询缓慢甚至假死机问题

    在使用hibernate的应用中,如果需要直接使用Java.sql.Connection,一般我们是通过hibernate的session.connection()获得的,然后session.clos ...