A DNS tunneling VPN that carries TCP traffic inside DNS queries and responses to get around censorship and unstable networks.
XTLS/Xray-core
A Go network platform and proxy core supporting protocols such as VLESS, VMess, Trojan, Shadowsocks, WireGuard, and REALITY.
- Stars
- 42,658
- Forks
- 6,118
- Open issues
- 71
- Last commit
- 18 hours ago
What is it?
Xray-core is the core network tool of Project X, written in Go. It works as a configurable proxy and tunnel platform that can handle inbound and outbound traffic across many protocols, including VLESS, VMess, Trojan, Shadowsocks, SOCKS5, and WireGuard, with the REALITY and XHTTP transports for TLS-based traffic.
The project is distributed as a single binary that can be built from source with a standard Go toolchain, and it also ships as an official Docker image and through a Homebrew formula. Linux install scripts, many web control panels, and a wide range of GUI clients for Windows, Android, iOS, macOS, Linux, and OpenWrt are built on top of it.
Users typically run Xray-core on a server or router and point clients at it, or embed it through wrapper libraries such as libXray. Example configurations and tutorials are maintained in separate example repositories.
Key features
- 01Supports multiple proxy protocols, including VLESS, VMess, Trojan, Shadowsocks, and SOCKS5.
- 02Provides REALITY and XHTTP transports for TLS-based traffic.
- 03Includes WireGuard support and TUN inbound on supported Windows platforms.
- 04Builds into a single binary, with an official Docker image and Homebrew formula available.
- 05Serves as a base for many web panels and GUI clients across major platforms.
Use cases
- Running a self-hosted proxy or tunnel endpoint on a VPS.
- Serving as the proxy core behind a router or OpenWrt setup.
- Providing the backend for a multi-user proxy panel.
- Embedding a proxy core in a mobile or desktop client via a wrapper library.
Quick start
- 1
Install via Homebrew
brew install xray - 2
Or build from source with Go (Linux/macOS)
CGO_ENABLED=0 go build -o xray -trimpath -buildvcs=false -ldflags="-s -w -buildid=" -v ./main - 3
Run the official Linux install script from the README (XTLS/Xray-install)
Things to know
- This is a core proxy engine with no built-in GUI, so most users rely on a separate panel or client.
- Distributed under MPL-2.0, which requires modified source files to remain under the same license.
Topics
FAQ
- What is Xray-core?
- A Go network platform and proxy core supporting protocols such as VLESS, VMess, Trojan, Shadowsocks, WireGuard, and REALITY. Xray-core is the core network tool of Project X, written in Go. It works as a configurable proxy and tunnel platform that can handle inbound and outbound traffic across many protocols, including VLESS, VMess, Trojan, Shadowsocks, SOCKS5, and WireGuard, with the REALITY and XHTTP transports for TLS-based traffic.
- Is Xray-core free to use? What license does it have?
- Xray-core is open source under the MPL-2.0 license. Check the license terms before using it in commercial products.
- Is Xray-core still maintained?
- Actively maintained. The last commit to Xray-core was on Nov 6, 2026.
- What can I use Xray-core for?
- Running a self-hosted proxy or tunnel endpoint on a VPS. Serving as the proxy core behind a router or OpenWrt setup. Providing the backend for a multi-user proxy panel. Embedding a proxy core in a mobile or desktop client via a wrapper library.
- How do I install Xray-core?
- Install via Homebrew: brew install xray Or build from source with Go (Linux/macOS): CGO_ENABLED=0 go build -o xray -trimpath -buildvcs=false -ldflags="-s -w -buildid=" -v ./main Run the official Linux install script from the README (XTLS/Xray-install)
- Where can I get Xray-core?
- The source code and installation instructions are on GitHub: https://github.com/XTLS/Xray-core
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted, open source implementation of the Tailscale control server for running your own WireGuard-based mesh network.
Open-source web control panel for deploying and managing Xray-core proxy and VPN servers with multi-protocol, multi-user support.
A Go-based proxy built on a customized QUIC protocol, designed to work over lossy networks and disguise traffic as HTTP/3.
Docker-based web admin UI for installing and managing a WireGuard VPN server and its client configurations.