2025年4月8日 星期二 乙巳(蛇)年 正月初九 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > 网络服务

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

时间:12-14来源:作者:点击数:2
城东书院 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
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