Documentation
From your first connection to the protocol underneath. Everything you need to work with Umbra.
Why choose Umbra
Explore real-site cover, separate TCP and QUIC paths, integration with existing clients, and when Umbra is a suitable choice.
Installation
Choose a release for your platform or build the Rust binary.
Quick start
Generate an identity and connect your first client and server.
Set up a server
Configure a real destination and bring the server online.
Connect applications and Clash-style clients
Connect existing applications and rule-based clients through local SOCKS5, with separate transport choices for TCP and UDP.
Deploy and operate
Run the server as a service and manage its resources.
Upgrade Umbra
Plan compatible upgrades for the current alpha release.
Server configuration
Required fields, optional defaults and server validation rules.
Client configuration
Transport selection, identity and local proxy settings.
Configuration examples
Starting templates for TCP mux, Vision and QUIC UDP.
Architecture
How the Rust crates divide the connection lifecycle.
How to choose TCP, Vision or QUIC
Choose a mode for your network and application traffic, carrying TCP and UDP separately through one SOCKS5 endpoint.
Security model
Understand authentication, secret handling and protection limits.
CLI reference
The server, client and keygen commands and their flags.
Performance and policy reference
Memory ceilings, adaptive mux, padding and congestion settings.
Umbra compared with mainstream proxy options
Compare Xray, VMess, Trojan, Shadowsocks and Hysteria 2 by real-site cover, certificate maintenance, TCP/UDP paths and client integration.
Troubleshooting
Diagnose configuration, connectivity and transport problems.
Contributing
Contribute through specifications, review and meaningful tests.