From 6e235425f995e34d1759212df71ca119eb818795 Mon Sep 17 00:00:00 2001 From: Karl Date: Mon, 20 Sep 2021 19:30:47 +0000 Subject: [PATCH] latest --- lib/checker.js | 46 +++++++++++++++++++++++++++++++++++++------- package-lock.json | 13 +++++++++++++ package.json | 1 + routes/addAccount.js | 23 +++++++++++----------- 4 files changed, 64 insertions(+), 19 deletions(-) diff --git a/lib/checker.js b/lib/checker.js index 50bda94..12e41fa 100644 --- a/lib/checker.js +++ b/lib/checker.js @@ -147,22 +147,16 @@ async function userCheck(accountData) { return user }) - // try { for (let i = 0; i < userAccounts.length; ++i) { const userAccount = userAccounts[i]; if (userAccount.expiaryDate != 123 && Math.round(Date.now() / 1000) > userAccount.expiaryDate) { setExpired(userAccount) } else { await updateAccountDNS(userAccount, streamURLS) - // console.log(a) } } console.log(Date.now()) return true - // } catch (error) { - // return true - // console.error(error); - // } } @@ -200,8 +194,46 @@ async function singleCheck(accountData) { } } +const axios = require('axios') + + +async function singleAccountCheck(accountData) { + streamURLS = await getStreamsNew() + accountData + urlList = [] + + for (let index = 0; index < streamURLS.length; index++) { + const streamURL = streamURLS[index]; + urlList.push(await buildURL(streamURL, accountData.username, accountData.password)) + + } + + for (let index = 0; index < urlList.length; index++) { + const streamURL = urlList[index]; + try { + const response = await axios.get(streamURL) + if (response.status == 200 && response.data !== "") { + try { + let data = response.data + if (data.user_info.auth) { + var date = new Date(data.user_info.exp_date * 1000).toLocaleDateString(undefined, { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' }) + // process.stdout.write('\n') + console.log(`${accountData.username} - ${accountData.stream} - ${streamURL} - Expires ${date}.`) + await updateStreamData(accountData, streamURL, data.user_info.exp_date) + return true + } + } catch (error) { + } + } else { + } + } catch (error) { + } + } +} + module.exports = { newCheck, singleCheck, - userCheck + userCheck, + singleAccountCheck } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 4906494..87a0d19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -175,6 +175,14 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + }, "babel-runtime": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", @@ -572,6 +580,11 @@ "unpipe": "~1.0.0" } }, + "follow-redirects": { + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", + "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", diff --git a/package.json b/package.json index 3b3f930..9155527 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "start": "node ./bin/www" }, "dependencies": { + "axios": "^0.21.4", "bcrypt": "^5.0.0", "cryptr": "^6.0.2", "express": "~4.16.1", diff --git a/routes/addAccount.js b/routes/addAccount.js index 3becfd3..dc5db02 100644 --- a/routes/addAccount.js +++ b/routes/addAccount.js @@ -3,7 +3,7 @@ var router = express.Router(); const { storeAccountToDB } = require('../lib/Accounts') const { getUserId } = require('../lib/getUser') -const { singleCheck } = require('../lib/checker') +const { singleAccountCheck } = require('../lib/checker') @@ -17,19 +17,18 @@ router.post('/', async function (req, res, next) { postData.username = postData.username.replace("O", "0") } postData.userId = getUserId(req.auth.user) - let userName = req.auth.user - let result = await storeAccountToDB(postData) - console.log(result) - if (result.affectedRows < 1) { - res.send('Adding account failed') + // let result = await storeAccountToDB(postData) + // console.log(result) + // if (result.affectedRows < 1) { + // res.send('Adding account failed') + // } else { + a = await singleAccountCheck(postData) + if (a) { + res.send('Account ' + postData.username + ' Added successfully to ' + req.auth.user) } else { - a = await singleCheck(postData) - if (a) { - res.send('Account ' + postData.username + ' Added successfully to ' + userName) - } else { - res.send(500); - } + res.send(500); } + // } }); module.exports = router;