瀏覽代碼

Actualizar 'C/README.md'

yosoyhendrix 1 天之前
父節點
當前提交
1c97d38f14
共有 1 個文件被更改,包括 9 次插入79 次删除
  1. 9 79
      C/README.md

+ 9 - 79
C/README.md

@@ -1,79 +1,9 @@
-🛡️ Proxy VPN Dual-Stack (TCP + TLS) - Edición Bare-Metal
-​📌 Descripción del Proyecto
-​Este proyecto es un Demonio de Red (Network Daemon) de alto rendimiento escrito nativamente en C. Actúa como un Proxy VPN capaz de evadir sistemas de Inspección Profunda de Paquetes (DPI) y escáneres activos (Active Probing).
-​A diferencia de los proxies tradicionales basados en lenguajes interpretados (como Python), esta versión opera Bare-Metal, interactuando directamente con el Kernel de Linux a través de sockets POSIX. Esto reduce el consumo de RAM a menos de 3MB y minimiza drásticamente el uso de CPU.
-​🚀 Características Principales (Grado Enterprise)
-​Multiplexación de Puertos: Escucha simultáneamente tráfico en texto plano (Ej. TCP 80) y cifrado (Ej. TLS 443) usando un único hilo orquestador (select()).
-​Multi-Hilo Dinámico (pthreads): Crea hilos independientes "Detached" por cada cliente, previniendo cuellos de botella y bloqueos (GIL).
-​Evasión Anti-Probing (Fake Web): Si detecta un escáner de red, devuelve una réplica exacta de un error 400 Bad Request camuflándose como un servidor Nginx 1.24/1.21.
-​Protección Anti-Crash: Ignora señales SIGPIPE nativas para evitar caídas por desconexiones abruptas del cliente.
-​Tolerancia a Fallos ("Doble Guardia"): Respaldado por un Watchdog en Bash y un servicio de Systemd para garantizar un Uptime del 99.9%.
-​⚙️ Arquitectura: ¿Cómo funciona?
-​El Orquestador: El hilo principal main() utiliza select() para vigilar los puertos 80 y 443 sin consumir ciclos de CPU.
-​El Handshake: Cuando entra una conexión, se lanza un hilo. Si entró por el 443, realiza un Handshake SSL usando la librería OpenSSL. Si es por el 80, lee directamente.
-​Inspección de Capa 7: Analiza el primer paquete. Si es tráfico VPN legítimo (inyector/SSH), inyecta los Headers Personalizados (Mensajes Rotativos) y establece un túnel bidireccional hacia el servidor SSH local (puerto 22).
-​I/O Multiplexing: El túnel mueve los bytes entre el cliente y el SSH usando otro bucle select() interno, logrando la latencia física más baja posible.
-​🛠️ Guía de Instalación (Paso a Paso)
-​Paso 1: Dependencias del Sistema
-​Asegúrate de estar en Ubuntu/Debian y actualiza las librerías necesarias para compilar C y usar OpenSSL:
-`sudo apt updatesudo apt install build-essential libssl-dev -y`
-
-Paso 2: Certificados SSL (Requisito para TLS)El servidor necesita un certificado para el puerto 443. Asegúrate de tenerlos en la ruta correcta:Certificado: /root/cert.pemLlave Privada: /root/key.pemPaso 3: Compilación del Código FuenteClona este repositorio, navega a la carpeta y compila el código nativo usando gcc con optimización máxima (-O3):
-`gcc -O3 -o /root/proxy_dual proxy_dual.c -lssl -lcrypto -lpthread`
-
-(Esto generará el binario ejecutable /root/proxy_dual).
-​🛡️ Implementación de la "Doble Guardia" (Tolerancia a Fallos)
-​Para evitar que el proxy se quede apagado por reinicios del servidor físico o errores fatales, implementamos una arquitectura de resiliencia de dos capas.
-​Capa 1: El Perro Guardián (Watchdog)
-​Crea el script que vigilará al binario en C:
-`nano /root/iniciar_vpn.sh`
-
-Pega el siguiente código:
-`#!/bin/bash
-PUERTO_TCP=80
-PUERTO_TLS=443
-BINARIO_C="/root/proxy_dual"
-LOG_WATCHDOG="/root/watchdog.log"
-
-while true; do
-    echo "[$(date '+%Y-%m-%d %H:%M:%S')] Iniciando el Proxy Dual en puertos $PUERTO_TCP y $PUERTO_TLS..." >> $LOG_WATCHDOG
-    $BINARIO_C $PUERTO_TCP $PUERTO_TLS
-    echo "[$(date '+%Y-%m-%d %H:%M:%S')] ⚠️ ALERTA: El Proxy C se ha detenido. Reiniciando en 3s..." >> $LOG_WATCHDOG
-    sleep 3
-done`
-
-Dale permisos de ejecución: chmod +x /root/iniciar_vpn.sh
-
-Capa 2: Systemd (El Supervisor Maestro)
-​Crea el servicio en el sistema operativo:
-`sudo nano /etc/systemd/system/vps-proxy.service`
-Pega la configuración:
-`[Unit]
-Description=Proxy VPN Watchdog (Doble Guardia Bare-Metal)
-After=network.target
-StartLimitIntervalSec=0
-
-[Service]
-Type=simple
-User=root
-WorkingDirectory=/root
-ExecStart=/bin/bash /root/iniciar_vpn.sh
-Restart=always
-RestartSec=3
-LimitNOFILE=65535
-
-[Install]
-WantedBy=multi-user.target`
-
-Iniciar el Sistema de DefensaRecarga los demonios y arranca el servicio para la eternidad:
-`sudo systemctl daemon-reload
-sudo systemctl enable vps-proxy.service
-sudo systemctl start vps-proxy.service`
-
-📊 Monitoreo y LogsEl demonio registrará todas las conexiones, ataques evadidos y consumo de tráfico (en MB) en un archivo de texto. Para ver el tráfico en tiempo real:
-`tail -f /root/proxy-dual.log`
-
-Para ver los reinicios del sistema de protección:
-`tail -f /root/watchdog.log`
-
-Diseñado para entornos de recursos restringidos (Low-End VPS) y auditorías de Ciberseguridad.
+Recarga la configuración de Linux ejecutando:
+
+Bash
+sudo systemctl daemon-reload
+4.  Inicia el servicio y actívalo para que arranque al encender el servidor:
+```bash
+sudo systemctl enable proxyvpn
+sudo systemctl restart proxyvpn
+5.  Puedes ver cómo está corriendo con: `sudo systemctl status proxyvpn`