Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
eb1a601
updated a few things.
danielpmc Jun 1, 2020
6ec06ef
More updates...
danielpmc Jun 15, 2020
fa555d8
A big update
danielpmc Jun 28, 2020
a5e87cc
Uh remove a file?
danielpmc Jun 28, 2020
4950e26
be gone file
danielpmc Jun 28, 2020
cf09532
fix a fucking dumb thing i put in the code
danielpmc Jun 28, 2020
c97a417
Merge branch 'master' of https://github.com/danbot-devs/DanBotHosting…
danielpmc Jun 28, 2020
f2f658c
more status's because why tf not
danielpmc Jun 28, 2020
7796060
ticket confirm lowercase + no awaitmessage limit
Robin-Sch Jul 5, 2020
4d41559
Merge pull request #1 from RobinSchapendonk/RobinSchapendonk-patch-1
Robin-Sch Jul 5, 2020
bd4da36
Merge pull request #1 from RobinSchapendonk/master
danielpmc Jul 5, 2020
971567b
Ah, push it, push it good
danielpmc Jul 5, 2020
8d9c93c
Update ticket.js
Robin-Sch Jul 6, 2020
cfeb2f2
Merge pull request #2 from RobinSchapendonk/RobinSchapendonk-patch-2
Robin-Sch Jul 6, 2020
aaf4385
Merge pull request #2 from RobinSchapendonk/master
danielpmc Jul 6, 2020
6745346
Add files via upload
danielpmc Sep 22, 2020
20c3dfd
Beautified all files.
Hadimhz Sep 22, 2020
5053779
Update ticket.js
Hadimhz Oct 13, 2020
39d5ec6
Added custom VCs
Hadimhz Oct 13, 2020
261d376
Create announce.js
Hadimhz Oct 13, 2020
2d17f26
Update vc.js
Hadimhz Oct 13, 2020
ce18cd6
Added Reaction-Roles.
Hadimhz Oct 14, 2020
0254c78
Update announce.js
Hadimhz Oct 14, 2020
f215ff6
replaced bot with client.
Hadimhz Oct 14, 2020
e8e22ac
Update .gitignore
danielpmc Oct 14, 2020
86bc2f0
Changed bot to client in ready,
danielpmc Oct 14, 2020
7d6e2b8
edit .gitignore to ignore another file :+1:
danielpmc Oct 14, 2020
185ca73
Comment out bot.js and add redirect to `/`. Because of TeaCup :gun:
danielpmc Oct 14, 2020
1857932
Change speedtest server. Added speedtest function
danielpmc Oct 14, 2020
365b80b
Cleaned up index.js for daemon. much cleaner now using functions
danielpmc Oct 15, 2020
8f1f8a6
Bot now displays some more info for errors 400 and 504 in server.js
danielpmc Oct 15, 2020
8631fad
Somehow this got removed? (saving speedtests to db)
danielpmc Oct 15, 2020
17fdf94
Remove getstarted-new. Not used/needed
danielpmc Oct 15, 2020
d9fc399
remove nodeactyl stuff. Was already removed on beta
danielpmc Oct 15, 2020
16fd015
Update get started. (was already updated on beta bot)
danielpmc Oct 15, 2020
b3a59d3
Update index.js (Things i didnt push before)
danielpmc Oct 15, 2020
f541c81
Added ip whitelist to sending node data. so people cant send crap :D
danielpmc Oct 16, 2020
e3b9a1e
Added 100, 150 and 200Invite roles along with starting work to a new …
danielpmc Oct 17, 2020
44bd71a
Remove comment of old invite message
danielpmc Oct 17, 2020
49e72e0
Restore message.js from beta as missing updates to repo
danielpmc Oct 17, 2020
a72a646
Push more missing updates
danielpmc Oct 17, 2020
6d8306a
Changed auto activities to be near the list.
danielpmc Oct 17, 2020
26dd146
Updated logo text
danielpmc Oct 17, 2020
1545c36
Removed tickets.js
danielpmc Oct 17, 2020
78261c8
Enabled no args message on server.js
danielpmc Oct 17, 2020
9fa3605
Fixed a missing ` ` on a command
danielpmc Oct 17, 2020
1aedf00
More missing " " lmao
danielpmc Oct 17, 2020
15645cf
If main ticket category is full. use backup
danielpmc Oct 17, 2020
76f0c94
remove the 2nd @
danielpmc Oct 17, 2020
9e77aa9
Update stats command
danielpmc Oct 17, 2020
356d096
Update index as i added a UK node, Disabled link again, Added new nod…
danielpmc Oct 18, 2020
1132137
Fix tickets. Assigning perms then moving channel breaaking perms for …
danielpmc Oct 18, 2020
96416eb
Added node 4 to display on the website
danielpmc Oct 18, 2020
9991090
Added node4 and fixed disk not showing
danielpmc Oct 19, 2020
f342263
added git pull
danielpmc Oct 19, 2020
52848fc
Added pull log
danielpmc Oct 19, 2020
e85b70d
Little update
danielpmc Oct 19, 2020
b9e5bba
Dumb little message for no perms
danielpmc Oct 19, 2020
9ede76a
Ignore commit
danielpmc Oct 19, 2020
783ab6e
Test of server status
danielpmc Oct 19, 2020
72f3312
test
danielpmc Oct 19, 2020
97c8401
Update server.js
danielpmc Oct 19, 2020
8dc161c
Added new status command for checking server status
danielpmc Oct 19, 2020
f412706
Remove status.js, Not needed
danielpmc Oct 19, 2020
35ed8ee
add a error message
danielpmc Oct 19, 2020
8af6d86
And again
danielpmc Oct 19, 2020
8843797
Change GB to MB
danielpmc Oct 19, 2020
10c7966
Remove catch thing. didnt work like expected :(
danielpmc Oct 19, 2020
12f54be
Re-enable linking
danielpmc Oct 19, 2020
f887ce1
remove channel if account is not found
danielpmc Oct 19, 2020
2e772f6
updated link
danielpmc Oct 19, 2020
de3b862
Remved un-used command
danielpmc Oct 19, 2020
c84a78a
Removed another un-used command
danielpmc Oct 19, 2020
d5f2a59
And 2 more
danielpmc Oct 19, 2020
84bc2b0
Yet another
danielpmc Oct 19, 2020
f2649aa
Added update command to staff embed
danielpmc Oct 19, 2020
1d15116
Show node on server status command
danielpmc Oct 19, 2020
cfde131
added More reaction roles
Hadimhz Oct 19, 2020
62cecce
Update staff.js
Hadimhz Oct 19, 2020
9a373a6
Updated Reaction-roles to support multiple messages.
Hadimhz Oct 19, 2020
77e669f
Update staff.js
Hadimhz Oct 19, 2020
4a77d12
Update staff.js
Hadimhz Oct 19, 2020
0225dff
Update staff.js
Hadimhz Oct 19, 2020
fee6642
Update staff.js
Hadimhz Oct 19, 2020
fc6061f
Update staff.js
Hadimhz Oct 19, 2020
5e1be72
Update staff.js
Hadimhz Oct 19, 2020
f7698f9
Completed Reaction-Roles
Hadimhz Oct 19, 2020
2006bc6
Update ready.js
Hadimhz Oct 19, 2020
a51e5b8
Update raw.js
Hadimhz Oct 19, 2020
d1ca9fd
Update raw.js
Hadimhz Oct 19, 2020
90fbceb
Update reactionRoles.js
Hadimhz Oct 19, 2020
9c6df04
Updated the event handler.
Hadimhz Oct 20, 2020
5c96ae5
Update announce.js
Hadimhz Oct 20, 2020
d3a64d3
Update announce.js
Hadimhz Oct 20, 2020
50779a3
Fix FiveM Servers not creating
danielpmc Oct 21, 2020
d1ccdcc
Changed channel delete time
danielpmc Oct 21, 2020
da515d0
Removed link, Added user.js (many more features)
danielpmc Oct 21, 2020
79b9c52
Added password reset email
danielpmc Oct 21, 2020
12ee5d3
changed a little thing
danielpmc Oct 21, 2020
11ace9a
Remove getstarted
danielpmc Oct 21, 2020
c61b023
Removed a few commands, Updated help
danielpmc Oct 21, 2020
4c23f9b
Added a few missing things from guildMemberAdd event
danielpmc Oct 21, 2020
a1d0479
Added alt to permissions
danielpmc Oct 21, 2020
abc5e22
Should fix the 422 error
danielpmc Oct 21, 2020
9c88d4c
Changed .addField to .setTitle embed
danielpmc Oct 21, 2020
8a9c4da
fail
danielpmc Oct 21, 2020
16b8e06
Remove un-used node from ip whitelist
danielpmc Oct 21, 2020
8b2e2e6
db define and changed a few things
danielpmc Oct 21, 2020
7119451
Update index.js
danielpmc Oct 21, 2020
9e2ab08
Updated Help Command
GamerCreator1 Oct 21, 2020
b016515
Merge pull request #4 from GamerCreator1/patch-1
danielpmc Oct 21, 2020
a0a7a31
Uh changed some dumb shit
danielpmc Oct 21, 2020
2af1c1c
Changed getstarted to user new for no link error
danielpmc Oct 21, 2020
2678766
added OOM killer to gameservers due to a bug someone found on v1 allo…
danielpmc Oct 21, 2020
204acb6
added linked message
danielpmc Oct 21, 2020
4c6c99a
Fixed linking
danielpmc Oct 22, 2020
b805136
Updated Help To Latest
GamerCreator1 Oct 22, 2020
b1d63d8
Changed #deleted-channel problem
GamerCreator1 Oct 22, 2020
aac77be
Merge pull request #5 from GamerCreator1/patch-2
danielpmc Oct 22, 2020
96f80b2
Merge pull request #6 from GamerCreator1/patch-3
danielpmc Oct 22, 2020
6f2f86a
Update ready.js
Hadimhz Oct 23, 2020
0677d2f
Restore ready.js from backup. Broke the bot
danielpmc Oct 23, 2020
b1a6048
Fux
danielpmc Oct 23, 2020
9e76a83
Merge branch 'master' of https://github.com/danbot-devs/DanBotHosting…
danielpmc Oct 23, 2020
13faa3a
fixing broke shit
danielpmc Oct 23, 2020
7457024
Fixed mutes (hopefully)
danielpmc Oct 23, 2020
089d307
Fixed join messages not sending
danielpmc Oct 23, 2020
e88e2d3
Fixed creating servers (thonk)
danielpmc Oct 23, 2020
b5083c2
Fix help cmd
danielpmc Oct 23, 2020
8d6f8a9
Changed a few things in help cmd
danielpmc Oct 23, 2020
dd34a98
Removed
danielpmc Oct 23, 2020
f5b78de
Added bedrock servers changed formatting on list command
danielpmc Oct 23, 2020
ea200f2
FiveM to gtav.givem to give more gta versions
danielpmc Oct 23, 2020
3704885
Added gmod and gs:go to server creation
danielpmc Oct 23, 2020
0e12562
Update server creation a little
danielpmc Oct 23, 2020
11b07fb
Check make sure create account channels are closed after a hour
danielpmc Oct 24, 2020
9d884a6
uh ignore
danielpmc Oct 24, 2020
bbd26e4
Add more services.
danielpmc Oct 24, 2020
78bc998
Forgot to add the ,true on the end
danielpmc Oct 24, 2020
fb0814a
uh oh
danielpmc Oct 24, 2020
96e55ad
Added version to teamspeak. Latest broken?
danielpmc Oct 24, 2020
58a7069
Added warning to java servers.
danielpmc Oct 25, 2020
0346c23
Added PocketmineMP as a option
danielpmc Oct 25, 2020
1593509
Added rust server.
danielpmc Oct 25, 2020
361be89
Added databases to createserver :confetti_ball:
danielpmc Oct 25, 2020
23b332b
Uh F
danielpmc Oct 25, 2020
66bc752
Test
danielpmc Oct 25, 2020
4443882
uh
danielpmc Oct 25, 2020
0922f27
Add full server UUID
danielpmc Oct 25, 2020
30ab157
Fix mute
danielpmc Oct 25, 2020
3411f8c
sending stats from nodes broke again
danielpmc Oct 25, 2020
0cec717
Add kick member message so they know why they cant join - Account age
danielpmc Oct 27, 2020
c620779
temp message lmao
danielpmc Oct 27, 2020
19bf2a0
f
danielpmc Oct 27, 2020
fbd5b13
Add automatic git pull updator every 60seconds
danielpmc Oct 27, 2020
73129c9
Update git pull 60second interval
danielpmc Oct 27, 2020
d061bd1
Add comment
danielpmc Oct 27, 2020
15e77f6
Uh forgot to define something
danielpmc Oct 27, 2020
b28b9ff
Update ready.js
danielpmc Oct 27, 2020
ae0540f
Remove testing messages
danielpmc Oct 27, 2020
8a90d6e
Add a example to DBH!server create list so people know how to use the…
danielpmc Oct 27, 2020
3a22262
FInished proxy ( reverse proxy )
danielpmc Oct 27, 2020
c622d1c
uh remove a line
danielpmc Oct 27, 2020
532a1c1
Update server.js
danielpmc Oct 27, 2020
3aaa13c
Support .host domains
danielpmc Oct 27, 2020
bf7deb1
Update server.js
danielpmc Oct 27, 2020
68ebedb
Update server.js
danielpmc Oct 27, 2020
3e6cd3f
Update server.js
danielpmc Oct 27, 2020
d219a41
Update server.js
danielpmc Oct 27, 2020
22a75c2
Update server.js
danielpmc Oct 27, 2020
8a9c769
update
danielpmc Oct 27, 2020
226ef8b
Update server.js
danielpmc Oct 27, 2020
ab8ea0b
Ignore these commits lmao. errors
danielpmc Oct 27, 2020
a28c530
hopefully last update to this!
danielpmc Oct 27, 2020
113bbb6
Update server.js
danielpmc Oct 27, 2020
1ee2e6e
Update server.js
danielpmc Oct 27, 2020
07d77cb
Hopefully the last fucking update to this.
danielpmc Oct 27, 2020
4a98c34
Update server.js
danielpmc Oct 27, 2020
986a350
Fixed a few missing changes. Another commit to follow
danielpmc Oct 27, 2020
171a08c
:) Hopefully last thing to make this thing fully work
danielpmc Oct 27, 2020
ae2696f
uh oh. forgot to change args
danielpmc Oct 27, 2020
861f4e3
Update server.js
danielpmc Oct 27, 2020
4294f87
Update server.js
danielpmc Oct 27, 2020
7fe1704
Last update. Time to make it public
danielpmc Oct 27, 2020
9a0ff47
Command now public
danielpmc Oct 27, 2020
d498127
Update .gitignore
danielpmc Oct 27, 2020
bb90f06
Delete ss.danbot.host.conf
danielpmc Oct 27, 2020
b3a4730
Delete template.txt
danielpmc Oct 27, 2020
0764d5b
Start up apache2 after making ssl cert fails
danielpmc Oct 27, 2020
d8a8aec
update
danielpmc Oct 27, 2020
13ddcce
Update help on that server command
danielpmc Oct 27, 2020
eb5e090
Edit embed on server.js
danielpmc Oct 27, 2020
9e55b57
Update server.js
danielpmc Oct 27, 2020
0c74f4c
Log to DB when a domain is linked. Will be used if someone hosts some…
danielpmc Oct 28, 2020
75d0bc5
Update server.js
danielpmc Oct 28, 2020
a4e0a31
add a example config
danielpmc Oct 28, 2020
15d77f4
Add bold to warning
danielpmc Oct 28, 2020
6a3545d
Edit help on server.js
danielpmc Oct 28, 2020
6657ff4
Added canvas to packages. New welcome png coming soon
danielpmc Oct 28, 2020
545b897
Test delete
danielpmc Oct 28, 2020
c16fcdf
Update server.js
danielpmc Oct 28, 2020
efd5984
Update server.js
danielpmc Oct 28, 2020
820bcf4
Update server.js
danielpmc Oct 28, 2020
1603b97
Update server.js
danielpmc Oct 28, 2020
ff044a4
Update server.js
danielpmc Oct 28, 2020
e9d374e
Update server.js
danielpmc Oct 28, 2020
424236d
Update server.js
danielpmc Oct 28, 2020
c971bbe
Update eval.js
danielpmc Oct 28, 2020
db956c3
Update eval.js
danielpmc Oct 28, 2020
d73d7b3
Update delete server. from 10seconds to 1.5seconds to find the server :)
danielpmc Oct 28, 2020
e761527
stop message collector
danielpmc Oct 28, 2020
e91950b
Update guildMemberUpdate.js
danielpmc Oct 29, 2020
6831bf9
Stop people using ! to hoist
danielpmc Oct 29, 2020
1bcd8c3
Removed commented out line
danielpmc Oct 29, 2020
3a4d245
Change from const bot to global.bot
danielpmc Oct 29, 2020
8711294
Added --bind_ip to mongodb servers
danielpmc Oct 29, 2020
7460c31
add --auth flag to mongodb
danielpmc Oct 29, 2020
6e98299
Node status channel
danielpmc Oct 29, 2020
318b335
Update ready.js
danielpmc Oct 29, 2020
34ff93f
bold nodes
danielpmc Oct 29, 2020
aa1bb00
added a few emojis
danielpmc Oct 29, 2020
ffd1c4b
change from .addField to .setTitle
danielpmc Oct 29, 2020
45e44ff
Update server.js
danielpmc Oct 30, 2020
1a80668
change 60second update to 30second. faster updates lmao
danielpmc Oct 30, 2020
5da7028
Added misc status
danielpmc Oct 30, 2020
fb0899a
Update ready.js
danielpmc Oct 30, 2020
5d75ab8
Update ready.js
danielpmc Oct 30, 2020
1ccfc15
Change node names
danielpmc Oct 30, 2020
8a4539e
Add node 4 auto node status
danielpmc Oct 30, 2020
86c67e8
lavalink pinger
danielpmc Oct 30, 2020
09bbd10
Update ready.js
danielpmc Oct 30, 2020
d0dbcf3
Update index.js
danielpmc Oct 30, 2020
695f934
Update index.js
danielpmc Oct 30, 2020
7f69aec
Update index.js
danielpmc Oct 30, 2020
2d41cac
Update server.js
danielpmc Oct 31, 2020
a1d39ea
remove OCR for now
danielpmc Oct 31, 2020
06b0e07
Update server.js
danielpmc Oct 31, 2020
0c15d52
Update server.js
danielpmc Oct 31, 2020
3e636b7
Update server.js
danielpmc Oct 31, 2020
e10bd58
Update index.js
danielpmc Oct 31, 2020
d56cad9
Update server.js
danielpmc Nov 1, 2020
bd322d5
Update server.js
danielpmc Nov 1, 2020
9b85574
Changed timeout on status pings
danielpmc Nov 1, 2020
c73e71f
Update index.js
danielpmc Nov 1, 2020
f79a901
Random space lmao
danielpmc Nov 1, 2020
02b7afa
Added DBH!server unproxy
danielpmc Nov 1, 2020
cf3de03
Update server.js
danielpmc Nov 2, 2020
b904b94
Update server.js
danielpmc Nov 2, 2020
a9e3d56
added api
danielpmc Nov 2, 2020
ea3921d
Update server.js
HyptexPvP Nov 2, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@
Panel/node_modules
Panel/package-lock.json
Panel/data
Panel/config.json
Panel/json.sqlite
Panel/images
Panel/start.bat
Panel/eng.traineddata
Panel/proxy

