Skip to content

Commit b547f25

Browse files
committed
moved le certificate gen to certonly flag, added https flag
1 parent f56d42c commit b547f25

File tree

10 files changed

+121
-6
lines changed

10 files changed

+121
-6
lines changed

dist/dhcp/index.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
1-
var path, server, toHexArray;
1+
var args, path, server, toHexArray;
22

33
server = require('./server');
44

55
path = require('path');
66

7+
args = require('../args');
8+
79
toHexArray = function(str) {
810
return str.split('').map(function(d, i) {
911
return str.charCodeAt(i);
1012
});
1113
};
1214

1315
module.exports = function(ip, acsurl, acspass) {
14-
var vendor;
16+
var fullip, vendor;
17+
fullip = ip;
1518
ip = ip.split('.');
1619
ip.pop();
1720
ip = ip.join('.');
@@ -24,6 +27,7 @@ module.exports = function(ip, acsurl, acspass) {
2427
randomIP: true,
2528
vendor: vendor,
2629
netmask: '255.255.255.0',
30+
dns: args.dnsserver ? [fullip] : ['8.8.8.8', '8.8.4.4'],
2731
router: [ip + '.1'],
2832
hostname: 'second.gateway',
2933
broadcast: ip + '.255',

dist/http/lecerts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module.exports = function(domain) {
2828
maintainerEmail: 'tch-exploit@github.com',
2929
packageAgent: 'tch-exploit/v1.0'
3030
});
31-
return acme.init('https://acme-staging-v02.api.letsencrypt.org/directory').then(function(r) {
31+
return acme.init('https://acme-v02.api.letsencrypt.org/directory').then(function(r) {
3232
var Keypairs;
3333
Keypairs = require('@root/keypairs');
3434
return Keypairs.generate({

dist/index.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
var args, ask, dhcpd, httpd, ip, lecerts, pkg, port, rl, servers, tftp;
1+
var args, ask, dhcpd, httpd, ip, lecerts, ndns, pkg, port, rl, servers, tftp;
22

33
pkg = require('../package.json');
44

@@ -20,6 +20,8 @@ port = require('./get-port');
2020

2121
tftp = require('./tftp');
2222

23+
ndns = require('node-named-fixed');
24+
2325
servers = [];
2426

2527
if (args.tftp) {
@@ -30,13 +32,27 @@ if (args.tftp) {
3032
lecerts(new URL(args.acsurl).hostname);
3133
} else {
3234
ask(ip).then(port).then(function(p) {
33-
var u, url;
35+
var server, u, url;
3436
u = new URL(args.acsurl || ("http://" + ip));
3537
u.port = p;
3638
url = u.toString();
3739
console.log("listening for cwmp requests at " + url);
3840
servers.push(dhcpd(ip, url, args.acspass));
39-
return servers.push(httpd(ip, p, url));
41+
servers.push(httpd(ip, p, url));
42+
if (args.dnsserver) {
43+
server = ndns.createServer();
44+
server.listen(53, ip, function() {
45+
return console.log('DNS server started on port 53');
46+
});
47+
return server.on('query', function(query) {
48+
var domain, target;
49+
domain = query.name();
50+
console.log('DNS Query: %s', domain);
51+
target = new ndns.ARecord(ip);
52+
query.addAnswer(domain, target, 10);
53+
return server.send(query);
54+
});
55+
}
4056
});
4157
}
4258

package-lock.json

Lines changed: 75 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"@root/keypairs": "^0.10.3",
2222
"acme-dns-01-duckdns": "^3.0.1",
2323
"http-request": "^0.7.0",
24+
"node-named-fixed": "^0.0.1",
2425
"punycode": "^2.1.1",
2526
"tftp": "^0.1.2"
2627
}

release/tch-exploit-linux

1.26 MB
Binary file not shown.

release/tch-exploit-macos

1.27 MB
Binary file not shown.

release/tch-exploit-win.exe

1.26 MB
Binary file not shown.

src/dhcp/index.coffee

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
server = require './server'
22

33
path = require 'path'
4+
args = require '../args'
45

56
toHexArray = (str) ->
67
str
78
.split ''
89
.map (d, i) -> str.charCodeAt i
910

1011
module.exports = (ip, acsurl, acspass) ->
12+
fullip = ip
1113
ip = ip.split '.'
1214
ip.pop()
1315
ip = ip.join '.'
@@ -27,6 +29,7 @@ module.exports = (ip, acsurl, acspass) ->
2729
randomIP: true
2830
vendor: vendor
2931
netmask: '255.255.255.0'
32+
dns: if args.dnsserver then [ fullip ] else [ '8.8.8.8', '8.8.4.4' ]
3033
router: [ ip + '.1' ]
3134
hostname: 'second.gateway'
3235
broadcast: ip + '.255'

src/index.coffee

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ httpd = require './http'
2121
lecerts = require './http/lecerts'
2222
port = require './get-port'
2323
tftp = require './tftp'
24+
ndns = require('node-named-fixed')
2425

2526
servers = []
2627

@@ -44,6 +45,21 @@ else
4445
servers.push dhcpd ip, url, args.acspass
4546
servers.push httpd ip, p, url
4647

48+
if(args.dnsserver)
49+
server = ndns.createServer();
50+
51+
server.listen(53, ip, ->
52+
console.log('DNS server started on port 53')
53+
)
54+
55+
server.on('query', (query) ->
56+
domain = query.name();
57+
console.log('DNS Query: %s', domain)
58+
target = new ndns.ARecord(ip);
59+
query.addAnswer(domain, target, 10);
60+
server.send(query);
61+
);
62+
4763
if process.platform is 'win32'
4864
rl = require('readline').createInterface
4965
input: process.stdin

0 commit comments

Comments
 (0)