Repository navigation
Releases: EasyXrayTeam/EasyXray
Release list
EasyXray 1.0.3
Two things: the second upstream 3x-ui sync, and the rename of the IP-limit
Fail2ban names to this project's own.
The rename is the part that needed care. Upstream called the jail 3x-ipl and
the panel's ban log 3xipl.log; they are now easyxray-ipl and
easyxray-ipl.log, and the iptables chain follows the jail to
f2b-easyxray-ipl. The panel and the jail have to name the same file — the panel
appends a ban line, the jail tails it — so the renamed path is compiled into the
binary, and the renamed jail is installed by the same release that ships it.
A host that already carries the old jail is converted by the update: the old jail
is stopped first, which is what runs its actionstop and takes the old chain
down, and then its four config files are removed and each log file is moved to
its new name. Moving rather than recreating keeps the inode, so a panel that
already holds the log open keeps writing into the file Fail2ban now reads.
Running the update twice is a no-op. Containers make the same conversion at
start, and also drop a stale f2b-3x-ipl chain, which under --network=host
sits in the host netns and would otherwise outlive a daemon that died without
running its actionstop.
The rest of the diff is the upstream sync merged this cycle, through f8b72de9;
its behaviour change is that the node traffic merge now writes only the client
rows that changed.
Upgrading from 1.0.0 through 1.0.2 needs no manual step — the conversion runs
with the update.
Install (Linux):
bash <(curl -Ls https://raw.githubusercontent.com/EasyXrayTeam/EasyXray/main/install.sh)
Docker:
docker run -d --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW
-v $PWD/db/:/etc/easyxray/ -v $PWD/cert/:/root/cert/
ghcr.io/easyxrayteam/easyxray:latest
Per-architecture archives and their sha256 checksums are attached below.
EasyXray 1.0.2
A one-line release. When the sidebar sits in its 72px rail — the state it starts
in on a fresh install, before you hover or pin it — the wordmark does not fit, so
it falls back to two letters. Those two letters were still the upstream brand in
both binaries this project has shipped: the rail read 3X in 1.0.0 and in 1.0.1.
It now reads EX, the wordmark's own initials, and a test pins it — syncing from
upstream is exactly how an old-brand string could come back, so the guard earns
its place rather than being a one-off edit.
Nothing else changed. 1.0.1 is otherwise fine, but anyone on it should upgrade to
get the corrected mark. Hosts on 1.0.0 should go straight to 1.0.2.
Install (Linux):
bash <(curl -Ls https://raw.githubusercontent.com/EasyXrayTeam/EasyXray/main/install.sh)
Docker:
docker run -d --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW
-v $PWD/db/:/etc/easyxray/ -v $PWD/cert/:/root/cert/
ghcr.io/easyxrayteam/easyxray:latest
Per-architecture archives and their sha256 checksums are attached below.
Dev build 22625f58
Rolling development build — installs via the panel's Dev update channel.
commit=22625f58180ce02d19192e72903981b32cdcc89f
built=2026-10-14T17:58:39Z
Automated per-commit build from main. Not a stable release.
EasyXray 1.0.1
EasyXray 1.0.1.
A release-hygiene fix for the 1.0.0 line. Two version floors inherited from the
upstream 3.x numbering were compared against tags that only exist in that
numbering, so they refused this project's own releases:
install.sh v1.0.0was rejected outright. The floor lived ininstall.sh
itself, and the documented install command fetches that script frommain
rather than from the release — so it broke every release at once, and only a
fix onmaincould clear it.- MTProto, AmneziaWG, TUIC and MASQUE inbounds were gated on 3.x node releases,
which made all four unassignable to every node. Retargeted atv1.0.0, the
line they actually ship in. - Three user-facing statements in the docs corrected to match.
Anyone on 1.0.0 should upgrade: sub-node protocol assignment needs 1.0.1 or newer.
The full audit trail is in docs/branding-migration.md §3.10.
Install (Linux):
bash <(curl -Ls https://raw.githubusercontent.com/EasyXrayTeam/EasyXray/main/install.sh)
Docker:
docker run -d --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW
-v $PWD/db/:/etc/easyxray/ -v $PWD/cert/:/root/cert/
ghcr.io/easyxrayteam/easyxray:latest
Per-architecture archives and their sha256 checksums are attached below.
EasyXray 1.0.0
EasyXray 1.0.0 — first release.
Derived from the upstream 3x-ui 3.10.0 line (base commit 74c3cc3). See NOTICE
for attribution; the panel, CLI, install/service scripts and API namespace are
rebranded to EasyXray (/easyxray/api/v1/...).
Install (Linux):
bash <(curl -Ls https://raw.githubusercontent.com/EasyXrayTeam/EasyXray/main/install.sh)
Docker:
docker run -d --network=host --cap-add=NET_ADMIN --cap-add=NET_RAW
-v $PWD/db/:/etc/easyxray/ -v $PWD/cert/:/root/cert/
ghcr.io/easyxrayteam/easyxray:latest
Per-architecture archives and their sha256 checksums are attached below.