|
|
@@ -7,28 +7,142 @@
|
|
|
</picture>
|
|
|
</p>
|
|
|
|
|
|
-[](https://github.com/MHSanaei/3x-ui/releases)
|
|
|
-[](https://github.com/MHSanaei/3x-ui/actions)
|
|
|
-[](#)
|
|
|
-[](https://github.com/MHSanaei/3x-ui/releases/latest)
|
|
|
-[](https://www.gnu.org/licenses/gpl-3.0.en.html)
|
|
|
-[](https://pkg.go.dev/github.com/mhsanaei/3x-ui/v3)
|
|
|
-[](https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v3)
|
|
|
+<p align="center">
|
|
|
+ <a href="https://github.com/MHSanaei/3x-ui/releases"><img src="https://img.shields.io/github/v/release/mhsanaei/3x-ui.svg" alt="Release"></a>
|
|
|
+ <a href="https://github.com/MHSanaei/3x-ui/actions"><img src="https://img.shields.io/github/actions/workflow/status/mhsanaei/3x-ui/release.yml.svg" alt="Build"></a>
|
|
|
+ <a href="#"><img src="https://img.shields.io/github/go-mod/go-version/mhsanaei/3x-ui.svg" alt="GO Version"></a>
|
|
|
+ <a href="https://github.com/MHSanaei/3x-ui/releases/latest"><img src="https://img.shields.io/github/downloads/mhsanaei/3x-ui/total.svg" alt="Downloads"></a>
|
|
|
+ <a href="https://www.gnu.org/licenses/gpl-3.0.en.html"><img src="https://img.shields.io/badge/license-GPL%20V3-blue.svg?longCache=true" alt="License"></a>
|
|
|
+ <a href="https://pkg.go.dev/github.com/mhsanaei/3x-ui/v3"><img src="https://pkg.go.dev/badge/github.com/mhsanaei/3x-ui/v3.svg" alt="Go Reference"></a>
|
|
|
+ <a href="https://goreportcard.com/report/github.com/mhsanaei/3x-ui/v3"><img src="https://goreportcard.com/badge/github.com/mhsanaei/3x-ui/v3" alt="Go Report Card"></a>
|
|
|
+</p>
|
|
|
|
|
|
-**3X-UI** — panel de control avanzado basado en web de código abierto diseñado para gestionar el servidor Xray-core. Ofrece una interfaz fácil de usar para configurar y monitorear varios protocolos VPN y proxy.
|
|
|
+**3X-UI** es un panel de control web avanzado y de código abierto para gestionar servidores [Xray-core](https://github.com/XTLS/Xray-core). Ofrece una interfaz limpia y multilingüe para desplegar, configurar y monitorear una amplia gama de protocolos de proxy y VPN — desde un único VPS hasta despliegues multinodo.
|
|
|
|
|
|
-> [!IMPORTANT]
|
|
|
-> Este proyecto es solo para uso personal y comunicación, por favor no lo use para fines ilegales, por favor no lo use en un entorno de producción.
|
|
|
+Construido como un fork mejorado del proyecto X-UI original, 3X-UI añade un soporte de protocolos más amplio, mayor estabilidad, contabilidad de tráfico por cliente y muchas funciones que mejoran la experiencia de uso.
|
|
|
|
|
|
-Como una versión mejorada del proyecto X-UI original, 3X-UI proporciona mayor estabilidad, soporte más amplio de protocolos y características adicionales.
|
|
|
+> [!IMPORTANT]
|
|
|
+> Este proyecto está destinado únicamente al uso personal. Por favor, no lo uses para fines ilegales ni en un entorno de producción.
|
|
|
+
|
|
|
+## Características
|
|
|
+
|
|
|
+- **Entradas multiprotocolo** — VLESS, VMess, Trojan, Shadowsocks, WireGuard, Hysteria2, HTTP, SOCKS (Mixed), Dokodemo-door / Tunnel y TUN.
|
|
|
+- **Transportes y seguridad modernos** — TCP (Raw), mKCP, WebSocket, gRPC, HTTPUpgrade y XHTTP, protegidos con TLS, XTLS y REALITY.
|
|
|
+- **Fallbacks** — sirve varios protocolos en un solo puerto (p. ej. VLESS y Trojan en el 443) usando la función de fallback de Xray.
|
|
|
+- **Gestión por cliente** — cuotas de tráfico, fechas de caducidad, límites de IP, estado en línea en tiempo real y enlaces de compartición, códigos QR y suscripciones con un solo clic.
|
|
|
+- **Estadísticas de tráfico** — por entrada, por cliente y por salida, con controles de reinicio.
|
|
|
+- **Soporte multinodo** — gestiona y escala a través de varios servidores desde un único panel.
|
|
|
+- **Salida y enrutamiento** — WARP, NordVPN, reglas de enrutamiento personalizadas, balanceadores de carga y encadenamiento de proxy de salida.
|
|
|
+- **Servidor de suscripción integrado** con múltiples formatos de salida.
|
|
|
+- **Bot de Telegram** para monitorización y gestión remotas.
|
|
|
+- **API RESTful** con documentación Swagger dentro del panel.
|
|
|
+- **Almacenamiento flexible** — SQLite (predeterminado) o PostgreSQL.
|
|
|
+- **13 idiomas de interfaz** con temas oscuro y claro.
|
|
|
+- **Integración con Fail2ban** para aplicar límites de IP por cliente.
|
|
|
+
|
|
|
+## Capturas de pantalla
|
|
|
+
|
|
|
+<details>
|
|
|
+<summary>Haz clic para expandir</summary>
|
|
|
+
|
|
|
+<picture>
|
|
|
+ <source media="(prefers-color-scheme: dark)" srcset="./media/01-overview-dark.png">
|
|
|
+ <img alt="Overview" src="./media/01-overview-light.png">
|
|
|
+</picture>
|
|
|
+
|
|
|
+<picture>
|
|
|
+ <source media="(prefers-color-scheme: dark)" srcset="./media/02-add-inbound-dark.png">
|
|
|
+ <img alt="Inbounds" src="./media/02-add-inbound-light.png">
|
|
|
+</picture>
|
|
|
+
|
|
|
+<picture>
|
|
|
+ <source media="(prefers-color-scheme: dark)" srcset="./media/03-add-client-dark.png">
|
|
|
+ <img alt="Add client" src="./media/03-add-client-light.png">
|
|
|
+</picture>
|
|
|
+
|
|
|
+<picture>
|
|
|
+ <source media="(prefers-color-scheme: dark)" srcset="./media/05-add-nodes-dark.png">
|
|
|
+ <img alt="Configs" src="./media/05-add-nodes-light.png">
|
|
|
+</picture>
|
|
|
+
|
|
|
+</details>
|
|
|
|
|
|
## Inicio Rápido
|
|
|
|
|
|
-```
|
|
|
+```bash
|
|
|
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
|
|
|
```
|
|
|
|
|
|
-Para documentación completa, visita la [Wiki del proyecto](https://github.com/MHSanaei/3x-ui/wiki).
|
|
|
+Durante la instalación se generan un nombre de usuario, una contraseña y una ruta de acceso aleatorios. Tras la instalación, ejecuta `x-ui` para abrir el menú de gestión, donde puedes iniciar/detener el servicio, ver o restablecer tus credenciales de acceso, gestionar certificados SSL y mucho más.
|
|
|
+
|
|
|
+Para la documentación completa, visita la [Wiki del proyecto](https://github.com/MHSanaei/3x-ui/wiki).
|
|
|
+
|
|
|
+## Plataformas Compatibles
|
|
|
+
|
|
|
+**Sistemas operativos:** Ubuntu, Debian, Armbian, Fedora, CentOS, RHEL, AlmaLinux, Rocky Linux, Oracle Linux, Amazon Linux, Virtuozzo, Arch, Manjaro, Parch, openSUSE (Tumbleweed / Leap), Alpine y Windows.
|
|
|
+
|
|
|
+**Arquitecturas:** `amd64` · `386` · `arm64` (aarch64) · `armv7` · `armv6` · `armv5` · `s390x`.
|
|
|
+
|
|
|
+## Opciones de Base de Datos
|
|
|
+
|
|
|
+3X-UI admite dos backends, que se eligen durante la instalación:
|
|
|
+
|
|
|
+- **SQLite** (predeterminado) — un único archivo en `/etc/x-ui/x-ui.db`. Sin configuración, ideal para despliegues pequeños y medianos.
|
|
|
+- **PostgreSQL** — recomendado para un gran número de clientes o configuraciones multinodo. El instalador puede instalar PostgreSQL localmente por ti, o aceptar un DSN a un servidor existente.
|
|
|
+
|
|
|
+En tiempo de ejecución, el backend se selecciona mediante variables de entorno (el instalador las escribe por ti en `/etc/default/x-ui`):
|
|
|
+
|
|
|
+```
|
|
|
+XUI_DB_TYPE=postgres
|
|
|
+XUI_DB_DSN=postgres://xui:[email protected]:5432/xui?sslmode=disable
|
|
|
+```
|
|
|
+
|
|
|
+### Migrar una instalación de SQLite existente a PostgreSQL
|
|
|
+
|
|
|
+```bash
|
|
|
+x-ui migrate-db --dsn "postgres://xui:[email protected]:5432/xui?sslmode=disable"
|
|
|
+# luego define XUI_DB_TYPE y XUI_DB_DSN en /etc/default/x-ui y reinicia:
|
|
|
+systemctl restart x-ui
|
|
|
+```
|
|
|
+
|
|
|
+El archivo SQLite de origen permanece intacto; elimínalo manualmente una vez que hayas verificado el nuevo backend.
|
|
|
+
|
|
|
+### Docker
|
|
|
+
|
|
|
+El comando predeterminado `docker compose up -d` sigue usando SQLite. Para ejecutarlo con el servicio PostgreSQL incluido, descomenta las dos líneas de variables de entorno `XUI_DB_*` en `docker-compose.yml` e inícialo con el perfil:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker compose --profile postgres up -d
|
|
|
+```
|
|
|
+
|
|
|
+La imagen incluye Fail2ban (habilitado de forma predeterminada) para aplicar **límites de IP** por cliente. Fail2ban banea a los infractores con `iptables`, lo que requiere la capacidad `NET_ADMIN`. `docker-compose.yml` ya la concede mediante `cap_add`; si en su lugar inicias el contenedor con `docker run`, añade tú mismo las capacidades, de lo contrario los baneos se registran pero nunca se aplican:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker run -d --cap-add=NET_ADMIN --cap-add=NET_RAW ... ghcr.io/mhsanaei/3x-ui
|
|
|
+```
|
|
|
+
|
|
|
+## Variables de Entorno
|
|
|
+
|
|
|
+| Variable | Descripción | Predeterminado |
|
|
|
+| --- | --- | --- |
|
|
|
+| `XUI_DB_TYPE` | Backend de base de datos: `sqlite` o `postgres` | `sqlite` |
|
|
|
+| `XUI_DB_DSN` | Cadena de conexión de PostgreSQL (cuando `XUI_DB_TYPE=postgres`) | — |
|
|
|
+| `XUI_DB_FOLDER` | Directorio del archivo de base de datos SQLite | `/etc/x-ui` |
|
|
|
+| `XUI_DB_MAX_OPEN_CONNS` | Máximo de conexiones abiertas (pool de PostgreSQL) | — |
|
|
|
+| `XUI_DB_MAX_IDLE_CONNS` | Máximo de conexiones inactivas (pool de PostgreSQL) | — |
|
|
|
+| `XUI_ENABLE_FAIL2BAN` | Habilitar la aplicación de límites de IP basada en Fail2ban | `true` |
|
|
|
+| `XUI_LOG_LEVEL` | Nivel de registro (`debug`, `info`, `warning`, `error`) | `info` |
|
|
|
+| `XUI_DEBUG` | Habilitar el modo de depuración | `false` |
|
|
|
+
|
|
|
+## Idiomas Compatibles
|
|
|
+
|
|
|
+La interfaz del panel está disponible en 13 idiomas:
|
|
|
+
|
|
|
+English · فارسی · العربية · 中文(简体) · 中文(繁體) · Español · Русский · Українська · Türkçe · Tiếng Việt · 日本語 · Bahasa Indonesia · Português (Brasil)
|
|
|
+
|
|
|
+## Contribuir
|
|
|
+
|
|
|
+Las contribuciones son bienvenidas. Por favor, lee la [Guía de contribución](/CONTRIBUTING.md) antes de abrir una incidencia (issue) o una solicitud de incorporación (pull request).
|
|
|
|
|
|
## Un Agradecimiento Especial a
|
|
|
|