GoAgent配置PHP实现代理

前几天做项目时看到同事使用GoAgent做代理处理事情。便想到自己虽然知道有代理这个东西,但是对其如何配置并不是很熟悉,因此便决定研究一下常见代理软件的配置方法。

GoAgent是一个比较老的代理软件了,以前主要是为那些不甘寂寞的人翻墙使用。现在该项目不知道什么原因已经删库了(听说改名为xxnet了),现在已经没有官方的源,如果需要下载的话可以到GitHub自己搜索下载。本次配置的版本就是从GitHub下载的[3.2.3]版。
作为学习的第一个代理软件,本想用最多两个小时就可以配置成功,没成想却耗费了将近7个小时,网上有许多文档估计没有实践过,有些并不能直接使用。

环境介绍

  • GoAgent 3.2.3
  • Kali
  • PHP7.0
    PHP需要安装并开启Php-Curl,否则会报错
  • Apache2
  • Win10
  • FireFox

本地配置

解压下载的GoAgent软件,里面主要有两个文件夹server和local。顾名思义,server文件夹中的文件就是需要上传至服务端,本次实验中主要用到了server文件夹中php目录下的index.php文件(relay.php文件的用法暂时未研究,后期再继续增加)。local则是在本地端需要配置及运行的文件,GooAgent的配置文件为proxy.ini,关于PHP代理的主要是proxy.ini[php]后面的选项。

1
2
3
4
5
6
7
8
9
[php]
enable = 1
password = 123456
crlf = 0
validate = 0
keepalive = 0
listen = 127.0.0.1:8088
fetchserver = http://*********/go.php
hosts = *********
  • enable
    表示启用该类型的代理,在设置时可以根据需要启用不同的代理
  • password
    连接代理文件时的密码,默认是123456
  • listen
    监听的ip与端口,在浏览器中设置代理时需要配置该IP与端口
  • fetchserver
    代理PHP程序文件所在的地址
  • hosts
    主机地址
    网上大部分的文章都没有要求配置该选项,但是本次实验中,发现该选项必须配置,不然容易出错,需要配置文代理文件所在的主机(无需加协议)

启动GoAgent

Win中直接运行GoAgent.exe即可

服务端配置

将server目录下php文件夹中的index.php文件上传至web服务器中可以访问到的目录下。可以在浏览器中访问一下是否可以连通,访问该文件,浏览器会自动跳转访问Google。

浏览器配置

根据需要在浏览器的中启用代理,并将代理地址配置为在proxy.ini文件中设置的listen地址。若同时还需要代理访问https页面,则需要将local目录下的CA.crt证书安装至浏览器的根证书当中。然后重启浏览器。

碰到的坑

  1. hosts 未配置。通过代码调试的方式发现问题。
  2. php_curl未安装及安装了错误的版本。通过phpinfo();下载正确版本的php_curl
  3. HTTPS页面无法访问。导入证书后未重启浏览器。