@
LEXUGE 看了下 rhai 文档,稍微改了下
```
script:
route: |
let resp = query;
resp.header.qr = true;
let ip = query.first_question.qname.to_string();
if ip.ends_with("
xip.io"){
ip.replace(".xip.io","");
let ip=ip.split_rev(".");
if ip.len<4 {
return upstreams.send("domestic", query);
}
let r=r.extract(0..4);
print(r);
let ip = ip.reduce_rev(
|sum, v,i|if i==3 {v} else{sum+"."+v}
);
resp.push_answer(create_record(query.first_question.qname, "IN", 3600, create_a(ip)));
return resp;
}
upstreams.send("domestic", query)
```