Daemon/node_modules
Daemon/package-lock.json

BetaDaemon/node_modules
BetaDaemon/package-lock.json
Test/*

OutageBot/*
17 changes: 0 additions & 17 deletions BetaDaemon/config.json

This file was deleted.

371 changes: 0 additions & 371 deletions BetaDaemon/index.js

This file was deleted.

24 changes: 0 additions & 24 deletions BetaDaemon/package.json

This file was deleted.

14 changes: 12 additions & 2 deletions Daemon/config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
{
"panelip": "173.249.33.82",
"panelport": "70"
"panelip": "danbot.host",
"panelport": "80",
"debug": true,
"panelping": true,
"panelms": 5000,

"daemonport": "2001",

"Discord": false,
"DiscordWebhook": "No webhook token",

"Docker": false
}
253 changes: 171 additions & 82 deletions Daemon/index.js
Original file line number Diff line number Diff line change
@@ -1,82 +1,171 @@
/* _____ __ __ _ _
/ ____| | \/ | (_)| |
| (___ ___ _ __ __ __ ___ _ __ | \ / | ___ _ __ _ | |_ ___ _ __
\___ \ / _ \| '__|\ \ / // _ \| '__|| |\/| | / _ \ | '_ \ | || __|/ _ \ | '__|
____) || __/| | \ V /| __/| | | | | || (_) || | | || || |_| (_) || |
|_____/ \___||_| \_/ \___||_| |_| |_| \___/ |_| |_||_| \__|\___/ |_|
Free Monitoring software made by danielpmc
*/

