Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

github-no-sni-proxy

Proxy inverso en Python estándar para Windows que restaura acceso a GitHub omitiendo SNI en reenvío TLS, evitando bloqueos por coincidencia exacta de nombres sin dependencias externas.

Ficha actualizada 27 sept 2026, 21:10 · upstream 27 sept 2026, 20:56 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es github-no-sni-proxy

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

github-no-sni-proxy es una herramienta de red escrita en Python 3.11+ que actúa como proxy inverso transparente en el puerto 443 local (127.0.0.1). Su objetivo principal es restaurar el acceso a GitHub en entornos con restricciones al omitir el campo SNI durante la reenvío TLS, lo que permite evadir bloqueos basados en coincidencia exacta de nombres de dominio.

El proyecto utiliza exclusivamente bibliotecas estándar de Python sin dependencias externas, implementando mecanismos avanzados como pools de conexiones para reutilización, selección de rutas concurrente con múltiples IPs y modos SNI/No-SNI, y gestión de fallos con penalización temporal. Incluye generación de certificados CA privados locales para cada usuario, resolución de problemas específicos de Windows relacionados con la verificación de revocación de certificados en herramientas como curl, y una suite de 147 pruebas unitarias offline.

La arquitectura incluye scripts para despliegue automático (deploy.py), gestión de hosts, instalación de certificados raíz en el sistema, monitorización de estado mediante GUI tkinter, y procedimientos reversibles para reinstalación. El proyecto se centra exclusivamente en GitHub mediante listas blancas de dominios, sin actuar como proxy general.

CASOS DE USO
  • Restaurar acceso estable a GitHub Actions y repositorios en entornos con restricciones de red
  • Permitir desarrollo local con autenticación HTTPS completa sin dependencias de terceros
  • Resolver problemas de verificación de revocación de certificados en herramientas como curl en Windows
  • Proveer acceso a contenido estático y APIs de GitHub con latencia mínima mediante pools de conexiones
PUNTOS DESTACADOS
  • Implementación puramente en Python estándar sin dependencias externas ni drivers del sistema
  • Mecanismo de selección de rutas concurrente que prueba múltiples IPs y modos SNI simultáneamente
  • Gestión de certificados CA privados generados localmente con soporte para CRL distribuido
  • Arquitectura de streaming para manejar transferencias de archivos grandes sin consumir memoria excesiva
  • Suite de 147 pruebas unitarias offline incluyendo verificación real de git push end-to-end
PRECAUCIONES
  • Restricción exclusiva al sistema operativo Windows debido a dependencias del sistema como hosts, certutil y schtasks
  • Requiere permisos de administrador para escribir en hosts, instalar certificados raíz y escuchar puerto 443
  • No soporta WebSocket ni protocolos que requieren encabezados Upgrade por diseño de seguridad
  • Dependencia de generación manual de certificados CA privados con riesgo de pérdida si no se respalda correctamente
  • Funcionalidad limitada a dominios de GitHub mediante listas blancas, sin capacidad de proxy general
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU1 vCPUrecomendación inicial
MEMORIA1 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Generar certificados primero con gen_certs.py. Ejecutar deploy.py con permisos de administrador para escribir en hosts e instalar CA raíz. Verificar estado con status_gui.py antes de uso productivo. Mantener backups de certificados privados fuera del repositorio Git. Para reinicios, usar restart_proxy.py después de cambios en gh-proxy.py.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
443
06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.