/xswitch

A Chrome Extension for redirecting/forwarding request urls

Primary LanguageJavaScriptMIT LicenseMIT

English

XSwitch

Chrome version Chrome version Build Status Coverage Status license

一个用来做请求链接转发的 Chrome 浏览器插件,因为采用的是浏览器原生 API,安全性和性能能得到保障。

XSwitch-intro

优酷视频介绍

功能

  • 请求地址转发
  • 全局插件启用开关
  • 可禁用浏览器缓存
  • 采用 jsonc 以支持在转发规则中写注释
  • 可以使用 Monaco Editor(VSCode)中的部分快捷键,比如通过 ⌘K ⌘F 组合键可以实现格式化 JSON 的功能
  • 自动补全
  • 支持 CORS,支持 withCredentials
  • 跨域和缓存禁用键(右键点击浏览器工具栏的 XSwitch 插件图标 - 设置)
  • 分组规则

用法

所有的规则,会按照定义的顺序从前往后执行,即使匹配到了规则,也会继续往下匹配,直到最后一条启用的规则。

小提示:把 HTTPS 的链接转发到 http://127.0.0.1 下,浏览器不会出安全提示。习惯用 localhost 的同学,可以尝试下这个。

{
  // 转发规则
  "proxy": [
    [
      "//alinw.alicdn.com/platform/daily-test/isDaily.js", // 匹配 URL
      "//alinw.alicdn.com/platform/daily-test/isDaily.json" // 替换成这个 URL
    ],
    // 字符串替换,会全局匹配
    [
      "alinw",
      "g"
    ]
    // 把链接里所有的 .min 替换掉
    // [
    //   ".min",
    //   ""
    // ],
    // 正则
    // [
    //   "(.*)/platform/daily-test/(.*).js$",
    //   "http://127.0.0.1:3000/daily-test/$1.js"
    // ],
    // 直接转换成 inline 模式的 JavaScript
    // [
    //   "https://alinw.alicdn.com/platform/daily-test/isDaily.js",
    //   "data:text/javascript,window.__isDaily = true;"
    // ]
  ],
  // 希望开启 CORS 跨域的链接
  "cors": [
    "cors.a.com",
    "(.*).b.com"
  ]
}

更多说明:https://yuque.com/jiushen/blog/xswitch-readme

License

MIT © yize.shc