UNPKG

1.03 kBJavaScriptView Raw
1import iproute from 'iproute'
2var exec = require('child_process').exec
3
4let route = {
5 type: 'unicast',
6 to: '224.0.0.0/4',
7 scope: 'link'
8}
9
10export function add(args, callback) {
11 route.dev = args.interface
12 if (process.platform == 'darwin') {
13 exec(`sudo route -nv add -net ${route.to} -interface ${route.dev}`, function(err, stdout, stderr) {
14 if (err) console.log(err)
15 if (typeof callback == 'function') callback()
16 })
17 return
18 }
19 iproute.route.add(route, (err) => {
20 if (err) console.log(err)
21 if (typeof callback == 'function') callback()
22 })
23}
24
25export function del(args, callback) {
26 route.dev = args.interface
27 if (process.platform == 'darwin') {
28 exec(`sudo route -v delete -inet ${route.to} -interface ${route.dev}`, function(err, stdout, stderr) {
29 if (err) console.log(err)
30 if (typeof callback == 'function') callback()
31 })
32 return
33 }
34 iproute.route.delete(route, (err) => {
35 if (err) console.log(err)
36 if (typeof callback == 'function') callback()
37 })
38}