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

发布于 2021-11-25 22:40:06 字数 1235 浏览 1083 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

书间行客

文章 0 评论 0

神妖

文章 0 评论 0

undefined

文章 0 评论 0

38169838

文章 0 评论 0

彡翼

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文