var PORT = 2001;
var app = require('express')();
var server = require('http').createServer(app);
var request = require("request");
var si = require('systeminformation');
var os = require("os");
var pretty = require('prettysize');
var ping = require('node-http-ping');
var package = require("./package.json");
var config = require("./config.json");

server.listen(PORT, function () {
console.log(PORT + " listening...");
ping('0.0.0.0', 2001)

});

app.get('/', async function (req, res) {

setInterval(async () => {
//Data using the systeminformation package.
var cpudata = await si.cpu();
var cpu = os.loadavg();
var memdata = await si.mem();
var ramused = pretty(memdata.used);
var ramtotal = pretty(memdata.total);
var diskdata = await si.fsSize();
var diskused = pretty(diskdata[0].used);
var disktotal = pretty(diskdata[0].size);
var netdata = await si.networkStats();
var netrx = pretty(netdata[0].rx_bytes);
var nettx = pretty(netdata[0].tx_bytes);
var osdata = await si.osInfo();
var bios = await si.bios();
var ipadd = await si.networkInterfaces();
var ip = ipadd.ip4

//OS UPTIME
var uptime = os.uptime();
var d = Math.floor(uptime / (3600*24));
var h = Math.floor(uptime % (3600*24) / 3600);
var m = Math.floor(uptime % 3600 / 60);
var s = Math.floor(uptime % 60);
var dDisplay = d > 0 ? d + (d == 1 ? " day, " : " days, ") : "";
var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " hours, ") : "";
var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " minutes, ") : "";
var sDisplay = s > 0 ? s + (s == 1 ? " second" : " seconds") : "";

//Version
var Version = package.version;

//Fetch time that data was sent. (Used panel sided to check if server has gone offline)
var datatime = Date.now();

console.log(cpudata)

console.log(cpudata.brand)
//console.log("http://" + config.panelip + ":" + config.panelport + "/data?servername=" + os.hostname + "&cpuman= " + cpudata.manufacturer + "&cpubrand= " + cpudata.brand + "&cpuload= " + Math.ceil(cpu[1] * 100) / 10 + "&cpuspeed=" + cpudata.speed + "GHz" + "&memused=" + ramused + "&memtotal=" + ramtotal + "&diskused=" + diskused + "&disktotal=" + disktotal + "&netrx=" + netrx + "&nettx=" + nettx + "&osplatform=" + osdata.platform + "&oslogofile=" + osdata.logofile + "&osrelease=" + osdata.release + "&osuptime=" + dDisplay + hDisplay + mDisplay + sDisplay + "&biosvendor=" + bios.vendor + "&biosversion=" + bios.version + "&biosdate=" + bios.releaseDate + "&servermonitorversion=" + Version + "&datatime=" + datatime)
request({
uri: "http://" + config.panelip + ":" + config.panelport + "/data?servername=" + os.hostname + "&cpuman=" + cpudata.manufacturer + "&cpuload=" + Math.ceil(cpu[1] * 100) / 10 + "&cpuspeed=" + cpudata.speed + "GHz" + "&memused=" + ramused + "&memtotal=" + ramtotal + "&diskused=" + diskused + "&disktotal=" + disktotal + "&netrx=" + netrx + "&nettx=" + nettx + "&osplatform=" + osdata.platform + "&oslogofile=" + osdata.logofile + "&osrelease=" + osdata.release + "&osuptime=" + dDisplay + hDisplay + mDisplay + sDisplay + "&biosvendor=" + bios.vendor + "&biosversion=" + bios.version + "&biosdate=" + bios.releaseDate + "&servermonitorversion=" + Version + "&datatime=" + datatime,
method: "GET",
timeout: 10000,
followRedirect: true,
maxRedirects: 10
}, function (error, response, body) {
res.send(body);
console.log(body)
console.log(response)
console.log(error)
});
}, 2500);

});
/*
____ ____ __ __ __ __ _
/ __ \____ _____ / __ )____ / /_ / / / /___ _____/ /_(_)___ ____ _
/ / / / __ `/ __ \/ __ / __ \/ __/ / /_/ / __ \/ ___/ __/ / __ \/ __ `/
/ /_/ / /_/ / / / / /_/ / /_/ / /_ / __ / /_/ (__ ) /_/ / / / / /_/ /
/_____/\__,_/_/ /_/_____/\____/\__/ /_/ /_/\____/____/\__/_/_/ /_/\__, /
Free Hosting for ever! /____/
*/

