DEV Community

Cover image for HPSR Proxy Stack: Tu Propio Servidor Proxy HTTPS con Docker, Squid y Certificados SSL Válidos
Dante C. Lobato
Dante C. Lobato

Posted on • Originally published at hopsersmerk.com

HPSR Proxy Stack: Tu Propio Servidor Proxy HTTPS con Docker, Squid y Certificados SSL Válidos

HPSR Proxy Stack es una solución open-source que convierte cualquier VPS en un servidor proxy HTTPS profesional con certificados SSL válidos de Let's Encrypt, autenticación HTTP Basic y cifrado TLS 1.2+. Todo automatizado con Docker y listo en menos de 10 minutos.

¿Qué es HPSR Proxy Stack?

Es un stack completo basado en Docker que combina las mejores herramientas open-source:

  • Squid Proxy: El servidor proxy HTTP/HTTPS más robusto y confiable
  • Stunnel: Túnel SSL/TLS para cifrado end-to-end con certificados válidos
  • Let's Encrypt: Certificados SSL gratuitos reconocidos por todos los navegadores
  • Dante SOCKS5: Servidor SOCKS5 opcional para casos de uso avanzados
  • Docker Compose: Orquestación simple de todos los servicios

Todo preconfigurado con scripts de instalación automatizados y listo para producción.

¿Por Qué Necesitas tu Propio Proxy?

1. Privacidad y Control Total

Los proxies comerciales registran y venden tu información. Con tu propio servidor, tú controlas 100% de tus datos, logs y políticas de acceso.

2. Evitar Restricciones y Censura

Redes corporativas, universidades y algunos países bloquean sitios web. Un proxy HTTPS en puerto 443 con certificado SSL válido es prácticamente imposible de bloquear porque parece tráfico HTTPS normal.

3. Seguridad en Redes Públicas

En cafeterías, aeropuertos y hoteles, tu tráfico viaja cifrado con TLS desde tu dispositivo hasta tu VPS, protegiéndote completamente de ataques man-in-the-middle.

4. IP Estable para Desarrollo

  • Web scraping sin límites de rate limiting
  • Testing de APIs desde IP confiable
  • Automatización sin bloqueos
  • IP fija para whitelisting en servicios

5. Costo-Beneficio Superior

Por $100-200/mes tienes ancho de banda ilimitado, mientras que servicios comerciales cobran $1000-10000/mes con límites restrictivos.

Por Qué el Puerto 443 es Clave

El puerto 443 es el estándar mundial para HTTPS. Bloquearlo significaría:

  • ❌ Sin acceso a banca online
  • ❌ Sin compras en Amazon
  • ❌ Sin Gmail o Office 365
  • ❌ Sin WhatsApp Web
  • ❌ Sin redes sociales

Por eso tu proxy es imposible de detectar o bloquear - aparece como tráfico HTTPS legítimo con certificado válido.

Casos de Uso Reales

Para Desarrolladores

# Testing de APIs con IP estable
curl --proxy https://user:pass@proxy.tudominio.com:443 \
     https://api.ejemplo.com/v1/endpoint

# Web scraping con Python
import requests
proxies = {
    'http': 'https://user:pass@proxy.tudominio.com:443',
    'https': 'https://user:pass@proxy.tudominio.com:443'
}
response = requests.get('https://ejemplo.com', proxies=proxies)
Enter fullscreen mode Exit fullscreen mode

Para Equipos Remotos

  • Control centralizado del tráfico corporativo
  • IP fija para servicios que requieren whitelist
  • Auditoría de accesos (opcional)
  • Sin licencias por usuario

Para Freelancers y Nómadas Digitales

  • Trabajar seguro desde cualquier WiFi público
  • Acceder a recursos geo-restringidos
  • Mantener la misma IP sin importar ubicación
  • Protección contra espionaje en redes comprometidas

Arquitectura Técnica

HPSR Proxy Stack usa una arquitectura en capas para máxima seguridad:

┌─────────────┐    HTTPS:443    ┌──────────┐    HTTP:3128    ┌───────┐
│  Navegador  │ ───────────────► │ Stunnel  │ ──────────────► │ Squid │ ──► Internet
│   Cliente   │  Certificado SSL  │   TLS    │    Internal    │ Proxy │
└─────────────┘    Let's Encrypt └──────────┘                 └───────┘
Enter fullscreen mode Exit fullscreen mode

Flujo de conexión:

  1. Cliente se conecta al puerto 443 (HTTPS estándar)
  2. Stunnel presenta certificado SSL válido de Let's Encrypt
  3. Stunnel descifra TLS y reenvía a Squid (interno)
  4. Squid valida credenciales HTTP Basic
  5. Squid procesa la petición y la envía a Internet
  6. Respuesta regresa cifrada al cliente

Ventajas de esta arquitectura:

  • ✅ Certificados SSL reconocidos universalmente
  • ✅ Puerto 443 estándar (imposible de bloquear)
  • ✅ Compatible con todos los navegadores nativamente
  • ✅ Sin necesidad de software cliente especial
  • ✅ Renovación automática de certificados cada 90 días

Requisitos del Sistema

