ktvmanager/lib/checker.js
karl.hudgell b7d4aae21c udpates
2021-03-26 12:42:13 +00:00

122 lines
4.4 KiB
JavaScript

let streamArrays = require('./streamArray.json')
let users = require('./logins.json')
const { getStreamsNew } = require('../routes/getStreams')
const { updateStreamData } = require('./updateStreams')
const { gotRequest } = require('./gotRequest')
const { decryptPassword } = require('./password')
const { getAllUserAccounts } = require('./getUser')
const delay = ms => new Promise(res => setTimeout(res, ms));
async function buildURL(streamURL, username, password) {
let url = streamURL + "/player_api.php?username=" + username + "&password=" + password
return url
}
async function singleCheck(username) {
let user = users.find(user => user.username === username)
for (let index = 0; index < streamArrays.length; index++) {
await delay(500);
const stream = streamArrays[index];
process.stdout.write('.')
// let url = stream.StreamURL + "/player_api.php?username=" + user.username + "&password=" + user.password
let url = await buildURL(stream.streamURL, user.username, user.password)
let t = await gotRequest(url)
let body = t.body
if (t.statusCode == 200 && body !== "") {
body = JSON.parse(body)
if (body.user_info.auth) {
var date = new Date(body.user_info.exp_date * 1000)
process.stdout.write('\n')
console.log('Match - ' + user.username + ' - ' + stream.StreamURL + ' - ' + stream.StreamName + ' - Expires - ' + date)
stream.username = user.username
stream.expiaryDate = date.toLocaleDateString('en-GB')
return (stream)
}
}
}
process.stdout.write('\nEnd Of Streams\n\n')
}
async function main() {
for (let index = 0; index < users.length; index++) {
const user = users[index];
console.log('Trying ' + user.username)
for (let index = 0; index < streamArrays.length; index++) {
await delay(500);
const stream = streamArrays[index];
process.stdout.write('.')
let url = await buildURL(stream.streamURL, user.username, user.password)
let t = await gotRequest(url)
let body = t.body
if (t.statusCode == 200 && body !== "") {
try {
body = JSON.parse(body)
if (body.user_info.auth) {
// var date = new Date(body.user_info.exp_date * 1000).toLocaleDateString('en-GB')
process.stdout.write('\n')
console.log('Match - ' + user.username + ' - ' + stream.StreamURL + ' - ' + stream.StreamName + ' - Expires - ' + body.user_info.exp_date)
break
}
} catch (error) {
}
}
}
process.stdout.write('\nEnd Of Streams\n\n')
}
console.log('Finished')
}
async function newCheck() {
streamURLS = await getStreamsNew()
let userAccounts = await getAllUserAccounts()
userAccounts = userAccounts.map(user => {
user.passwordDecryped = decryptPassword(user.password)
return user
})
for (let userAccount of userAccounts) {
console.log(userAccount.username)
for (let streamURL of streamURLS) {
process.stdout.write('.')
let url = await buildURL(streamURL, userAccount.username, userAccount.passwordDecryped)
let t = await gotRequest(url)
let body = t.body
if (t.statusCode == 200 && body !== "") {
try {
body = JSON.parse(body)
if (body.user_info.auth) {
// var date = new Date(body.user_info.exp_date * 1000).toLocaleDateString('en-GB')
process.stdout.write('\n')
console.log('Match - ' + userAccount.username + ' - ' + streamURL + ' - Expires - ' + body.user_info.exp_date)
await updateStreamData(userAccount, streamURL, body.user_info.exp_date)
break
}
} catch (error) {
console.log('Error - ' + userAccount.username + ' - ' + streamURL + ' - Expires - ' + body.user_info.exp_date)
}
}
}
}
// }
// console.log(userAccounts)
// retrievePasswordFromDB()
}
// main()
// singleCheck('Karl2903')
newCheck()
module.exports = {
newCheck,
singleCheck,
main
}