feat(sat): agrega ProxyManager para rotación de proxies
- Nuevo servicio apps/api/src/services/sat/proxy.service.ts. - Soporta estrategias round-robin y random. - Parsea SAT_PROXY_LIST y crea agentes HttpsProxyAgent. - Script scripts/test-proxy-rotation.ts para validar configuración.
This commit is contained in:
20
apps/api/scripts/test-proxy-rotation.ts
Normal file
20
apps/api/scripts/test-proxy-rotation.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'dotenv/config';
|
||||
import { ProxyManager } from '../src/services/sat/proxy.service.js';
|
||||
|
||||
const manager = new ProxyManager(
|
||||
process.env.SAT_PROXY_LIST || '',
|
||||
(process.env.SAT_PROXY_STRATEGY as any) || 'round-robin',
|
||||
);
|
||||
|
||||
console.log(`Total de proxies: ${manager.getProxyCount()}`);
|
||||
console.log(`Estrategia: ${process.env.SAT_PROXY_STRATEGY || 'round-robin'}`);
|
||||
console.log('Próximos 10 proxies seleccionados:');
|
||||
|
||||
for (let i = 0; i < 10; i++) {
|
||||
const proxy = manager.getNextProxy();
|
||||
if (!proxy) {
|
||||
console.log(` ${i + 1}. (sin proxy configurado)`);
|
||||
} else {
|
||||
console.log(` ${i + 1}. ${proxy.host}:${proxy.port}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user