Gusto en saludarles comunidad de indetectables.net,
por la presente es para solicitarles apoyo para dilucidar un conflicto que tengo con el código que les mostraré a continuación, pero ante todo
seré honesto con ustedes y les proporcionaré el mayor contexto posible.
Este código es un auto activador de una app llamada KrakenTV, esta app proporciona TV Premium de forma gratuita y sin publicidad intrusiva dentro de los canales,
Películas, etc. El único inconveniente es que hay que activarla 2 veces al día, entiendo perfectamente que esta excelente app sobrevive con publicidad,
pero me resulta molesto que en medio de una película se me interrumpa la programación porque hay que activar.
por la presente es para solicitarles apoyo para dilucidar un conflicto que tengo con el código que les mostraré a continuación, pero ante todo
seré honesto con ustedes y les proporcionaré el mayor contexto posible.
Este código es un auto activador de una app llamada KrakenTV, esta app proporciona TV Premium de forma gratuita y sin publicidad intrusiva dentro de los canales,
Películas, etc. El único inconveniente es que hay que activarla 2 veces al día, entiendo perfectamente que esta excelente app sobrevive con publicidad,
pero me resulta molesto que en medio de una película se me interrumpa la programación porque hay que activar.
[DETALLES]
- Al activar la app se activa para todos los equipos conectados a la misma IP pública, como consecuencia al cambiar la IP
se debe volver a activar, (Es un auténtico problema si usas datos móviles en lugar de wi-fi)
- La página tiene la capacidad de validar si existe algún AdBloker para denegar el acceso a la misma.
- La app se activa desde la siguiente página: [Enlace externo eliminado para invitados]
la cual en el código interno del Botón está el siguiente código HTML: - Por lo cual con un simple código js se puede activar y para generar un auto activador, pues con NodeJS se automatizaría sin necesidad de tener extensos conocimientos informáticos nivel Dios
entonces se implementa este código:
Código: Seleccionar todo
const stream = fs.createWriteStream('1- logs.txt', { flags:'a' }); const ua = 'Mozilla/5.0 (Linux; Android 10; SM-G960U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36'; const simpleLog = (message) => { const fecha = new Date().toLocaleString('en-US').replace(/,/, ''); stream.write(`[${fecha}]: ${message}\n`); } const main = async() => { try { let res = await axios({ method: 'get', url: 'https://www.listasiptvactualizadas.com/activar-kraken-tv/', headers: { 'User-Agent': ua, "Referer": "https://www.listasiptvactualizadas.com/activar-kraken-tv/", "Origin": "https://www.listasiptvactualizadas.com" } }); setTimeout(main, 1000*10*1); let html = res.data; let $ = cheerio.load(html); const msgActivaste = $('#activarspliktv').first().text().length > 0 ? $('#activarspliktv').first().text() : null; const msgHora = $('.info').first().text().length > 0 ? $('.info').first().text() : null; if (!(msgActivaste || msgHora)) { const id = html.substring(html.indexOf(".setAttribute('name', '")+".setAttribute('name', '".length, html.indexOf("');")); console.log(`ID es: ${id}, activando...`); simpleLog(`ID es: ${id}, activando...`); const data = new url.URLSearchParams({ method_name: 'activate', token: 'token', [id]: 'Pulsa aquí para activar ' }); res = await axios({ method: 'post', url: 'https://www.listasiptvactualizadas.com/activar-kraken-tv/', data: data.toString(), headers: { "Content-Type": "application/x-www-form-urlencoded", 'User-Agent': ua, "Referer": "https://www.listasiptvactualizadas.com/activar-kraken-tv/", "Origin": "https://www.listasiptvactualizadas.com", "Content-Length": Buffer.byteLength(data.toString()) } }); html = res.data; $ = cheerio.load(html); const msgActivaste = $('#activarspliktv').first().text().length > 0 ? $('#activarspliktv').first().text() : null; if (msgActivaste === 'Error!') { const msgInfo = $('#info').first().text().length > 0 ? $('#info').first().text() : null; console.log(`${msgActivaste} ${msgInfo}`); simpleLog(`${msgActivaste} ${msgInfo}`); setTimeout(main, 5000); } else if (msgActivaste === 'Activado!') { console.log(msgActivaste); simpleLog(msgActivaste); setTimeout(main, 1000*6*1); } //Cada Hora 1000*60*60 else { console.log('Creo que banearon, revisa el html'); simpleLog('Creo que banearon, revisa el html'); await fs.promises.writeFile('1- ban.html', html, 'utf8'); return; } } else { console.log(`${msgActivaste} ${msgHora}`); simpleLog(`${msgActivaste} ${msgHora}`); setTimeout(main, 1000*6*1); } } catch (e) { console.error(e); simpleLog(e.message); setTimeout(main, 5000); } } main();
Código: Seleccionar todo
- Este codigo se puede automatizar en un bucle de tiempo que se desee.
- Actualmente actualizaron la pagina y me encuentro con el siguiente conflicto:
Código: Seleccionar todo
if (!(msgActivaste || msgHora)) { const id = html.substring(html.indexOf(".setAttribute('name', '")+".setAttribute('name', '".length, html.indexOf("');")); console.log(`ID es: ${id}, activando...`); simpleLog(`ID es: ${id}, activando...`); const data = new url.URLSearchParams({ method_name: 'activate', token: 'token', [id]: 'Pulsa aquí para activar ' });
Como se puede observar en este fragmento de código, toma los datos dentro de la sección del input del html [Name=][Value=] para activar automáticamente, la cual al actualizar la página
el Token cambia. y allí está mi problema, la cual no logro extraer ese Token o especificarlo en él código para que el auto activador sea autónomo.
Me despido atento ante cualquier sugerencia o inquietud,
Saludos cordiales.
Código Completo:
Url: [Enlace externo eliminado para invitados]
Clave: indetectables.net
Si deseas el proyecto completo, no habría problema en facilitarlo solo con la condición de mejorar el código en esta misma comunidad de indetectables.net si algun Moderador o Administrador lo permite.