Xray panel supporting multi-protocol multi-user expire day & traffic & ip limit (Vmess & Vless & Trojan & ShadowSocks & Wireguard)
Find a file
MHSanaei 8834e5fbbe
feat(xray/outbounds): TCP probe mode + Test All + timing breakdown
- service.TestOutbound now dispatches on `mode`:
  - "tcp": parallel net.DialTimeout to every server/peer endpoint
    (vmess/vless/trojan/ss/socks/http/wireguard). No xray spin-up,
    no semaphore — safe to run concurrently across outbounds.
  - "http" (default): existing temp-xray + SOCKS path, now with an
    httptrace.ClientTrace breakdown (DNS / Connect / TLS / TTFB)
    alongside the total delay and status code.
- testSemaphore renamed to httpTestSemaphore — only HTTP probes
  serialise, TCP runs free.
- TestOutboundResult carries the per-mode extras: timing fields for
  HTTP, per-endpoint dial list for TCP, plus a `mode` echo.
- Controller reads `mode` from the form and passes it through.
- useXraySetting: testOutbound accepts mode (default "tcp"); new
  testAllOutbounds(mode) runs a worker pool (concurrency 8 for TCP,
  1 for HTTP) and skips blackhole / loopback / blocked outbounds —
  also skips freedom / dns under TCP since they have no endpoint.
- OutboundsTab: TCP/HTTP radio toggle and a Test All button land in
  the toolbar; the per-row  now uses the selected mode. Results
  surface in a popover with the full timing breakdown plus the
  endpoint list for TCP probes. Latency header replaces the duplicate
  "check" column title.

Practical effect: testing ten outbounds in TCP mode drops from ~50–100s
(serial HTTP) to ~1–2s (parallel dial × 8). HTTP mode stays as the
authoritative probe and now shows where the latency actually lives.
2026-05-11 04:17:23 +02:00
.github fix(docker): pin frontend stage to BUILDPLATFORM and drop removed buildx input 2026-05-10 17:22:15 +02:00
.vscode DevTools 2025-10-02 01:47:12 +02:00
config v3.0.0 2026-05-10 17:15:48 +02:00
database feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
frontend feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00
logger v3 2026-05-10 02:13:42 +02:00
media donate: nowpayments 2025-09-18 20:14:10 +02:00
sub feat(frontend): swap QRious for ant-design-vue's a-qrcode 2026-05-11 02:07:47 +02:00
util v3 2026-05-10 02:13:42 +02:00
web feat(xray/outbounds): TCP probe mode + Test All + timing breakdown 2026-05-11 04:17:23 +02:00
windows_files Update OpenSSL installer to version 3.6.0 2026-01-05 18:49:30 +01:00
xray Fix overly permissive file permissions (os.ModePerm) (#4207) 2026-05-10 14:47:28 +02:00
.env.example fix: display of outbound traffic (#3604) 2025-12-23 15:43:25 +01:00
.gitignore feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
CONTRIBUTING.md fix: display of outbound traffic (#3604) 2025-12-23 15:43:25 +01:00
docker-compose.yml fix: enhance WebSocket stability, resolve XHTTP configurations and fix UI loading shifts (#3997) 2026-04-19 21:01:00 +02:00
DockerEntrypoint.sh fix(fail2ban): escape % in 3x-ipl action date format (#4218) 2026-05-10 19:26:21 +02:00
Dockerfile fix(docker): pin frontend stage to BUILDPLATFORM and drop removed buildx input 2026-05-10 17:22:15 +02:00
DockerInit.sh Revert "Xray Core v26.5.3" buggy version(vless reverse doesn't work) 2026-05-06 08:52:36 +02:00
go.mod v3 2026-05-10 02:13:42 +02:00
go.sum Bump Go to 1.26.3 2026-05-08 00:19:05 +02:00
install.sh feat(install): add skip-SSL option for reverse-proxy / SSH-tunnel setups 2026-05-11 02:46:47 +02:00
LICENSE 3x-ui 2023-02-09 22:48:06 +03:30
main.go v3 2026-05-10 02:13:42 +02:00
README.ar_EG.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.es_ES.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.fa_IR.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.ru_RU.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
README.zh_CN.md feat(nodes): traffic-writer queue, full-mirror sync, WS event fixes 2026-05-10 16:25:23 +02:00
update.sh fix(scripts): harden server-IP detection with multi-provider + manual fallback 2026-05-08 00:51:28 +02:00
x-ui.rc [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.service.arch fix(arch): correct x-ui service path (#4213) 2026-05-10 17:17:33 +02:00
x-ui.service.debian [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.service.rhel [feat] restart xray-core from cli #3825 2026-02-20 00:03:16 +01:00
x-ui.sh fix(fail2ban): escape % in 3x-ipl action date format (#4218) 2026-05-10 19:26:21 +02:00

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

3x-ui

Release Build GO Version Downloads License Go Reference Go Report Card

3X-UI — advanced, open-source web-based control panel designed for managing Xray-core server. It offers a user-friendly interface for configuring and monitoring various VPN and proxy protocols.

Important

This project is only for personal usage, please do not use it for illegal purposes, and please do not use it in a production environment.

As an enhanced fork of the original X-UI project, 3X-UI provides improved stability, broader protocol support, and additional features.

Quick Start

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

For full documentation, please visit the project Wiki.

A Special Thanks to

Acknowledgment

  • Iran v2ray rules (License: GPL-3.0): Enhanced v2ray/xray and v2ray/xray-clients routing rules with built-in Iranian domains and a focus on security and adblocking.
  • Russia v2ray rules (License: GPL-3.0): This repository contains automatically updated V2Ray routing rules based on data on blocked domains and addresses in Russia.

Support project

If this project is helpful to you, you may wish to give it a🌟

Buy Me A Coffee
Crypto donation button by NOWPayments

Stargazers over Time

Stargazers over time