将所有引用的远程脚本自动转换成同时兼容QX, Surge, Loon的格式。主要用于签到类脚本中。转换器会根据脚本内容判断是否需要注入格式转换的代码。目的是减少脚本开发者在编写脚本时需要重复适配多平台的冗余代码。用户直接加入转换器即可。
原理非常简单,通过MITM将所有向raw.githubusercontent.com的js请求拦截,然后将转换脚本添加到返回js脚本中。
[rewrite-local]
# 脚本转换器
^https?:\/\/(raw|gist)\.githubusercontent.com/.*\.js$ url script-response-body https://raw.githubusercontent.com/Peng-YM/ScriptConverter/master/js-converter.js
[mitm]
hostname=raw.githubusercontent.com, gist.githubusercontent.com
[Script]
http-response ^https?:\/\/(raw|gist)\.githubusercontent.com/.*\.js$ script-path=https://raw.githubusercontent.com/Peng-YM/ScriptConverter/master/js-converter.js, requires-body = true
[MITM]
hostname=raw.githubusercontent.com, gist.githubusercontent.com
把上面的脚本添加到软件中后,怎么看是否成功加载转换器呢?这里提供了一个例子: