AnyProxy 安装笔记

github地址https://github.com/alibaba/anyproxy

官网地址:anyproxy.io(不知道为什么已经被和谐,需要)

主要步骤

  1. 安装nodejs
  2. 通过node的npm安装anyproxy
  3. 配置证书-手机端
  4. 配置证书-anyproxy启动的电脑端
  5. 客户端设置代理(anyproxy启动的ip和默认端口口8001)
  6. 启动anyproxy方式 (配置证书后,启动需要使用 -i 命令启动,才会抓取https的请求)

安装node

  • node官网 https://nodejs.org/en/download/
  • 下载对应类型的安装文件,执行安装完成
  • 查看node是否安装成功,并查看版本号
    node -v

     

安装anyproxy 

  • 必须使用 install -g命令来安装,-g 代表global全局安装 , 无-g的时候代码本地安装,无法直接使用anyproxy命令
    npm install -g anyproxy 

     

  • 安装成功,校验安装是否成功,并查看版本号
    anyproxy --version

     

手机安装证书凭证

  • 启动anyproxy
    $ anyproxy -i 
    
    [AnyProxy Log][2018-10-15 10:47:35]: Http proxy started on port 8001
    [AnyProxy Log][2018-10-15 10:47:35]: web interface started on port 8002
  • 打开浏览器http://localhost:8002/
  • 点击RootCA, 手机扫描二维码,下载,并信任证书
    AnyProxy 安装笔记_第1张图片

     如果手机扫描不成功,可以在手机浏览器上是 使用 如下链接获取

         http://Anyproxy启动IP:8002/fetchCrtFile

  • Android手机有多种信任方式。。自己研究下
    最终如下图
    AnyProxy 安装笔记_第2张图片

 

 

 

电脑上安装证书凭证

  • 直接打开浏览器http://localhost:8002/
  • 点击RootCA, 下载,点击证书
    AnyProxy 安装笔记_第3张图片

 

 

启动anyproxy

  • 普通启动
    anyproxy

     

  • 拦截https请求的启动方式
    anyproxy -i

     

  • 使用自定义拦截规则的启动方式
    anyproxy -i --rule  rule.js
    $ anyproxy -i --rule modify_request_data.js
    
    [AnyProxy Log][2018-10-15 10:47:35]: Http proxy started on port 8001
    [AnyProxy Log][2018-10-15 10:47:35]: web interface started on port 8002
    [AnyProxy Log][2018-10-15 10:47:35]: Active rule is: Rule to modify request data

     

   

问题&解决方案

1.已安装过nodejs ,版本升级或者降级

  • 查看当前nodejs版本号以及npm版本号

    node -v

    npm --version

  • 安装n命令,通过nodejs 的包管理器npm安装n命令,n命令是nodejs的版本管理器

     npm install -g n 

     linux和mac非root用户需要用sudo npm install -g n 

  • 使用n来安装最新版本的nodejs

    n stable

    linux和mac非root用户需要用sudo n stable

  • 安装制定版本的nodejs

    n 8.12.0

    linux和mac非root用户需要用sudo n 8.12.0

 

2.AnyProxy已安装,版本升级

  • 查看anyproxy版本号

      anyproxy --version

      npm ls anyproxy

  • 通过nodejs的包管理器npm卸载原版本

     npm uninstall anyproxy

     mac或者linux上非root用户需要sudo npm uninstall anyproxy

  • 通过npm再重新安装

     npm install -g anyproxy

     mac或者linux上非root用户需要sudo npm install -g anyproxy

 

3.启动一会就报错 ECONNRESET

[AnyProxy ERROR][2018-10-07 14:40:29]: got an uncaught exception, is there anything goes wrong in your rule file ?
Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:111:27)

原因:nodejs版本问题,最新版本引入的bug。【anyproxy 版本4.0.12 , node版本10.10.0】

解决方案:nodejs 版本降低,指定版本8.12.0【当前稳定版本】,问题解决

 

 

 

 

 

 

你可能感兴趣的:(AnyProxy)