Spaces:
Running
Running
File size: 2,981 Bytes
f110811 |
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 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
/**
* Script para probar cookies rate-limited y reactivarlas si ya no est谩n limitadas
* Este script puede ser ejecutado manualmente o programado con cron
*/
const authCookieDB = require('../config/auth_cookies');
// Importar funciones necesarias
const { testRateLimitedCookie } = require('../utils/utils');
async function testRateLimitedCookies() {
console.log('[RECOVERY] Iniciando prueba de cookies rate-limited...');
// Obtener todas las cookies que necesitan ser probadas
const cookiesForTesting = authCookieDB.getCookiesForTesting();
if (cookiesForTesting.length === 0) {
console.log('[RECOVERY] No hay cookies rate-limited que necesiten ser probadas');
return;
}
console.log(`[RECOVERY] Encontradas ${cookiesForTesting.length} cookies para probar`);
// Probar cada cookie
for (const cookie of cookiesForTesting) {
console.log(`[RECOVERY] Probando cookie: ${cookie.name} (${cookie.id.substring(0, 8)}...)`);
try {
const isWorking = await testRateLimitedCookie(cookie.id);
if (isWorking) {
console.log(`[RECOVERY] La cookie ${cookie.name} (${cookie.id.substring(0, 8)}...) ha sido reactivada`);
} else {
console.log(`[RECOVERY] La cookie ${cookie.name} (${cookie.id.substring(0, 8)}...) sigue rate-limited`);
}
} catch (error) {
console.error(`[RECOVERY] Error al probar la cookie ${cookie.name}:`, error.message);
// Actualizar el tiempo de la pr贸xima prueba
authCookieDB.updateNextTestTime(cookie.id);
}
}
console.log('[RECOVERY] Prueba de cookies rate-limited completada');
}
// Verificar tambi茅n cookies que hayan superado el tiempo de rate limit (12 horas)
function checkExpiredRateLimits() {
console.log('[RECOVERY] Verificando cookies con rate limit expirado...');
const updated = authCookieDB.checkExpiredRateLimits();
if (updated) {
console.log('[RECOVERY] Se reactivaron cookies con rate limit expirado');
} else {
console.log('[RECOVERY] No se encontraron cookies con rate limit expirado');
}
}
// Ejecutar ambas funciones
async function main() {
try {
// Primero verificar cookies con rate limit expirado
checkExpiredRateLimits();
// Luego probar las cookies que necesitan ser probadas
await testRateLimitedCookies();
console.log('[RECOVERY] Proceso completado exitosamente');
} catch (error) {
console.error('[RECOVERY] Error en el proceso de recuperaci贸n:', error.message);
}
}
// Si se ejecuta directamente, ejecutar la funci贸n principal
if (require.main === module) {
main().catch(console.error);
}
module.exports = {
testRateLimitedCookies,
checkExpiredRateLimits,
main
};
|