npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bproxy

v5.2.36

Published

代理工具

Downloads

38

Readme

bproxy

bproxy 一款代理工具,为前端开发带来乐趣。配置文件是一个 JS 脚本,你可以在里面写 NodeJS 代码。

bproxy 的核心功能

  • 独立配置: 配置文件可以跟着项目走,支持多人跨平台协同开发
  • JS 脚本配置: 对前端开发优化,自由度高
  • Chrome开发者工具:远程调试
  • yapi: 支持配置 yapi 的项目 id,自动把请求代理到项目中的 mock 数据
  • 修改响应内容:自定义相应内容。指向本地文件、指向本地目录、指向本地 http 服务、自定义响应头。
  • 抓包:http、https、ws、wss
  • https过滤:自定义需要抓包的 https 白名单
  • 代理webSocket: 本地开发修改代码,自动刷新
  • HTTPS证书:自动安装 https 证书
  • HOST:一个域名可以配置多个 host
  • 弱网模拟:弱网模拟支持自定义延时配置

官网

Documents

工具箱

Tools

安装

命令行工具

npm i bproxy -g

升级

npm i bproxy@latest -g

App Support

支持 Windows & MacOS

下载地址:Download App

如何配置

配置文件 bproxy.config.js

module.exports = {
  port: 8888, // 本地代理服务器的端口
  https: true, // 开启所有的https都抓包
  // 代理规则列表
  rules: [
    {
      // url是匹配什么什么请求
      url: 'https?://m.v.qq.com/tvp/',
      // target是配置请求如何响应,返回字符串内容
      target: 'hello world',
    },
  ],
};

其他配置

线上资源代理到本地

把服务端目录代理到本地目录

{
  url: 'https://google.com/static/**',
  target: '/path/to/your/folder'
}

把服务端文件代理到本地文件

{
  url: 'https://google.com/static/a.js',
  target: '/path/to/your/folder/a.js'
}

把服务端 url 代理到 local server

{
  url: 'https://baidu.com/pages/demo',
  target: 'http://127.0.0.1:3000',
}

自定义请求头和响应头

{
  url: 'https://google.com/user',
  responseHeaders: {
    "Access-Control-Allow-Origin": "https://qq.com",
    "Access-Control-Allow-Credentials": "true",
  },
  requestHeaders: {
    "cache-control": "no-store",
  },
}

配 HOST

// 同一个域名下,不同的接口,可以配置不同的host
{
  url: 'https://google.com/api/user',
  target: '127.0.0.1',
}

{
  url: 'https://google.com/api/login',
  target: '192.168.0.1',
}

模拟请求异常

请求 http 状态码502

{
  url: 'https://google.com/user',
  target: 502,
}

弱网

2s 后返回

{
  url: 'https://google.com/user',
  delay: 2000, // 2000ms
}

设置代理

{
  url: 'https://google.com',
  proxy: 'http://127.0.0.1:1080',
}

调试页面

{
  url: 'http://m.v.qq.com/tvp',
  debug: true,
}

草稿

{
  // 快速修改JSON数据
  url: '/api/json',
  target: function draft(data) {
    data.error = 1001;
  }
}

/**
json format
{
  "error": 0,
  "msg": "ok",
  "data": {
    "list": []
  }
}
*/