README ¶
Project X
Project X originates from XTLS protocol, providing a set of network tools such as Xray-core and REALITY.
README is open, so feel free to submit your project here.
License
Mozilla Public License Version 2.0
Documentation
Telegram
Installation
- Linux Script
- XTLS/Xray-install (Official)
- tempest (supports
systemd
and OpenRC; Linux-only)
- Docker
- ghcr.io/xtls/xray-core (Official)
- teddysun/xray
- Web Panel
- One Click
- Magisk
- Homebrew
brew install xray
Usage
- Example
- Xray-examples
- Tutorial
GUI Clients
- OpenWrt
- Windows
- Android
- iOS & macOS arm64
- macOS arm64 & x64
- Linux
Others that support VLESS, XTLS, REALITY, XUDP, PLUX...
- iOS & macOS arm64
- Xray Tools
- Xray Wrapper
- XrayR
- Clash.Meta
- sing-box
Contributing
Credits
- Xray-core v1.0.0 was forked from v2fly-core 9a03cc5, and we have made & accumulated a huge number of enhancements over time, check the release notes for each version.
- For third-party projects used in Xray-core, check your local or the latest go.mod.
Compilation
Windows (PowerShell)
$env:CGO_ENABLED=0
go build -o xray.exe -trimpath -ldflags "-s -w -buildid=" ./main
Linux / macOS
CGO_ENABLED=0 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main
Reproducible Releases
make
Stargazers over time
Directories ¶
Path | Synopsis |
---|---|
Package app contains feature implementations of Xray.
|
Package app contains feature implementations of Xray. |
dns
Package dns is an implementation of core.DNS feature.
|
Package dns is an implementation of core.DNS feature. |
policy
Package policy is an implementation of policy.Manager feature.
|
Package policy is an implementation of policy.Manager feature. |
Package common contains common utilities that are shared among other packages.
|
Package common contains common utilities that are shared among other packages. |
buf
Package buf provides a light-weight memory allocation mechanism.
|
Package buf provides a light-weight memory allocation mechanism. |
crypto
Package crypto provides common crypto libraries for Xray.
|
Package crypto provides common crypto libraries for Xray. |
dice
Package dice contains common functions to generate random number.
|
Package dice contains common functions to generate random number. |
errors
Package errors is a drop-in replacement for Golang lib 'errors'.
|
Package errors is a drop-in replacement for Golang lib 'errors'. |
net
Package net is a drop-in replacement to Golang's net package, with some more functionalities.
|
Package net is a drop-in replacement to Golang's net package, with some more functionalities. |
session
Package session provides functions for sessions of incoming requests.
|
Package session provides functions for sessions of incoming requests. |
Package core provides an entry point to use Xray core functionalities.
|
Package core provides an entry point to use Xray core functionalities. |
infra
|
|
commands/base
Package base defines shared basic pieces of the commands, in particular logging and the Command structure.
|
Package base defines shared basic pieces of the commands, in particular logging and the Command structure. |
Package proxy contains all proxies used by Xray.
|
Package proxy contains all proxies used by Xray. |
blackhole
Package blackhole is an outbound handler that blocks all connections.
|
Package blackhole is an outbound handler that blocks all connections. |
shadowsocks
Package shadowsocks provides compatible functionality to Shadowsocks.
|
Package shadowsocks provides compatible functionality to Shadowsocks. |
socks
Package socks provides implements of Socks protocol 4, 4a and 5.
|
Package socks provides implements of Socks protocol 4, 4a and 5. |
vless
Package vless contains the implementation of VLess protocol and transportation.
|
Package vless contains the implementation of VLess protocol and transportation. |
vmess
Package vmess contains the implementation of VMess protocol and transportation.
|
Package vmess contains the implementation of VMess protocol and transportation. |
testing
|
|
mocks
Package mocks is a generated GoMock package.
|
Package mocks is a generated GoMock package. |
internet/kcp
Package kcp - A Fast and Reliable ARQ Protocol
|
Package kcp - A Fast and Reliable ARQ Protocol |
internet/websocket
Package websocket implements WebSocket transport
|
Package websocket implements WebSocket transport |
Click to show internal directories.
Click to hide internal directories.