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.