目录

AnyProxy使用详解(持续更新)


一、前言:

  • AnyProxy是一个开放式的HTTP代理服务器。

  • Github主页:https://github.com/alibaba/anyproxy

  • 主要特性包括:

    • 基于Node.js,开放二次开发能力,允许自定义请求处理逻辑
    • 支持Https的解析
    • 提供GUI界面,用以观察请求

二、快速开始(主要摘子AnyProxy官方教程)

作为全局模块

  • 安装

  • 对于Debian或者Ubuntu系统,在安装AnyProxy之前,可能还需要安装 nodejs-legacy

      sudo apt-get install nodejs-legacy
    
  • 然后,安装AnyProxy

      npm install -g anyproxy
    
  • 启动:命令行启动AnyProxy,默认端口号8001

      anyproxy
    
  • 启动后将终端http代理服务器配置为127.0.0.1:8001即可 访问http://127.0.0.1:8002 ,web界面上能看到所有的请求信息 其他命令

  • 配置启动端口,如1080端口启动

      anyproxy --port 1080
    

作为npm模块使用

  • AnyProxy可以作为一个npm模块使用,整合进其他工具。

  • 如要启用https解析,请在代理服务器启动前自行调用AnyProxy.utils.certMgr相关方法生成证书,并引导用户信任安装。或引导用户使用anyproxy-ca方法。

  • 引入

      npm i anyproxy --save || npm install anyproxy --save || yarn add anyproxy --save
    
  • demo

      const AnyProxy = require('anyproxy');
      const options = {
      	port: 8001,
      	rule: require('./rule'),
      	webInterface: {
      		enable: true,
      		webPort: 8002,
      		wsPort: 8003,
      	},
      	throttle: 10000,
      	forceProxyHttps: false,
      	silent: false
      };
      const proxyServer = new AnyProxy.ProxyServer(options);
    
      proxyServer.on('ready', () => { /* */ });
      proxyServer.on('error', (e) => { /* */ });
      proxyServer.start();
    
      //when finished
      proxyServer.close();