Shunt 2.0.0
Renamed from xray-gateway to Shunt, and packaged for Debian and Ubuntu.
A shunt, in the electrical and railway senses, diverts part of a flow onto
another path. The old name promoted one replaceable component — xray-core sits
beside sing-box, dnsmasq and several egress providers — into the name of the
whole product.
Install
shasum -a 256 -c SHA256SUMS
sudo apt install ./shunt_2.0.0_all.deb ./shunt-xray_26.3.27_amd64.deb
The Python dependencies come from the distribution archive. sing-box is not
in it and is installed separately from upstream; the gateway runs without it,
but the SOCKS proxy features stay unavailable.
On a fresh machine the management interface starts on port 80 and the routing
services are enabled but deliberately not started — they rewrite firewall
and routing tables, which should not happen unattended during a package
install. Review the detected layout, then systemctl start shunt sing-box.
Upgrading from xray-gateway
The install path moves from /opt/xray-proxy to /opt/shunt and the units
from xray-* to shunt-*, so this is a breaking change. Installing over an
existing tree migrates the configuration, database and logs, retires the old
units and brings back up exactly the services that were running. The old code
is left in place for you to delete.
Check a machine before attempting it:
sudo bash tools/preflight.sh
It changes nothing, and it catches the failure that matters: if the interface
names in network.conf are wrong, the firewall script aborts and takes the
NAT with it, which leaves the whole network offline.
Also in this release
- The interface is available in Russian and English, switchable at runtime.
geoip.datandgeosite.datare no longer shipped in the package — they go
stale, so they are downloaded after installation and refreshed weekly by a
timer.shunt-xraycarries the xray-core binary separately, so the core can be
updated on its own.