mirror of
https://github.com/XTLS/Xray-core.git
synced 2026-05-14 18:09:05 +00:00
aca75d5b80da2f57f88742520681d3950fcd0ade
When testpre is enabled, connections are pre-established and may sit idle for up to 2 minutes. During this time, TLS 1.3 post-handshake messages (NewSessionTicket, etc.) can accumulate in the TLS connection's internal buffers (input and rawInput). These stale messages are not part of the proxied application data and should not be forwarded by Vision. The fix clears these buffers immediately after extracting them for Vision use, before any data transfer begins. This prevents the SSL protocol errors that occur when Vision later reads and forwards these stale TLS control messages as if they were application data. Fixes #4878 Co-authored-by: RPRX <63339210+RPRX@users.noreply.github.com>
TLS config: Add
pinnedPeerCertSha256; Remove pinnedPeerCertificateChainSha256 and pinnedPeerCertificatePublicKeySha256 (#5154)
TLS config: Add
pinnedPeerCertSha256; Remove pinnedPeerCertificateChainSha256 and pinnedPeerCertificatePublicKeySha256 (#5154)
TLS config: Add
pinnedPeerCertSha256; Remove pinnedPeerCertificateChainSha256 and pinnedPeerCertificatePublicKeySha256 (#5154)
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.
Sponsors
Donation & NFTs
Collect a Project X NFT to support the development of Project X!
- TRX(Tron)/USDT/USDC:
TNrDh5VSfwd4RPrwsohr6poyNTfFefNYan - TON:
UQApeV-u2gm43aC1uP76xAC1m6vCylstaN1gpfBmre_5IyTH - BTC:
1JpqcziZZuqv3QQJhZGNGBVdCBrGgkL6cT - XMR:
4ABHQZ3yJZkBnLoqiKvb3f8eqUnX4iMPb6wdant5ZLGQELctcerceSGEfJnoCk6nnyRZm73wrwSgvZ2WmjYLng6R7sR67nq - SOL/USDT/USDC:
3x5NuXHzB5APG6vRinPZcsUv5ukWUY1tBGRSJiEJWtZa - ETH/USDT/USDC:
0xDc3Fe44F0f25D13CACb1C4896CD0D321df3146Ee - Project X NFT: https://opensea.io/item/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/1
- VLESS NFT: https://opensea.io/collection/vless
- REALITY NFT: https://opensea.io/item/ethereum/0x5ee362866001613093361eb8569d59c4141b76d1/2
- Related links: VLESS Post-Quantum Encryption, XHTTP: Beyond REALITY, Announcement of NFTs by Project X
License
Mozilla Public License Version 2.0
Documentation
Telegram
Project VLESS (Русский)
Project XHTTP (Persian)
Installation
- Linux Script
- XTLS/Xray-install (Official)
- tempest (supports
systemdand OpenRC; Linux-only)
- Docker
- Web Panel
- One Click
- Magisk
- Homebrew
brew install xray
Usage
- Example
- Xray-examples
- Tutorial
GUI Clients
- OpenWrt
- Asuswrt-Merlin
- Windows
- Android
- iOS & macOS arm64 & tvOS
- macOS arm64 & x64
- Linux
Others that support VLESS, XTLS, REALITY, XUDP, PLUX...
- iOS & macOS arm64 & tvOS
- Xray Tools
- Xray Wrapper
- XrayR
- Cores
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.
One-line Compilation
Windows (PowerShell)
$env:CGO_ENABLED=0
go build -o xray.exe -trimpath -buildvcs=false -ldflags="-s -w -buildid=" -v ./main
Linux / macOS
CGO_ENABLED=0 go build -o xray -trimpath -buildvcs=false -ldflags="-s -w -buildid=" -v ./main
Reproducible Releases
Make sure that you are using the same Go version, and remember to set the git commit id (7 bytes):
CGO_ENABLED=0 go build -o xray -trimpath -buildvcs=false -gcflags="all=-l=4" -ldflags="-X github.com/xtls/xray-core/core.build=REPLACE -s -w -buildid=" -v ./main
If you are compiling a 32-bit MIPS/MIPSLE target, use this command instead:
CGO_ENABLED=0 go build -o xray -trimpath -buildvcs=false -gcflags="-l=4" -ldflags="-X github.com/xtls/xray-core/core.build=REPLACE -s -w -buildid=" -v ./main
Stargazers over time
Languages
Go
99.6%
HTML
0.2%