var si = require('systeminformation');
var os = require("os");
var pretty = require('prettysize');
var chalk = require('chalk');
var moment = require("moment");
var request = require("request");
var config = require("./config.json");
const speedTest = require('speedtest-net');

//Issue speedtest on startup
speedtest();
data();

//Speedtest every 3hours, Then send that data to the panel to store.
setInterval(async () => {
speedtest()
}, 10800000);

//Send data to the panel every 2seconds
setInterval(async () => {
data()
}, 2000)

async function data() {

//Data using the systeminformation package.
var memdata = await si.mem();
var ramused = pretty(memdata.active);
var ramtotal = pretty(memdata.total);
var swapused = pretty(memdata.swapused);
var swaptotal = pretty(memdata.swaptotal);
var diskdata = await si.fsSize();
var diskused = pretty(diskdata[0].used);
var disktotal = pretty(diskdata[0].size);
var netdata = await si.networkStats();
var netrx = pretty(netdata[0].rx_bytes);
var nettx = pretty(netdata[0].tx_bytes);
var osdata = await si.osInfo();
var bios = await si.bios();
var docker = await si.dockerInfo();

//CPU data.
var cl = await si.currentLoad();
var cpudata = await si.cpu();
var cputhreads = cpudata.cores;
var cpucores = cpudata.physicalCores;
var cpumain = os.cpus().length > 0 ? os.cpus()[0].model : 'Uh oh. You dont have a cpu?';

//OS UPTIME
var uptime = os.uptime();
var d = Math.floor(uptime / (3600*24));
var h = Math.floor(uptime % (3600*24) / 3600);
var m = Math.floor(uptime % 3600 / 60);
var s = Math.floor(uptime % 60);
var dDisplay = d > 0 ? d + (d == 1 ? " day, " : " days, ") : "";
var hDisplay = h > 0 ? h + (h == 1 ? " hour, " : " hours, ") : "";
var mDisplay = m > 0 ? m + (m == 1 ? " minute, " : " minutes, ") : "";
var sDisplay = s > 0 ? s + (s == 1 ? " second" : " seconds") : "";

//Version
var Version = "1.0.0";

//Fetch time that data was sent. (Used panel sided to check if server has gone offline)
var datatime = Date.now();

var timestamp = `${moment().format("YYYY-MM-DD HH:mm:ss")}`;
request({
uri: "http://" + config.panelip + ":" + config.panelport + "/data?servername=" + os.hostname + //OS hostname for saving data panel sided.
"&cpu=" + cpudata.manufacturer + " " + cpudata.brand + //CPU make and brand.
"&cpuload=" + cl.currentload.toFixed(2) + //CPU load but doesn't work on windows :(
"&cputhreads=" + cputhreads + //CPU threads.
"&cpucores=" + cpucores + //CPU cores
"&memused=" + ramused + //Ram used (Auto to MB, GB, TB)
"&memtotal=" + ramtotal + //Ram total (Auto to MB, GB, TB)
"&swapused=" + swapused + //Swap used (Auto to MB, GB, TB)
"&swaptotal=" + swaptotal + //Swap total (Auto to MB, GB, TB)
"&diskused=" + diskused + //Disk used (Auto to MB, GB, TB)
"&disktotal=" + disktotal + //Disk total (Auto to MB, GB, TB)
"&netrx=" + netrx + //Network received (Auto to MB, GB, TB)
"&nettx=" + nettx + //Network transmited (Auto to MB, GB, TB)
"&osplatform=" + osdata.platform + //OS platform (win32 or linux)
"&oslogofile=" + osdata.logofile + //OS logofile (Linux example: Debian/Ubuntu | Windows example: Windows)
"&osrelease=" + osdata.release + //OS release (Linux example: 9 | Windows example: 10.0.18362)
"&osuptime=" + dDisplay + hDisplay + mDisplay + sDisplay + //OS uptime (Day/Days, Hours/Hour, Minutes/Minute, Seconds/Second)
"&biosvendor=" + bios.vendor + //Bios vendor (Example: Dell Inc)
"&biosversion=" + bios.version + //Bios version (Example: A22.00)
"&biosdate=" + bios.releaseDate + //Bios release date (Example: 2018-11-29)
"&servermonitorversion=" + Version + //ServerMonitor version (Example: 1.0.1)
"&datatime=" + datatime + //Date and time (Example: 1578594094569)
"&dockercontainers=" + docker.containers + //Number of docker containers
"&dockercontainersrunning=" + docker.containersRunning + //Number of running docker containers
"&dockercontainerspaused=" + docker.containersPaused + //Number of paused docker containers
"&dockercontainersstopped=" + docker.containersStopped + //Number of stopped docker containers
"&updatetime= " + timestamp, //Last time the node sent data to the panel
method: "GET",
timeout: 5000,
followRedirect: true,
maxRedirects: 10
}, function (error, response, body) {

//Send data to panel
console.log(chalk.blue(timestamp + chalk.green(' | Data sent to the panel!')))

//Error checking.
if (error == "undefined") {
//No errors = Do nothing :D
} else if (error == "Error: ESOCKETTIMEDOUT") {
//Because Panel doesn't give response to Daemon it thinks it timed out.
//But really it didn't data was still sent.
//So ignore this error.
} else if (error == "Error: read ECONNRESET") {
//Do nothing because panel went down. Program will still continue to try and send data.
//So ignore this error.
} else if (error == "Error: connect ECONNREFUSED " + config.panelip + ":" + config.panelport) {
//Do nothing because panel went down. Program will still continue to try and send data.
//So ignore this error.
}else {
//Log the error in red and exit process
//console.log(chalk.red("ERROR! " + error))
return;
}
});
}

