Xray-core

module
v1.108.103 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2024 License: MPL-2.0

README

4nd3r5on/Xray-core

The fork is in early development stage so most likely currently working code won't work in next versions.

Original Xray-core

This fork is created to make Xray easier to use not just as a tool, but as a framework. The problem with the original Xray-core is that it's hard to extend and default functionality isn't always enough. Statistics for inbounds, for example, returns only Uplink/Downlink and there is no way to add functionality from outside, to collect statistics your way, there is no safe way to get list of users registered on inbound, no safe way to get list of connected users, it's hard to add your own API, no documentation for using Xray-core directly from your code. All those are the problems that I'll try to address in this fork.

My Telegram channel
To know a little bit more about which changes I gonna make read the PLAN.md

Directories

Path Synopsis
app
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.
log
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'.
log
mux
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.
dns
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.
dns
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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL