-
Notifications
You must be signed in to change notification settings - Fork 1
/
cjdnstool.js
35 lines (33 loc) · 962 Bytes
/
cjdnstool.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
#!/usr/bin/env node
'use strict';
const APPS = {
ping: require('./ping.js'),
query: require('./query.js'),
peer: require('./peer.js'),
session: require('./session.js'),
util: require('./util/index.js'),
mon: require('./mon/index.js'),
resolve: require('./resolve.js'),
cexec: require('./cexec.js'),
log: require('./log.js'),
snode: require('./snode/index.js'),
passwd: require('./passwd/index.js'),
iptun: require('./iptun/index.js'),
iface: require('./iface/index.js'),
traceroute: require('./traceroute.js'),
conf: require('./conf.js')
};
const usage = () => {
console.log("Usage: cjdnstool COMMAND OPTIONS");
Object.keys(APPS).forEach((k) => {
APPS[k].usage();
console.log();
});
};
const main = (argv) => {
for (let i = 0; i < argv.length; i++) {
if (APPS[argv[i]]) { return APPS[argv[i]].main(argv.slice(i+1)); }
}
usage();
};
main(process.argv);