English | 中文 | Español | Русский | فارسی | العربية
Un Panel Web Avanzado • Construido sobre Xray Core
Este proyecto es una bifurcación del panel 3x-ui.
Descargo de responsabilidad: Este proyecto es solo para aprendizaje personal y comunicación, por favor no lo uses con fines ilegales, por favor no lo uses en un entorno de producción
Si este proyecto te es útil, podrías considerar darle una🌟
USDT(TON): UQDnwbvFLTm1cUWeUn3FFAKgC35wTno9-zOa_ib6STUVSgYf
bash <(curl -Ls https://raw.githubusercontent.com/Incognito-Coder/tx-ui/master/install.sh)
Haga clic para ver los detalles del certificado SSL
Para gestionar certificados SSL utilizando ACME:
-
Asegúrate de que tu dominio esté correctamente resuelto al servidor.
-
Ejecuta el comando
x-uien la terminal y eligeGestión de Certificados SSL. -
Se te presentarán las siguientes opciones:
- Get SSL: Obtener certificados SSL.
- Revoke: Revocar certificados SSL existentes.
- Force Renew: Forzar la renovación de certificados SSL.
- Show Existing Domains: Mostrar todos los certificados de dominio disponibles en el servidor.
- Set Certificate Paths for the Panel: Especificar el certificado para tu dominio que será utilizado por el panel.
Para instalar y usar Certbot:
apt-get install certbot -y
certbot certonly --standalone --agree-tos --register-unsafely-without-email -d yourdomain.com
certbot renew --dry-runEl script de gestión incluye una aplicación de certificado SSL integrada para Cloudflare. Para usar este script para solicitar un certificado, necesitas lo siguiente:
- Correo electrónico registrado en Cloudflare
- Clave API Global de Cloudflare
- El nombre de dominio debe estar resuelto al servidor actual a través de Cloudflare
Cómo obtener la Clave API Global de Cloudflare:
- Ejecuta el comando
x-uien la terminal y eligeCertificado SSL de Cloudflare. - Visita el enlace: Tokens de API de Cloudflare.
- Haz clic en "Ver Clave API Global" (consulta la captura de pantalla a continuación):
- Es que necesites volver a autenticar tu cuenta. Después de eso, se mostrará la Clave API (consulta la captura
de pantalla a continuación):

Al utilizarlo, simplemente ingresa tu nombre de dominio, correo electrónico y CLAVE API. El diagrama es el
siguiente:

Haz clic para más detalles de la instalación manual
- Para descargar la última versión del paquete comprimido directamente en tu servidor, ejecuta el siguiente comando:
ARCH=$(uname -m)
case "${ARCH}" in
x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
i*86 | x86) XUI_ARCH="386" ;;
armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
armv7* | armv7) XUI_ARCH="armv7" ;;
armv6* | armv6) XUI_ARCH="armv6" ;;
armv5* | armv5) XUI_ARCH="armv5" ;;
*) XUI_ARCH="amd64" ;;
esac
wget https://github.com/Incognito-Coder/tx-ui/releases/latest/download/x-ui-linux-${XUI_ARCH}.tar.gz- Una vez que se haya descargado el paquete comprimido, ejecuta los siguientes comandos para instalar o actualizar x-ui:
ARCH=$(uname -m)
case "${ARCH}" in
x86_64 | x64 | amd64) XUI_ARCH="amd64" ;;
i*86 | x86) XUI_ARCH="386" ;;
armv8* | armv8 | arm64 | aarch64) XUI_ARCH="arm64" ;;
armv7* | armv7) XUI_ARCH="armv7" ;;
armv6* | armv6) XUI_ARCH="armv6" ;;
armv5* | armv5) XUI_ARCH="armv5" ;;
*) XUI_ARCH="amd64" ;;
esac
cd /root/
rm -rf x-ui/ /usr/local/x-ui/ /usr/bin/x-ui
tar zxvf x-ui-linux-${XUI_ARCH}.tar.gz
chmod +x x-ui/x-ui x-ui/bin/xray-linux-* x-ui/x-ui.sh
cp x-ui/x-ui.sh /usr/bin/x-ui
cp -f x-ui/x-ui.service /etc/systemd/system/
mv x-ui/ /usr/local/
systemctl daemon-reload
systemctl enable x-ui
systemctl restart x-uiHaz clic para más detalles del Docker
-
Instala Docker:
bash <(curl -sSL https://get.docker.com) -
Clona el Repositorio del Proyecto:
git clone https://github.com/Incognito-Coder/tx-ui.git cd tx-ui -
Inicia el Servicio
docker compose up -d
O tambien
docker run -itd \ -e XRAY_VMESS_AEAD_FORCED=false \ -v $PWD/db/:/etc/x-ui/ \ -v $PWD/cert/:/root/cert/ \ --network=host \ --restart=unless-stopped \ --name tx-ui \ ghcr.io/incognitocoder/tx-ui:latest
actualizar a la última versión
cd tx-ui
docker compose down
docker compose pull tx-ui
docker compose up -deliminar tx-ui de docker
docker stop tx-ui
docker rm tx-ui
cd --
rm -r tx-uiHaga clic aquí para configurar el proxy inverso
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:2053;
}- EAsegúrese de que la "Ruta Raíz de la URL del Panel" en la configuración del panel
/subes la misma. - El
urlen la configuración del panel debe terminar con/.
location /sub {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
proxy_redirect off;
proxy_pass http://127.0.0.1:2053;
}- Ubuntu 22.04+
- Debian 12+
- CentOS 8+
- OpenEuler 22.03+
- Fedora 36+
- Arch Linux
- Parch Linux
- Manjaro
- Armbian
- AlmaLinux 9.5+
- Rocky Linux 9.5+
- Oracle Linux 8+
- OpenSUSE Tubleweed
- Amazon Linux 2023
- Windows x64 / x86 / ARM64
- macOS (Intel & Apple Silicon M1/M2/M3/M4)
- FreeBSD
- OpenBSD
Haz clic para detalles de arquitecturas y dispositivos compatibles
Nuestra plataforma ofrece compatibilidad con una amplia gama de arquitecturas y dispositivos, garantizando flexibilidad en diversos entornos informáticos. A continuación se presentan las principales arquitecturas que admitimos:
-
amd64: Esta arquitectura predominante es la estándar para computadoras personales y servidores, y admite la mayoría de los sistemas operativos modernos.
-
x86 / i386: Ampliamente adoptada en computadoras de escritorio y portátiles, incluidos sistemas Windows, macOS, Linux, FreeBSD y OpenBSD.
-
armv8 / arm64 / aarch64: Diseñada para dispositivos móviles, de escritorio y embebidos contemporáneos (Apple Silicon M1/M2/M3/M4, Raspberry Pi 4/5, Orange Pi 3/5, etc.).
-
armv7 / arm / arm32: Sirve como arquitectura para dispositivos móviles y embebidos como Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2/3, entre otros.
-
armv6 / arm / arm32: Orientada a dispositivos embebidos de bajo consumo (Raspberry Pi 1, Raspberry Pi Zero/Zero W).
-
armv5 / arm / arm32: Una arquitectura más antigua asociada con sistemas embebidos heredados.
-
mips64 / mips64le / mips32 / mips32le: Arquitecturas MIPS para enrutadores, hardware de red (plataformas OpenWrt/Linux embebido) y sistemas corporativos.
-
riscv64: Arquitectura de conjunto de instrucciones abiertas RISC-V de 64 bits para hardware embebido moderno y computadoras de placa única (SiFive, Milk-V, StarFive).
-
ppc64 / ppc64le: Arquitectura PowerPC de 64 bits para servidores empresariales (sistemas IBM Power).
-
s390x: Esta arquitectura se utiliza comúnmente en computadoras mainframe de IBM y ofrece alto rendimiento y confiabilidad.
-
loong64: Arquitectura LoongArch de 64 bits para plataformas Loongson.
- Arabic (Árabe)
- English (inglés)
- Persian (persa)
- Traditional Chinese (chino tradicional)
- Simplified Chinese (chino simplificado)
- Japanese (japonés)
- Russian (ruso)
- Vietnamese (vietnamita)
- Spanish (español)
- Indonesian (indonesio)
- Ukrainian (ucraniano)
- Turkish (turco)
- Português (Brazil) (portugués (Brasil))
- Forzar la instalación del panel mediante HTTPS
- Monitoreo del Estado del Sistema
- Búsqueda dentro de todas las reglas de entrada y clientes
- Tema Oscuro/Claro
- Soporta multiusuario y multiprotocolo
- Soporta protocolos, incluyendo VMess, VLESS, Trojan, Shadowsocks, Dokodemo-door, Socks, HTTP, wireguard
- Soporta Protocolos nativos XTLS, incluyendo RPRX-Direct, Visión, REALITY
- Estadísticas de tráfico, límite de tráfico, límite de tiempo de vencimiento
- Plantillas de configuración de Xray personalizables
- Soporta acceso HTTPS al panel (dominio proporcionado por uno mismo + certificado SSL)
- Soporta la solicitud y renovación automática de certificados SSL con un clic
- Para elementos de configuración más avanzados, consulta el panel
- Corrige rutas de API (la configuración del usuario se creará con la API)
- Soporta cambiar las configuraciones por diferentes elementos proporcionados en el panel.
- Soporta exportar/importar base de datos desde el panel
- Actualizador de aplicaciones integrado
Haz clic para ver los detalles de la configuración predeterminada
Si elige no modificar estas configuraciones, se generarán aleatoriamente (esto no se aplica a Docker).
Configuraciones predeterminadas para Docker:
- Nombre de usuario: admin
- Contraseña: admin
- Puerto: 2053
Puedes realizar copias de seguridad y restauraciones de la base de datos directamente desde el panel.
- Ruta de la Base de Datos:
/etc/x-ui/x-ui.db
-
Restablecer la Ruta Base Web:
- Abre tu terminal.
- Ejecuta el comando
x-ui. - Selecciona la opción
Restablecer la Ruta Base Web.
-
Generar o Personalizar la Ruta:
- La ruta se generará aleatoriamente, o puedes ingresar una ruta personalizada.
-
Ver Configuración Actual:
- Para ver tu configuración actual, utiliza el comando
x-ui settingsen el terminal o seleccionaVer Configuración Actualenx-ui.
- Para ver tu configuración actual, utiliza el comando
- Para mayor seguridad, utiliza una palabra larga y aleatoria en la estructura de tu URL.
Ejemplos:
http://ip:port/*webbasepath*/panelhttp://domain:port/*webbasepath*/panel
Haz clic para ver los detalles del límite de IP
Nota: El Límite de IP no funcionará correctamente cuando uses Túnel IP.
Para habilitar la funcionalidad de límite de IP, necesitas instalar fail2ban y los archivos requeridos siguiendo estos
pasos:
-
Ejecuta el comando
x-uien el terminal, luego eligeGestión de Límite de IP. -
Verás las siguientes opciones:
- Cambiar la Duración del Bloqueo: Ajustar la duración de los bloqueos.
- Desbloquear a Todos: Levantar todos los bloqueos actuales.
- Revisar los Registros: Revisar los registros.
- Estado de Fail2ban: Verificar el estado de
fail2ban. - Reiniciar Fail2ban: Reiniciar el servicio
fail2ban. - Desinstalar Fail2ban: Desinstalar Fail2ban con la configuración.
-
Agrega una ruta para el registro de acceso en el panel configurando
Xray Configs/log/Access loga./access.log, luego guarda y reinicia Xray.
Haz clic para más detalles del bot de Telegram
El panel web admite tráfico diario, inicio de sesión en el panel, copia de seguridad de la base de datos, estado del sistema, información del cliente y otras notificaciones y funciones a través del Bot de Telegram. Para usar el bot, debes establecer los parámetros relacionados con el bot en el panel, que incluyen:
- Token de Telegram
- ID de chat de administrador(es)
- Hora de Notificación (en sintaxis cron)
- Notificación de Fecha de Caducidad
- Notificación de Capacidad de Tráfico
- Copia de seguridad de la base de datos
- Notificación de Carga de CPU
Sintaxis de referencia:
30 * * * * *- Notifica a los 30s de cada punto0 */10 * * * *- Notifica en el primer segundo de cada 10 minutos@hourly- Notificación por hora@daily- Notificación diaria (00:00 de la mañana)@weekly- Notificación semanal@every 8h- Notifica cada 8 horas
- Reporte periódico
- Notificación de inicio de sesión
- Notificación de umbral de CPU
- Umbral de Notificación para Fecha de Caducidad y Tráfico para informar con anticipación
- Soporte para menú de reporte de cliente si el nombre de usuario de Telegram del cliente se agrega a las configuraciones de usuario
- Soporte para reporte de tráfico de Telegram buscado con UUID (VMESS/VLESS) o Contraseña (TROJAN) - anónimamente
- Bot basado en menú
- Buscar cliente por correo electrónico (solo administrador)
- Ver todas las Entradas
- Ver estado del servidor
- Ver clientes agotados
- Recibir copia de seguridad bajo demanda y en informes periódicos
- Bot multilingüe
-
Inicia Botfather en tu cuenta de Telegram:

