-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
41 lines (35 loc) · 876 Bytes
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const dns = require("native-dns");
const server = dns.createServer({});
server.on("request", function (request, response) {
const [{ type, name }] = request.question;
if (type === 1 && name.endsWith(".ip.shellops.link")) {
response.answer.push(
dns.A({
name: name,
address: name
.split(".ip.")[0]
.split(".")
.slice(-1)[0]
.replace(/-/g, "."),
ttl: 600,
})
);
return response.send();
}
if (type === 2 && name === "shellops.link") {
for (let index = 1; index <= 2; index++)
response.answer.push(
dns.NS({
name: "shellops.link",
data: `ddns${index}.shellops.io`,
ttl: 600,
})
);
return response.send();
}
response.send();
});
server.on("error", function (err) {
console.error(err);
});
server.serve(53);