2023-05-14 23:35:07 +00:00
# Development Guide
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
## Compile Documentation
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Xray supports multiple platforms, and you can perform cross-compilation on various platforms by yourself.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Please click [Compile Documentation ](./intro/compile.md ) to view specific compile-related content.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
## Design Concept
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Xray kernel provides a platform for secondary development.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
This section explains the design goals and architecture of Xray.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Please click [Design Principles ](./intro/design.md ) to learn about the design goals and architecture of Xray.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
## Development Standards
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
This section outlines the guidelines to follow when obtaining code, developing, submitting PRs, as well as the relevant coding standards.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Please click [Development Specification ](./intro/guide.md ) to view the guidelines that should be followed during Xray development.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
## Protocol Details
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Xray uses many protocols, and you can obtain a detailed description of each protocol through various means.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
### [VLESS Protocol](./protocols/vless.md)
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
VLESS is a stateless lightweight transport protocol that can serve as a bridge between Xray clients and servers.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
### [VMess Protocol](./protocols/vmess.md)
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
VMess is an encrypted transport protocol that can act as a bridge between Xray clients and servers.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
### [Mux.Cool Protocol](./protocols/muxcool.md)
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
Mux.Cool protocol is a multiplexing transport protocol used to transmit multiple independent data streams within an established data stream.
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
### [mKCP Protocol](./protocols/mkcp.md)
2021-05-26 11:05:53 +00:00
2023-05-14 23:35:07 +00:00
mKCP is a stream transmission protocol modified from the [KCP protocol ](https://github.com/skywind3000/kcp ) that can transmit arbitrary data streams in order.