您当前的位置:首页 > 计算机 > 服务器 > 网络服务

lack-proxy 动态设置进程全局 HTTP 代理

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

lack-proxy 用于给 Node 程序设置全局 HTTP 代理,可以将 Node 进程里面的指定 TCP 请求代理到 Whistle 等抓包调试代理。

安装

npm i --save-dev lack-proxy

使用

建议在程序入口设置

const lack = require('lack-proxy');

设置全局HTTP代理:

lack.proxy({
  host: '127.0.0.1',
  port: '8899',
  // allowlist: ['ke.qq.com', '*.ke.qq.com'],
  // blocklist: ['fudao.qq.com', '*.fudao.qq.com'],
  // filterRequest: (options, isSocket) => {
  //  return true || false;
  // }, // 可选,精确过滤请求
  // servername, // 可选,参见Node的HTTPS文档,设置SNI
  // headers, // 可选,设置代理请求头
});

程序里面的所有web请求(HTTP、HTTPS、WebSocket)都会代理到本地的 8899 端口的代理服务

根据请求参数动态设置

lack.proxy((options) => {
  // 根据请求options动态设置代理
  return {
    host: '127.0.0.1',
    port: '8899',
    headers: options.headers,
    // allowlist: ['ke.qq.com', '*.ke.qq.com'],
    // blocklist: ['fudao.qq.com', '*.fudao.qq.com'],
    // filterRequest: (options, isSocket) => {
    //  return true || false;
    // }, // 可选,精确过滤请求
    // servername, // 可选,参见Node的HTTPS文档,设置SNI
  };
});

有关例子可以参见测试用例

项目地址:https://github.com/avwo/lack-proxy

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