async function speedtest() {
var timestamp = `${moment().format("YYYY-MM-DD HH:mm:ss")}`;
const speed = await speedTest({maxTime: 5000, serverId: "36939"})
speed.on('data', async (data) => {
request({
uri: "http://" + config.panelip + ":" + config.panelport + "/data?speedname=" + os.hostname + //OS hostname for saving data panel sided.
"&ping=" + data.server.ping + //Speedtest Ping. (MS)
"&download=" + data.speeds.download + //Download Speed (Mbps)
"&upload=" + data.speeds.upload + //Upload Speed (Mbps)
"&updatetime= " + timestamp, //Last time the node sent data to the panel //Date and time (Example: 1578594094569)
method: "GET",
timeout: 5000,
followRedirect: true,
maxRedirects: 10
}, function (error, response, body) {

//Send data to panel
console.log(chalk.blue(timestamp + chalk.green(' | Speedtest sent to the panel!')))

//Error checking.
if (error == "undefined") {
//No errors = Do nothing :D
} else if (error == "Error: ESOCKETTIMEDOUT") {
//Because Panel doesn't give response to Daemon it thinks it timed out.
//But really it didn't data was still sent.
//So ignore this error.
} else if (error == "Error: read ECONNRESET") {
//Do nothing because panel went down. Program will still continue to try and send data.
//So ignore this error.
} else if (error == "Error: connect ECONNREFUSED " + config.panelip + ":" + config.panelport) {
//Do nothing because panel went down. Program will still continue to try and send data.
//So ignore this error.
}else {
//Log the error in red and exit process
//console.log(chalk.red("ERROR! " + error))
return;
}
})})}
Loading