explaingit

xtls/xray-core

38,207GoAudience · ops devopsComplexity · 3/5LicenseSetup · hard

TLDR

A Go-based network proxy engine that tunnels internet traffic through encrypted connections to bypass censorship and internet restrictions, using protocols like VLESS, Shadowsocks, and Trojan.

Mindmap

mindmap
  root((Xray-core))
    What it does
      Bypass censorship
      Encrypt traffic
      Route connections
    Protocols
      VLESS
      VMESS
      Shadowsocks
      Trojan
    Features
      REALITY disguise
      Load balancing
      DNS handling
    Tech Stack
      Go
      Docker
      Linux
    Use Cases
      Access blocked sites
      Self-hosted proxy
      GUI app backends
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Access blocked websites and services in countries with heavy internet censorship.

USE CASE 2

Run a self-hosted proxy server that routes traffic through Xray-core, then connect from desktop or mobile apps.

USE CASE 3

Set up a REALITY-based proxy that disguises traffic as legitimate HTTPS to reduce detection risk.

USE CASE 4

Use Xray-core as the backend engine for a web management panel like 3X-UI to manage multiple proxy users.

Tech stack

GoDocker

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a VPS outside the restricted region plus a compatible client app, configuration is JSON-based and non-trivial.

Mozilla Public License 2.0, use freely including in commercial software, but any modified files must remain open-source under MPL-2.0.

In plain English

Xray-core is the engine behind Project X, an open-source network proxy toolkit primarily used for bypassing internet censorship and restrictions. It supports a range of proxy protocols, including VLESS (the project's own protocol), VMESS, Shadowsocks, Trojan, Socks5, and more, and is designed to route internet traffic through encrypted tunnels in ways that are difficult for deep packet inspection systems to detect and block. The core is written in Go and functions as a network proxy backend that client applications and web management panels connect to. It supports TLS for encryption, and includes a protocol called REALITY which provides what the project describes as a more convincing disguise for traffic, it makes proxied connections appear to be legitimate TLS connections to real websites, reducing the chance of being flagged by censorship systems. The README also describes XHTTP, an HTTP-based transport layer designed to work even in heavily restricted environments. Features include flexible routing rules, DNS handling, load balancing across multiple proxy servers, and multiple inbound and outbound protocol combinations. You would use Xray-core when you need to circumvent internet censorship or access blocked services, particularly in environments with sophisticated traffic inspection. It is not a standalone user-facing app but rather the engine that powers GUI applications like v2rayN on Windows, v2rayNG on Android, Happ on iOS and macOS, and Streisand, as well as web management panels like Marzban and 3X-UI. Installation is available via a Linux install script, Docker, or Homebrew on macOS. It is licensed under the Mozilla Public License 2.0.

Copy-paste prompts

Prompt 1
I want to set up a self-hosted Xray-core server on a Linux VPS to bypass internet censorship. Walk me through the VLESS plus REALITY configuration.
Prompt 2
What is the difference between VMESS, VLESS, and Trojan protocols in Xray-core, and which should I use for a high-censorship environment?
Prompt 3
How do I install Xray-core on a Linux server using the official install script and connect to it from v2rayN on Windows?
Prompt 4
Show me a sample Xray-core config.json that sets up inbound SOCKS5 on localhost and routes traffic out through a VLESS outbound with TLS.
Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub xtls on gitmyhub

Verify against the repo before relying on details.