const express = require('express'); const unblocker = require('unblocker'); const basicAuth = require('basic-auth'); const faker = require('faker'); const { Transform } = require('stream'); const dns = require('dns'); const http = require('http'); const https = require('https'); const { URL } = require('url'); const httpProxy = require('http-proxy'); const request = require('request') const pick = require('lodash').pick const app = express(); const server = createServer(); const auth = require('basic-auth') const ytdl = require('ytdl-core'); const axios = require('axios'); const url = require('url'); const { createProxyMiddleware } = require('http-proxy-middleware'); const LOGIN = 'usuario'; const PASSWORD = 'clave'; const MAIN_IP = '0.0.0.0'; const PROXY_PORT = 7860; const google_analytics_id = process.env.GA_ID || null; let port = parseInt(process.env.PORT || ""); const httpProxyServer = httpProxy.createProxyServer({}); if (isNaN(port)) port = 8080; let allowAllRequests = false; let requestCount = 0; const statusCounts = {}; function generateRandomResidentialIP() { return faker.internet.ip(); } function incrementRequestCount() { requestCount++; } function incrementStatusCount(statusCode) { statusCounts[statusCode] = (statusCounts[statusCode] || 0) + 1; } app.use(express.json()); app.use((req, res, next) => { if (req.method === 'GET' || req.method === 'POST' || req.method === 'PUT' || req.method === 'CONNECT' || req.method === '' || req.method === '*') { next(); } else { res.status(405).send('Method Not Allowed'); } }); app.use((req, res, next) => { res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, CONNECT, OPTIONS'); res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization'); if (req.method === 'OPTIONS') { res.sendStatus(200); } else { next(); } }); app.use((req, res, next) => { res.setHeader('Accept-Language', 'en-US,en;q=0.9'); next(); }); app.use((req, res, next) => { res.setHeader('Referer', 'https://www.google.com/'); next(); }); function incognitoMode(req, res, next) { req.headers['User-Agent'] = faker.internet.userAgent(); req.headers['X-Forwarded-For'] = generateRandomResidentialIP(); req.headers['X-Forwarded-Proto'] = 'https'; next(); } function solveGoogleCaptcha(req, res, next) { if (res.getHeader('content-type') && res.getHeader('content-type').includes('text/html')) { const data = []; res.on('data', chunk => { data.push(chunk); }); res.on('end', () => { let html = Buffer.concat(data).toString(); html = html.replace(/
Total Requests: ${requestCount}
Status Counts:
This proxy is made to be the very best, and is super lightweight, secure, and speedy.
Want to see the GitHub?
Access ProxyChief using any of these URLs