MCPcopy Index your code
hub / github.com/Incognito-Coder/tx-ui

github.com/Incognito-Coder/tx-ui @v0.7.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.2 ↗ · + Follow
7,271 symbols 22,484 edges 114 files 566 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

English | 中文 | Español | Русский | فارسی | العربية

<img alt="tx-ui" src="https://github.com/Incognito-Coder/tx-ui/raw/v0.7.2/media/tx-ui-dark.png" style="width:512px;height:512px;">

Un Panel Web Avanzado • Construido sobre Xray Core \ Este proyecto es una bifurcación del panel 3x-ui.

GO Version Downloads License

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:star2:

USDT(TON): UQDnwbvFLTm1cUWeUn3FFAKgC35wTno9-zOa_ib6STUVSgYf

Instalar y Actualizar

bash <(curl -Ls https://raw.githubusercontent.com/Incognito-Coder/tx-ui/master/install.sh)

Certificado SSL

Haga clic para ver los detalles del certificado SSL

ACME

Para gestionar certificados SSL utilizando ACME:

  1. Asegúrate de que tu dominio esté correctamente resuelto al servidor.
  2. Ejecuta el comando x-ui en la terminal y elige Gestión de Certificados SSL.
  3. 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.

Certbot

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-run

Cloudflare

El 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:

  1. Ejecuta el comando x-ui en la terminal y elige Certificado SSL de Cloudflare.
  2. Visita el enlace: Tokens de API de Cloudflare.
  3. Haz clic en "Ver Clave API Global" (consulta la captura de pantalla a continuación):
  4. 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:

Instalación y Actualización Manual

Haz clic para más detalles de la instalación manual

Uso

  1. 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
  1. 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-ui

Instalar con Docker

Haz clic para más detalles del Docker

Uso

  1. Instala Docker:

sh bash <(curl -sSL https://get.docker.com)

  1. Clona el Repositorio del Proyecto:

sh git clone https://github.com/Incognito-Coder/tx-ui.git cd tx-ui

  1. Inicia el Servicio

sh docker compose up -d

O tambien

sh 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/incognito-coder/tx-ui:latest

actualizar a la última versión

sh cd tx-ui docker compose down docker compose pull tx-ui docker compose up -d

eliminar tx-ui de docker

sh docker stop tx-ui docker rm tx-ui cd -- rm -r tx-ui

Configuración de Nginx

Haga clic aquí para configurar el proxy inverso

Proxy inverso Nginx

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;
}

Nginx sub-path

  • EAsegúrese de que la "Ruta Raíz de la URL del Panel" en la configuración del panel /sub es la misma.
  • El url en 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;
}

SO Recomendados

  • 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

Arquitecturas y Dispositivos Compatibles

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 sin problemas.

  • x86 / i386: Ampliamente adoptada en computadoras de escritorio y portátiles, esta arquitectura cuenta con un amplio soporte de numerosos sistemas operativos y aplicaciones, incluidos, entre otros, Windows, macOS y sistemas Linux.

  • armv8 / arm64 / aarch64: Diseñada para dispositivos móviles y embebidos contemporáneos, como teléfonos inteligentes y tabletas, esta arquitectura está ejemplificada por dispositivos como Raspberry Pi 4, Raspberry Pi 3, Raspberry Pi Zero 2/Zero 2 W, Orange Pi 3 LTS, entre otros.

  • armv7 / arm / arm32: Sirve como arquitectura para dispositivos móviles y embebidos más antiguos, y sigue siendo ampliamente utilizada en dispositivos como Orange Pi Zero LTS, Orange Pi PC Plus, Raspberry Pi 2, entre otros.

  • armv6 / arm / arm32: Orientada a dispositivos embebidos muy antiguos, esta arquitectura, aunque menos común, todavía se utiliza. Dispositivos como Raspberry Pi 1, Raspberry Pi Zero/Zero W, dependen de esta arquitectura.

  • armv5 / arm / arm32: Una arquitectura más antigua asociada principalmente con sistemas embebidos tempranos, es menos común hoy en día pero aún puede encontrarse en dispositivos heredados como versiones antiguas de Raspberry Pi y algunos teléfonos inteligentes más antiguos.

Idiomas

  • 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))

Características

  • 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

Configuración Predeterminada del Panel

Haz clic para ver los detalles de la configuración predeterminada

Nombre de usuario, Contraseña, Puerto y Ruta Base Web

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

Gestión de la Base de Datos:

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

Ruta Base Web

  1. Restablecer la Ruta Base Web:

    • Abre tu terminal.
    • Ejecuta el comando x-ui.
    • Selecciona la opción Restablecer la Ruta Base Web.
  2. Generar o Personalizar la Ruta:

    • La ruta se generará aleatoriamente, o puedes ingresar una ruta personalizada.
  3. Ver Configuración Actual:

    • Para ver tu configuración actual, utiliza el comando x-ui settings en el terminal o selecciona Ver Configuración Actual en x-ui.

Recomendación de Seguridad:

  • Para mayor seguridad, utiliza una palabra larga y aleatoria en la estructura de tu URL.

Ejemplos:

  • http://ip:port/*webbasepath*/panel
  • http://domain:port/*webbasepath*/panel

Límite de IP

Haz clic para ver los detalles del límite de IP

Uso

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:

  1. Ejecuta el comando x-ui en el terminal, luego elige Gestión de Límite de IP.
  2. 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.
  3. Agrega una ruta para el registro de acceso en el panel configurando Xray Configs/log/Access log a ./access.log, luego guarda y reinicia Xray.

Bot de Telegram

Haz clic para más detalles del bot de Telegram

Uso

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 punto
  • 0 */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

Funcionalidades del Bot de Telegram

  • 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

Extension points exported contracts — how you extend this code

SubServer (Interface)
(no doc) [2 implementers]
internal/web/global/global.go
SettingService (Interface)
(no doc) [1 implementers]
internal/web/locale/locale.go
WebServer (Interface)
(no doc) [1 implementers]
internal/web/global/global.go

Core symbols most depended-on inside this repo

warn
called by 347
internal/web/assets/vue/vue.js
I18nBot
called by 276
internal/web/service/tgbot.go
cont
called by 170
internal/web/assets/codemirror/javascript.js
isDef
called by 147
internal/web/assets/vue/vue.runtime.esm.js
isDef
called by 147
internal/web/assets/vue/vue.js
isDef
called by 147
internal/web/assets/vue/vue.esm.js
isDef
called by 147
internal/web/assets/vue/vue.common.dev.js
isDef
called by 147
internal/web/assets/vue/vue.runtime.common.dev.js

Shape

Function 6,151
Method 864
Class 172
Struct 72
TypeAlias 8
Interface 3
FuncType 1

Languages

TypeScript91%
Go9%

Modules by API surface

internal/web/assets/vue/vue.common.dev.js585 symbols
internal/web/assets/vue/vue.esm.browser.js584 symbols
internal/web/assets/vue/vue.js529 symbols
internal/web/assets/vue/vue.esm.js528 symbols
internal/web/assets/vue/vue.runtime.common.dev.js447 symbols
internal/web/assets/vue/vue.runtime.js395 symbols
internal/web/assets/vue/vue.runtime.esm.js395 symbols
internal/web/assets/ant-design-vue/antd.min.js393 symbols
internal/web/assets/vue/vue.esm.browser.min.js384 symbols
internal/web/assets/codemirror/codemirror.min.js359 symbols
internal/web/assets/vue/vue.common.prod.js353 symbols
internal/web/assets/vue/vue.min.js288 symbols

For agents

$ claude mcp add tx-ui \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page