AnyProxy使用详解(持续更新)

  发布日期:   2018-01-18
  最新修改:   2020-10-26
  阅读次数:   1006 次

一、前言:

  • 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();

   转载规则

《AnyProxy使用详解(持续更新)字》GajAngels 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。