Opción 1: VPS en la Nube (Recomendado)

Especificaciones mínimas:

  • CPU: 1 vCore
  • RAM: 512 MB (1 GB recomendado para mejor rendimiento)
  • Almacenamiento: 10 GB SSD
  • Ancho de banda: Idealmente ilimitado (mínimo 1TB/mes)
  • Sistema operativo: Ubuntu 22.04/24.04 LTS o Debian 11/12
  • Puertos necesarios: 80 (Let's Encrypt), 443 (proxy)

IONOS.mx - Recomendación Especial

Si estás en México o Latinoamérica, IONOS.mx ofrece:

  • Servidores en México (menor latencia)
  • Soporte técnico en español 24/7
  • Facturación en pesos mexicanos con RFC
  • Tráfico generoso incluido
  • Panel de control en español

Obtén tu VPS en IONOS.mx →

Proveedores recomendados:

  • Hetzner Cloud - Desde €4.51/mes - 20TB tráfico incluido
  • DigitalOcean - Desde $6/mes - Interface simple
  • Vultr - Desde $5/mes - 25+ ubicaciones globales
  • Oracle Cloud - Tier gratuito perpetuo disponible

Opción 2: Homelab (Avanzado)

Requisitos para servidor casero:

  • IP pública estática o DDNS configurado
  • Puertos 80 y 443 abiertos en router/firewall
  • Conexión estable con UPS recomendado
  • Upload mínimo 10 Mbps (50+ ideal)
  • Uptime 99%+ para uso confiable

Software Prerequisito

Obligatorio antes de instalar:

  1. Docker y Docker Compose - Sigue mi guía completa de Docker en Ubuntu
  2. Dominio propio - Desde $1/año (Namecheap, Cloudflare, Porkbun)
  3. Acceso root/sudo al servidor vía SSH

Instalación Completa Paso a Paso

Paso 1: Preparar el Servidor

Si no tienes Docker instalado, primero sigue mi guía de Docker en Ubuntu 24.04. Es prerequisito obligatorio.

Paso 2: Configurar DNS

En tu proveedor de dominios, crea un registro A:

Tipo: A
Nombre: proxy (o cualquier subdominio)
Valor: IP_DE_TU_VPS
TTL: 300 (5 minutos para cambios rápidos)
Enter fullscreen mode Exit fullscreen mode

Ejemplos de dominios válidos:

  • proxy.tuempresa.com
  • secure.tudominio.net
  • gateway.ejemplo.dev
  • vpn.tunombre.io

Verifica que resuelve correctamente:

dig +short proxy.tudominio.com
# Debe mostrar la IP de tu VPS
Enter fullscreen mode Exit fullscreen mode

Paso 3: Instalar HPSR Proxy Stack

# Clonar el repositorio
git clone https://github.com/hopsersmerk/hpsr-proxy-stack.git
cd hpsr-proxy-stack

# Ejecutar script de configuración SSL
sudo bash setup-ssl.sh

# El script te pedirá:
# 1. Tu dominio completo (ej: proxy.tudominio.com)
# 2. Automáticamente:
#    - Verificará DNS
#    - Obtendrá certificado SSL de Let's Encrypt
#    - Configurará stunnel con TLS 1.2+
#    - Creará credenciales por defecto
#    - Configurará renovación automática

# Iniciar todos los servicios
docker compose up -d

# Verificar que todo está corriendo
docker ps
# Debes ver 4 contenedores: stunnel-https, squid-proxy, socks5-proxy, stunnel-socks
Enter fullscreen mode Exit fullscreen mode

Paso 4: Verificar Funcionamiento

# Test desde el servidor
curl --proxy https://proxyuser:changeme123@proxy.tudominio.com:443 \
     https://ifconfig.me

# Respuesta esperada: la IP de tu VPS

# Test con headers HTTP
curl -v --proxy https://proxyuser:changeme123@proxy.tudominio.com:443 \
     https://httpbin.org/headers
Enter fullscreen mode Exit fullscreen mode

Paso 5: Cambiar Credenciales (IMPORTANTE)

Las credenciales por defecto son proxyuser:changeme123. Cámbialas inmediatamente:

# Método automatizado (recomendado)
sudo bash setup-squid-auth.sh
# Te pedirá nuevo usuario y contraseña

# Reiniciar servicios con nuevas credenciales
docker compose restart squid-proxy stunnel-https
Enter fullscreen mode Exit fullscreen mode

Configuración en Navegadores y Aplicaciones

Chrome/Edge con Proxy SwitchyOmega (Recomendado)

  1. Instalar Proxy SwitchyOmega
  2. Click en el ícono → Options
  3. New profile → Nombre: Mi ProxyProxy Profile
  4. Configuración del proxy:
    • Protocol: HTTPS
    • Server: proxy.tudominio.com
    • Port: 443
  5. En la sección Authentication:
    • Username: tuusuario
    • Password: tucontraseña
  6. Apply changes
  7. Activar desde el ícono de la extensión

Firefox con FoxyProxy

  1. Instalar FoxyProxy Standard
  2. Click en el ícono → Options
  3. Add → Manual Proxy Configuration:
    • Title: Mi Proxy Seguro
    • Type: HTTP (Firefox maneja HTTPS como HTTP)
    • Hostname: proxy.tudominio.com
    • Port: 443
    • Username: tuusuario
    • Password: tucontraseña
  4. Save y activar el perfil

Configuración para Terminal/CLI

Variables de entorno (Linux/Mac):

# Agregar a ~/.bashrc o ~/.zshrc
export HTTP_PROXY="https://usuario:contraseña@proxy.tudominio.com:443"
export HTTPS_PROXY="https://usuario:contraseña@proxy.tudominio.com:443"
export NO_PROXY="localhost,127.0.0.1"

# Aplicar cambios
source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

Para Git:

git config --global http.proxy https://usuario:contraseña@proxy.tudominio.com:443
git config --global https.proxy https://usuario:contraseña@proxy.tudominio.com:443

# Para desactivar
git config --global --unset http.proxy
git config --global --unset https.proxy
Enter fullscreen mode Exit fullscreen mode

Para Docker:

# Crear/editar ~/.docker/config.json
{
  "proxies": {
    "default": {
      "httpProxy": "https://usuario:contraseña@proxy.tudominio.com:443",
      "httpsProxy": "https://usuario:contraseña@proxy.tudominio.com:443"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Uso de SOCKS5 (Opcional)

HPSR Proxy Stack también incluye un servidor SOCKS5 (Dante). Para usarlo con túnel SSH:

# Crear túnel SSH (dejar terminal abierta)
ssh -N -L 1080:localhost:1080 usuario@proxy.tudominio.com

# En otra terminal, probar SOCKS5
curl --proxy socks5h://proxyuser:changeme123@localhost:1080 https://ifconfig.me
Enter fullscreen mode Exit fullscreen mode

Configurar en navegador:

  • Tipo: SOCKS5
  • Host: localhost
  • Puerto: 1080
  • Usuario: proxyuser
  • Contraseña: changeme123

Solución de Problemas Comunes

Error 407 - Proxy Authentication Required

# Credenciales incorrectas. Solución:
sudo bash setup-squid-auth.sh  # Recrear credenciales
docker compose restart squid-proxy stunnel-https
Enter fullscreen mode Exit fullscreen mode

El proxy no responde

# 1. Verificar firewall
sudo ufw status
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp  # Necesario para Let's Encrypt

# 2. Verificar que el dominio resuelve
dig +short proxy.tudominio.com

# 3. Reiniciar servicios
docker compose down
docker compose up -d

# 4. Ver logs para diagnóstico
docker compose logs -f
Enter fullscreen mode Exit fullscreen mode

Error de certificado SSL

# Verificar certificado
sudo certbot certificates

# Si expiró, renovar manualmente
sudo certbot renew
docker compose restart stunnel-https stunnel-socks
Enter fullscreen mode Exit fullscreen mode

Verificar logs específicos

# Logs de Stunnel (maneja SSL)
docker logs stunnel-https

# Logs de Squid (proxy HTTP)
docker logs squid-proxy

# Logs en tiempo real
docker compose logs -f
Enter fullscreen mode Exit fullscreen mode

Preguntas Frecuentes

¿Es legal tener mi propio proxy?

Absolutamente sí. Es tu servidor, tu conexión. Úsalo responsablemente y respeta las leyes locales y términos de servicio de los sitios web.

¿Cuántos usuarios simultáneos soporta?

  • VPS básico ($5/mes): 5-10 usuarios navegación normal
  • VPS 2GB RAM: 20-30 usuarios
  • VPS 4GB+ RAM: 50+ usuarios
  • El límite real es el ancho de banda

¿Es más rápido que VPN?

Sí, porque:

  • No hay overhead de cifrado VPN (solo TLS estándar)
  • IP dedicada sin compartir recursos
  • Puedes elegir VPS cerca de tu ubicación
  • Sin throttling artificial

¿Funciona en móviles?

Sí, compatible con:

  • iOS: Apps como Shadowrocket, Surge
  • Android: ProxyDroid, Drony, configuración nativa
  • Windows/Mac/Linux: Configuración de sistema

¿Qué pasa si bloquean el puerto 443?

Prácticamente imposible. Bloquear 443 = no más Internet seguro. Si sucede (muy raro), puedes cambiar el puerto en docker-compose.yml.

¿Se renueva solo el certificado SSL?

Sí, el script configura un cron job que renueva automáticamente cada 60 días y reinicia los servicios.

Conclusión

HPSR Proxy Stack te da control total sobre tu tráfico web con seguridad empresarial por una fracción del costo de servicios comerciales. Con certificados SSL válidos, cifrado TLS 1.2+, y configuración automatizada, es la solución perfecta para quien valora su privacidad y necesita un proxy confiable.

Lo mejor: es 100% open-source, sin telemetría, sin límites artificiales, y completamente bajo tu control.

¿Necesitas Ayuda Profesional?

Si requieres asistencia Agenda una consultoría conmigo →

Recursos

Si esta guía te fue útil, compártela con la comunidad. Tu apoyo mantiene el proyecto activo y mejorado.

Top comments (0)