-
Crea un nuevo bot usando el comando /newbot: Te hará 2 preguntas, Un nombre y un nombre de usuario para tu bot. Ten en cuenta que el nombre de usuario debe terminar con la palabra "bot".

-
Inicia el bot que acabas de crear. Puedes encontrar el enlace a tu bot aquí.

-
Ingresa a tu panel y configura los ajustes del bot de Telegram como se muestra a continuación:

Ingresa el token de tu bot en el campo de entrada número 3. Ingresa el ID de chat de usuario en el campo de entrada número 4. Las cuentas de Telegram con esta ID serán los administradores del bot. (Puedes ingresar más de uno, solo sepáralos con ,)
- ¿Cómo obtener el ID de chat de Telegram? Usa este bot, Inicia el bot y te dará el ID de
chat del usuario de Telegram.

Haz clic para más detalles de las rutas de API
- Documentación de API
/loginconPOSTdatos de usuario:{username: '', password: ''}para iniciar sesión/panel/api/inboundsbase para las siguientes acciones:
| Método | Ruta | Acción |
|---|---|---|
GET |
"/list" |
Obtener todas los Entradas |
GET |
"/get/:id" |
Obtener Entrada con inbound.id |
GET |
"/getClientTraffics/:email" |
Obtener Tráficos del Cliente con email |
GET |
"/createbackup" |
El bot de Telegram envía copia de seguridad a los admins |
POST |
"/add" |
Agregar Entrada |
POST |
"/del/:id" |
Eliminar Entrada |
POST |
"/update/:id" |
Actualizar Entrada |
POST |
"/clientIps/:email" |
Dirección IP del Cliente |
POST |
"/clearClientIps/:email" |
Borrar Dirección IP del Cliente |
POST |
"/addClient" |
Agregar Cliente a la Entrada |
POST |
"/:id/delClient/:clientId" |
Eliminar Cliente por clientId* |
POST |
"/updateClient/:clientId" |
Actualizar Cliente por clientId* |
POST |
"/updateClientTraffic/:email" |
Actualizar el tráfico del cliente por correo electrónico, los valores están en bytes |
POST |
"/:id/resetClientTraffic/:email" |
Restablecer Tráfico del Cliente |
POST |
"/resetAllTraffics" |
Restablecer tráfico de todos las Entradas |
POST |
"/resetAllClientTraffics/:id" |
Restablecer tráfico de todos los clientes en una Entrada |
POST |
"/delDepletedClients/:id" |
Eliminar clientes agotados de la entrada (-1: todos) |
POST |
"/onlines" |
Obtener usuarios en línea (lista de correos electrónicos) |
POST |
"/depleted" |
Obtener usuarios agotados (lista de correos electrónicos) |
POST |
"/disabled" |
Obtener usuarios desactivado (lista de correos electrónicos) |
*- El campo clientId debe llenarse por:
client.idpara VMESS y VLESSclient.passwordpara TROJANclient.emailpara Shadowsocks \ .
/panel/api/server base para las siguientes acciones:
| Método | Ruta | Acción |
|---|---|---|
GET |
"/status" |
Obtener el estado del servidor |
GET |
"/restartXrayService" |
Reanudar xray-core |
Haz clic para más detalles de las variables de entorno
| Variable | Tipo | Predeterminado |
|---|---|---|
| XUI_LOG_LEVEL | "debug" | "info" |
| XUI_DEBUG | boolean |
false |
| XUI_BIN_FOLDER | string |
"bin" |
| XUI_DB_FOLDER | string |
"/etc/x-ui" |
| XUI_LOG_FOLDER | string |
"/var/log" |
Ejemplo:
XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.goPuedes usar este repositorio para crear una interfaz de usuario de suscripción para tu panel TX-UI Theming Hub
- Iran v2ray rules (Licencia: GPL-3.0): Reglas de enrutamiento mejoradas de v2ray/xray y v2ray/xray-clients con dominios iraníes integrados y un enfoque en seguridad y bloqueo de anuncios.
- Russia v2ray rules (License: GPL-3.0): Este repositorio contiene reglas de enrutamiento de V2Ray actualizadas automáticamente basadas en datos de dominios y direcciones bloqueados en Rusia.