常用功能及配置模版

#开头的表示注释

1. 绑定转发

  1. ## disable,对某些域名不拦截
  2. ## 一般放到 Default 分组
  3. /wx.qq.com/ disable://intercept
  4. ## filter,在Network不会出现某些域名的请求
  5. /qq.com/ filter://hide
  6. ## socks
  7. ## 一般放到 Default 分组
  8. /facebook/ socks://127.0.0.1:1080
  9. /vk.com/ socks://127.0.0.1:1080
  10. /google/ socks://127.0.0.1:1080
  11. ## 一般场景是调试内嵌APP页面,APP内有一个入口链接a,而调试的目标页面是b
  12. ## 通过以下一行配置,页面a会自动换成页面b
  13. m.aliexpress.com/a.html m.aliexpress.com/b.html
  14. ## 绑定
  15. ## a.b.c.d 是某个环境的ip地址
  16. ## 有时通过多个域名的方式来部署多套开发环境
  17. ## 通过以下两行配置可以屏蔽开发环境域名与线上不一致的情况
  18. m.aliexpress.com mm.aliexpress.com
  19. mm.aliexpress.com a.b.c.d

2. req

  1. ## ua
  2. m.aliexpress.com ua://{wp_ua}
  3. #m.aliexpress.com ua://{ali_ua}
  4. ## referrer
  5. m.aliexpress.com referer://https://vk.com/
  6. ## referrer null
  7. #m.aliexpress.com referer://
  8. ## reqHeaders,修改请求头
  9. ## ua、referer协议都可以通过reqHeaders来完成
  10. m.aliexpress.com reqHeaders://{req-headers}

values

  1. {wp_ua}
  2. Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1113) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586
  3. {req-headers}
  4. {
  5. "X-Forwarded-For":" 188.146.171.71",
  6. "X-Real-IP":" 188.146.171.71",
  7. "X-Client-Scheme":"https",
  8. "referer":"https://vk.com/",
  9. "User-Agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 AliApp(H/5)"
  10. }

3. res

  1. ## file,本地调试是其典型的使用场景
  2. m.aliexpress.com/sw.js file:///path/to/your/local/sw.js
  3. ## xfile
  4. #m.aliexpress.com/sw.js xfile:///path/to/your/local/sw.js
  5. ## tpl,常用于mock jsonp请求
  6. aliexpress.com/query.jsonp tpl://{res-jsonp}
  7. ## xtpl,同tpl,本地不存在时走线上
  8. aliexpress.com/query.jsonp xtpl://{res-jsonp}
  9. ## resHeaders,修改响应头
  10. ae01.alicdn.com resHeaders://{res-cors}
  11. ## html,往html文档(</body>之前)追加html标签(script,style or normal html tag)
  12. m.aliexpress.com html://{html-test}
  13. ## js,往js响应追加脚本,如果响应是html文档,则自动用`<script></script>`包装后插入
  14. m.aliexpress.com/sw.js js://{js-test}
  15. ## css,往css响应追加样式,如果响应是html文档,则自动用`<style></style>`包装后插入
  16. ## `/`可以起到仅对首页追加的效果
  17. m.aliexpress.com/ css://{css-test}
  18. ## resReplace,替换响应的某些字符串
  19. ## 一般可用来快速验证某些功能
  20. m.aliexpress.com resReplace://{res-replace}

values

  1. {res-jsonp}: whistle会用请求对应的callback值来替换{callback}
  2. {callback}({
  3. "ec": 0,
  4. "list":[{
  5. "id":1,
  6. "price":"US $100",
  7. "stock":"100",
  8. "imgUrl":"https://ae01.alicdn.com/kf/HTB12x0CLpXXXXajaXXX760XFXXXS.png_640x640.png"
  9. },...
  10. ]
  11. });
  12. {html-test}
  13. <script>
  14. // make an error
  15. x.x;
  16. </script>
  17. {js-test}
  18. fetch("/").then(res=>{console.log("fetched!")});
  19. {css-test}
  20. body{
  21. font-size:15px;
  22. }
  23. {res-cors}
  24. {
  25. "access-control-allow-origin":"*",
  26. "access-control-expose-headers":"Via"
  27. }
  28. {res-replace}
  29. <meta name="screen-orientation" content="portrait">: <meta name="apple-itunes-app" content="app-id=436672029">

4. debugging

  1. m.aliexpress.com weinre://debug
  2. m.aliexpress.com log://{log-test}

values

  1. {log-test}
  2. console.log("Yeah!")