Qx规则编写的一个模板,今天大概说下这个圈x的规则,代码最好就是有模板,操作起来不用想太多,好比thor 和网球一样。
圈x也是这么,这个规则就是重写机制,设置好一个请求网址,然后进行消息的重写,最后进行提交。什么酷狗音乐,去广告的规则等等。
拿小小影视做例子,

1.用/* */这种写一下使用方法。相当于注释,代码不执行。
2.写下匹配的路径,用于代码重写提交。你要更改这里面的什么内容。
https:\/\/ios\.xiaoxiaoapps\.com\/(vod\/reqplay\/|ucp/index|getGlobalData) url script-response-body xxys.js。
这里写本地的请求,比较方便学习。
\/\/这个符号,是//符号的匹配,其中网址的点前要加斜杠,还有其他字母外的符号。
https:\/\/ios\.xiaoxiaoapps\.com\/
(vod\/reqplay\/|ucp/index|getGlobalData)
|表示或者意思。
url script-response-body 修改的是消息体,
xxys.js。我们写完要执行的脚本名字。
最后这段整个就是https://ios.xiaoxiaoapps.com/vod/reqplay/和https://ios.xiaoxiaoapps.com/ucp/index和https://ios.xiaoxiaoapps.com/getGlobalData三个网址的内容进行修改重写内容。
3.解析对应的域名。MITM = ios.xiaoxiaoapps.com
以上这些需要写在配置文件里。
4.写需要重写执行的内容
const path1 = "/ucp/index";
const path2 = "/vod/reqplay/";
const ad = 'getGlobalData';
声明下路径。
let obj = JSON.parse($response.body);
收到消息后,先声明变量,定义为json消息体
if ($request.url.indexOf(path1) != -1){
检查真的存在上面的路径1
obj.data.uinfo["down_daily_remainders"] = "666";
把消息体里的对应值改成666,每天剩余下载次数改成666
obj.data.uinfo["play_daily_remainders"] = "666";
把消息体里的对应值改成666,每天剩余播放量次数改成666
obj.data.uinfo["curr_group"] = "5";
obj.data.user["isvip"] = "1";
把消息体里的对应值改成1,就是会员是1.
obj.data.user["goldcoin"] = "666";
金币改成666
}
if ($request.url.indexOf(path2) != -1){
obj.retcode = "0";
obj.data.lastplayindex = "1";
同理路径关键值进行更动
if(obj.data.hasOwnProperty("httpurl_preview")){
var playurl = obj.data["httpurl_preview"];
obj.data["httpurl"] = playurl;
};
将消息体里的键值不是会员试看改成直接播放请求。
}
最后这个是去广告的,删除消息体的广告对应的键值。
if ($request.url.indexOf(ad) != -1) {
delete obj.data.adrows
delete obj.data.adgroups
}
$done({body: JSON.stringify(obj)});
5.这个Qx的规则模板写的很棒,很专业,值得我们学习,以后quantumult x的脚本规则学习写去广告,会员规则编写。棒棒哒!