Tato příručka k nastavení serveru Xray VLESS Reality vás provede nasazením moderní proxy na vašem VPS. VLESS s vrstvou Reality Transport-Security je v současné době nejžádanějším nastavením proxy s vlastním hostingem. VLESS s vrstvou Reality Transport-Security je v současné době nejžádanějším nastavením proxy s vlastním hostingem: na rozdíl od klasické VPN nevytváří charakteristický handshake ani pevný podpis paketu. Reality klonuje handshake TLS 1.3 skutečného, populárního webu (cíle), takže pro systém DPI, který sleduje spojení, vypadá připojení k vašemu serveru identicky jako návštěva daného webu – neexistuje žádný falešný ani samopodepsaný certifikát pro otisk prstu, protože váš server během handshake krátce přepošle skutečný certifikát cílového webu.
Protokolový stack je: VLESS (lehký, bezstavový proxy protokol pro zpracování ověřování) běžící přes XTLS Vision (režim řízení toku, který zrychluje připojení kopírováním již zašifrovaných záznamů TLS na úrovni surového socketu) a zabezpečený Reality (výše popsaná kamuflážní vrstva). Všechny tři pocházejí ze stejného projektu, Xray-core, aktivně udržovaného nástupce původního projektu V2Ray/V2Fly.
Tato příručka nastaví server Xray ručně, kompletně z příkazového řádku, bez webového panelu a Dockeru – což představuje nejmenší možnou zátěž na VPS. Není vyžadován žádný název domény ani nákup certifikátu TLS: Reality si pro handshake vypůjčí certifikát cílového webu a nikdy nenabídne svůj vlastní. Dále, kde je uvedeno vaše_IP adresa, budete muset zadat přiřazenou IP adresu.
Co budete potřebovat: VPS s Ubuntu 22.04/24.04 nebo Debianem 11/12, root přístup, IP adresu vašeho VPS a volný TCP port 443 (žádný webový server, panel ani jiná proxy, která na něm již naslouchá).
Ještě nemáte server? Viz Jak si server objednat a zaplatit.
Porovnáte to nejprve s jinými možnostmi hostovanými na vlastní kůži? Alternativu založenou na WireGuardu naleznete v Průvodci nasazením serveru AmneziaWG nebo v nastavení Hysteria2 a TUIC pro dva další moderní protokoly odolné vůči cenzuře.
Připojení k serveru
Windows (PuTTY)
Otevřete PuTTY, zadejte IP adresu svého VPS do pole Název hostitele, nastavte port na 22 a přihlaste se jako root s heslem, které vám poskytovatel VPS zaslal e-mailem.
IP adresa serveru: vaše IP adresa
přihlásit se jako: root
Heslo: vaše heslo
- Otevřete PuTTY a do pole Název hostitele zadejte IP adresu svého VPS.
- Nastavte port na 22.
- Zadejte přihlášení jako root.
- Použijte heslo, které vám poskytovatel VPS zaslal e-mailem. Poté byste se měli dostat do shellu serveru.
Podrobný návod na připojení přes PuTTY/SSH naleznete v článku Jak se připojit k linuxovému serveru přes SSH.
Linux / macOS (terminál)
ssh root@your_IP
Všechny níže uvedené příkazy se spouštějí na serveru, v téže SSH relaci – to zahrnuje části 2 až 6 a kontroly na straně serveru v části 10. Části 7–9 (instalace a konfigurace VPN klienta) se spouštějí na vašem vlastním zařízení se systémem Windows/Android/iOS, protože to je zařízení, na kterém musí proxy běžet; každá z těchto částí explicitně uvádí, které řádky, pokud vůbec nějaké, se stále dotýkají serveru.
Příprava serveru
Aktualizujte systém
Před instalací čehokoli obnovte seznam balíčků a aktualizujte nainstalované balíčky:
apt update -y && apt upgrade -y
Pokud je relace po aktualizaci apt přerušena, je to očekávané (restart dbus/polkit) - stačí se znovu připojit přes SSH.
Pokud se tím aktualizuje jádro, je před pokračováním dobrý nápad restartovat počítač. (Pro opakování informací o apt a o tom, jak fungují správci balíčků v Linuxu, viz Správci balíčků v Linuxu .) Zkontrolujte s:
cat /var/run/reboot-required
Pokud soubor existuje, nejprve restartujte počítač příkazem 'reboot', počkejte přibližně 30 sekund a poté se znovu připojte.
Nainstalujte nástroje, které tato příručka používá
apt install -y curl wget unzip openssl ufw qrencode
Příkazy Curl a unzip jsou potřebné pro samotný instalační program Xray; openssl generuje krátké ID v části 4; ufw je firewall nakonfigurovaný níže; qrencode v části 7 převede hotový odkaz klienta na skenovatelný QR kód.
Zkontrolujte systémové hodiny
Handshake v Reality zahrnuje kontrolu časového razítka (pole maxTimeDiff, které je ve výchozím nastavení zakázáno, ale stojí za to o něm vědět) a znatelně se posunuté hodiny mohou také způsobit, že běžné ověřování certifikátu TLS bude fungovat nesprávně i jinde na serveru. Ověřte, zda jsou hodiny synchronizované:
timedatectl status
Pokud „Synchronizace systémových hodin“ ukazuje „ne“, povolte ji pomocí:
timedatectl set-ntp true
Konfigurace firewallu (UFW)
Více informací o pravidlech UFW naleznete v článku Konfigurace brány firewall v systému Linux.
Otevřete dva porty, které budete potřebovat: 22/tcp pro SSH (přeskočením tohoto pravidla riskujete ztrátu přístupu k serveru) a 443/tcp, port, na kterém bude Xray naslouchat, a stejný port, který používá běžný HTTPS provoz – a právě proto je to pro Reality ta správná volba.
ufw allow 22/tcp
ufw allow 443/tcp
ufw --force enable
ufw status
Obě pravidla by se měla ve výstupu stavu ufw zobrazovat jako POVOLENÁ.
Instalace Xray-core pro VLESS Reality Server
Projekt Xray-core (XTLS) publikuje oficiální instalační a aktualizační skript, který instaluje binární soubor jako službu systemd. Před nahráním do bash si zkontrolujte všechny skripty třetích stran – tento pochází přímo z vlastního repozitáře projektu.
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Ověřte, zda je binární soubor na svém místě, a zkontrolujte nainstalovanou verzi:
/usr/local/bin/xray version
Pokud je výstup příkazu stránkovaný a zdá se, že se zasekává, stiskněte Q pro ukončení. Binární soubor Xray je nainstalován do /usr/local/bin/xraya jeho konfigurační soubory jsou uloženy v /usr/local/etc/xray/.
Stejný instalační skript můžete také použít k upgradu stávající instalace. Úplný seznam možností (včetně odebrání, aktualizací pouze geodat a rotace protokolů) zobrazíte spuštěním:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" --help
Generování klíčů a přihlašovacích údajů
Ověřování reality spočívá na čtyřech datech. Nyní je všechny vygenerujte; vložíte je do konfigurace serveru v části 5.
Vygenerujte UUID pro klienta
/usr/local/bin/xray uuid
Toto je ID uživatele VLESS – považujte ho za přihlašovací údaje, protože ověřuje klienta na serveru. Spusťte příkaz znovu pro každé další zařízení nebo osobu, které chcete udělit přístup.
Generování páru klíčů Reality X25519
/usr/local/bin/xray x25519
Toto vypíše tři řádky: PrivateKey , Password a Hash32 . PrivateKey se používá pouze do konfigurace serveru a nikdy se nesmí sdílet. Password je odpovídající veřejný klíč – navzdory názvu je to hodnota, kterou zadává každý klient; Xray přejmenoval pole z PublicKey na Password konkrétně proto, aby odradil uživatele od jeho neopatrného publikování. Hash32 se používá pouze pro samostatnou funkci VLESS Encryption a není potřeba pro nastavení Reality.
Generovat krátké ID
openssl rand -hex 8
Tím se vytvoří 16místný hexadecimální řetězec, který se používá k rozlišení různých klientů nebo skupin klientů. Server i klient musí používat stejnou hodnotu.
Vyberte a otestujte cílovou skupinu Reality
Cílem je skutečný web, jehož TLS handshake váš server napodobuje. Měl by podporovat TLS 1.3 a HTTP/2, nesmí se nacházet za CDN, jako je Cloudflare (Xray přeposílá veškerý provoz, který neprojde ověřením Reality, přímo k cíli, takže cíl s CDN může váš server proměnit v otevřené relé pro danou CDN) a ideálně je hostován zhruba ve stejné síťové oblasti jako váš VPS, aby byl zajištěn věrohodný profil latence. Otestujte kandidáta přímo ze serveru:
/usr/local/bin/xray tls ping www.microsoft.com:443
Použijte holý název hostitele, nikoli URL. Několik domén, které se běžně používají jako cíle Reality, protože jsou stabilní, podporují TLS 1.3 a nejsou zaměřeny na CDN: www.microsoft.com, addons.mozilla.org, dl.google.com. Otestujte jich několik a vyberte tu, která spolehlivě reaguje z umístění vašeho VPS; stejný název hostitele použijete jak pro cíl, tak pro položku serverNames v části 5.
Zápis konfigurace serveru
Zálohujte konfiguraci, která byla součástí instalačního programu, a poté soubor otevřete pro úpravy:
cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.orig
nano /usr/local/etc/xray/config.json
Otevřete konfigurační soubor pro úpravy:
nano /usr/local/etc/xray/config.json
Nahraďte celý soubor níže uvedenou šablonou a doplňte ho vlastním UUID, PrivateKey, krátkým ID a názvem cílového hostitele ze Sekce 4 (a portem, který jste otevřeli v Sekci 2, pokud jste jej změnili z 443):
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"users": [
{
"id": "YOUR-UUID-HERE",
"flow": "xtls-rprx-vision",
"email": "client1"
}
],
"decryption": "none"
},
"streamSettings": {
"method": "raw",
"security": "reality",
"realitySettings": {
"show": false,
"target": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "YOUR-SERVER-PRIVATE-KEY",
"shortIds": ["YOUR-SHORT-ID"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" },
{ "protocol": "blackhole", "tag": "blocked" }
]
}
Stiskněte Ctrl+O (WriteOut) pro uložení souboru.
Stisknutím klávesy Enter potvrďte název souboru.
Stisknutím kláves Ctrl+X ukončíte nano.
Důležitá pole: users[].id je UUID ze Sekce 4; users[].flow zapíná XTLS Vision; metoda (dříve nazývaná network) vybírá transport RAW, což je prostá metoda založená na TCP, kterou Reality vyžaduje; target a serverNames jsou web, který jste testovali v Sekci 4; privateKey je klíč X25519 na straně serveru, nikdy hodnota Password; shortIds vypíše všechna krátká ID, která klienti mohou prezentovat. Chcete-li později přidat další uživatele, přidejte do pole users další objekty, každý s vlastním UUID a popiskem e-mailu, a poté restartujte službu.
Od verze Xray 26.3.27 vynucuje příchozí Reality bez explicitního pole minClientVer výchozí verzi jádra serveru – starší klientské aplikace (zastaralá verze v2rayN, v2rayNG nebo Streisand obsahující starší jádro Xray) jsou tiše přesměrovány na záložní stránku cíle namísto připojení, bez chyby v klientovi a bez zjevné chyby v protokolu serveru. Pokud klient, který dříve fungoval, po aktualizaci náhle vyprší, zkuste nejprve aktualizovat samotnou klientskou aplikaci; pokud to není možné, přidejte do realitySettings „minClientVer“: „25.9.11“ (nebo jinou starší základní hodnotu), ale za cenu, že otisk TLS tohoto staršího klienta bude o něco méně konzistentní s moderním prohlížečem.
Ověřit a restartovat
Před restartováním živé služby otestujte konfiguraci – tato funkce zachytí překlepy JSON a nepodporovaná pole dříve, než vypnou proxy:
/usr/local/bin/xray run -test -c /usr/local/etc/xray/config.json
Spuštění služby a povolení automatického spuštění
Restartujte Xray s novou konfigurací a povolte automatické spuštění po restartu:
systemctl enable --now xray
systemctl restart xray
systemctl status xray --no-pager
Stav by měl ukazovat aktivní (spuštěno). Potvrďte, že něco skutečně naslouchá na portu 443:
ss -lntp | grep ':443'
Pokud se Xray nespustí, nejrychlejším způsobem, jak zjistit proč, je žurnál systemd (informace o čtení logů Linuxu obecně naleznete v článku Jak číst logy Linuxu a kde je najít ):
journalctl -u xray -n 50 --no-pager
Vytvoření propojení klienta
Klienti Xray importují jeden odkaz pro sdílení vless:// namísto konfiguračního souboru. Vytvořte ho z hodnot vygenerovaných v části 4 (formát odkazu pro sdílení klientských aplikací stále používá pro transport starší název type=tcp, i když samotné pole JSON se nyní nazývá method):
VAŠE-UUID — z xray uuid (např. a1b2c3d4-e5f6-7890-abcd-ef1234567890)
VAŠE-HESLOVO-VEŘEJNÉ-KLÍČ — je heslo z xray x25519 (NE soukromý klíč!)
VAŠE-ZKRÁTKÉ-ID — z openssl rand -hex 8 (např. a1b2c3d4e5f67890)
vaše_IP — (IP adresa vašeho serveru)
SNI — www.microsoft.com (nebo váš cíl)
vless://YOUR-UUID-HERE@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server
Příklad odkazu:
vless://a1b2c3d4-e5f6-7890-abcd-ef1234567890@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=xyz_public_key_here&sid=a1b2c3d4e5f67890&type=tcp&flow=xtls-rprx-vision#My-Xray-Server
pbk je hodnota hesla z xray x25519 (veřejný klíč, nikdy soukromý klíč), sni odpovídá cílovému názvu hostitele a text za # je pouze popisek zobrazení, který můžete volně přejmenovat v libovolném klientovi.
Převeďte ho na QR kód, aby ho mobilní klienti mohli přímo naskenovat:
qrencode -o ~/vless-client.png "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"
Nebo jej vytiskněte přímo do terminálu bez uložení souboru:
qrencode -t ansiutf8 "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"
Zkopírujte PNG soubor do svého počítače pomocí scp, spusťte jej z terminálu počítače (nebo PowerShellu ve Windows), nikoli ze serveru:
scp root@your_IP:~/vless-client.png .
Připojení z Windows
Vše v této části se děje na vašem počítači s Windows, ne přes SSH – klient musí běžet na zařízení, které bude proxy server skutečně používat.
Nainstalujte v2rayN
Stáhněte si 64bitový ZIP soubor pro Windows (samostatná sestava nepotřebuje od posledních verzí v2rayN samostatné běhové prostředí .NET), rozbalte jej kamkoli a spusťte soubor v2rayN.exe.
Importovat server
Zkopírujte odkaz vless:// vytvořený v 7. části do schránky (nebo zkopírujte QR kód PNG pomocí scp a otevřete jej), poté ve v2rayN vyberte Servery a dále Importujte hromadně URL ze schránky (nebo naskenujte QR kód pomocí vestavěného skeneru). Nový profil serveru se zobrazí v seznamu s popiskem, který jste nastavili za znakem #.
Klikněte pravým tlačítkem myši na profil a vyberte jej jako aktivní. Poté v panelu nástrojů hlavního okna povolte systémový proxy server (nebo režim TUN pro směrování celého počítače).
Připojení z Androidu
Všechno se zde děje na vašem zařízení Android, ne přes SSH.
Nainstalujte v2rayNG
v2rayNG je protějšek v2rayN pro Android od stejného správce a je nejpoužívanějším klientem Xray pro Android. Nainstalujte si ho z Google Play nebo si stáhněte soubor APK přímo ze stránky vydání projektu , pokud Play není ve vaší oblasti k dispozici:
Importovat server
Otevřete v2rayNG, klepněte na tlačítko + v pravém horním rohu a po zkopírování odkazu vless:// vyberte možnost Importovat konfiguraci ze schránky, nebo naskenujte QR kód a namiřte fotoaparát na PNG vygenerovaný v části 7. Klepnutím vyberte importovaný profil a poté klepněte na kulaté tlačítko pro připojení dole. Android vás poprvé vyzve k povolení VPN – schvalte ho pro vytvoření tunelu.
Připojení z iOS
Vše se zde děje na vašem iPhonu nebo iPadu, ne přes SSH. Pokyny App Storu od Apple znamenají, že klienti Xray/VLESS na iOS jsou obvykle bezplatné, ale občas placené, samostatné aplikace, spíše než systémově integrovaná funkce.
Instalace klienta s podporou Reality
Streisand je bezplatný klient s otevřeným zdrojovým kódem, který podporuje VLESS s Reality a několik dalších protokolů. Vyhledejte ho v App Storu nebo otevřete tento odkaz.
Katalogy App Storu se liší podle obchodu/regionu a mohou se časem měnit. Pokud Streisand ve vašem katalogu není viditelná, mezi alternativy s podporou VLESS+Reality patří Happ, V2Box a V2rayTun – v App Storu vyhledejte tu, která je pro váš účet dostupná.
Importovat server
Zkopírujte odkaz vless:// do schránky, otevřete klienta a použijte jeho možnost Přidat ze schránky (nebo ekvivalentní možnost „importovat“), případně naskenujte QR kód z oddílu 7 pomocí vestavěného skeneru klienta. Zapněte nový profil; iOS vás poprvé vyzve k povolení konfigurace VPN, které budete muset schválit pomocí Face ID, Touch ID nebo hesla.
Ověření připojení
S aktivním tunelem z oddílu 8, 9 nebo 10 se vraťte na své zařízení (ne do SSH relace) a otevřete v prohlížeči libovolný nástroj pro kontrolu „jaká je moje IP adresa“ – zobrazená adresa by se měla shodovat s vaší IP adresou vašeho VPS.
Chcete-li místo toho ověřit ze strany serveru, zkontrolujte v žurnálu systemd aktivitu připojení a ověřte navázanou relaci TCP na portu 443:
journalctl -u xray -n 50 --no-pager
ss -tnp | grep ':443'
Na výchozí úrovni protokolování „warning“ Xray o jednotlivých připojeních moc informací nevypisuje. Pokud při řešení problémů potřebujete vidět více podrobností, dočasně nastavte v souboru config.json „loglevel“: „info“ a restartujte službu. Jakmile bude vše fungovat, přepněte ji zpět na varování.
Reference:
|
Pole |
Hodnota |
|
Adresa |
veřejná IP adresa vašeho VPS |
|
Přístav |
443 (stejný port otevřený v sekci 2) |
|
UUID / ID |
YOUR-UUID-HERE — vygenerováno v sekci 4 s xray uuid |
|
Flow |
xtls-rprx-vision — musí se shodovat na obou stranách |
|
Bezpečnost |
realita |
|
SNI / název_serveru |
Cílový název hostitele testovaný v části 4, např. www.microsoft.com |
|
Otisk prstu (fp) |
chrome — podporovaný otisk prstu uTLS; musí být nastaven na straně klienta |
|
Veřejný klíč / pbk |
Hodnota hesla z xray x25519 – nikdy ne PrivateKey |
|
Krátké ID / SID |
Generováno pomocí openssl rand -hex 8; musí odpovídat hodnotě v shortIds |
Závěr
Dodržování tohoto návodu ponechává váš VPS spuštěný vlastní server Xray VLESS+Reality, maskovaný jako běžný HTTPS provoz na skutečný web, bez domény a certifikátu, který by bylo třeba spravovat. Služba běží jako jednotka systemd xray a přežije restart bez jakékoli vaší akce.
Nové klienty můžete kdykoli přidat přidáním dalšího objektu do pole users v souboru config.json s novým UUID z xray uuid a odlišným štítkem e-mailu, následným restartováním služby (systemctl restart xray) a vytvořením vlastního odkazu pro sdílení pro daného uživatele z oddílu 7. Samostatné UUID pro každou osobu nebo zařízení umožňují zrušení jednoho, aniž by to rušilo kohokoli jiného.
Několik návyků, které stojí za to dodržovat i po spuštění serveru:
- Udržujte Xray aktualizovaný. Pravidelně znovu spusťte instalační skript z oddílu 3 – aktualizuje stávající instalaci – a udržujte také klientské aplikace aktualizované, s ohledem na chování minClientVer uvedené v oddílu 5.
- Zálohujte soubor config.json na soukromé místo mimo server. Obsahuje soukromý klíč Reality serveru a UUID každého klienta; jeho ztráta znamená regeneraci přihlašovacích údajů pro každé zařízení.
- Ztracená zařízení ihned zrušte. Odstraňte odpovídající položku z pole uživatelů v souboru config.json a restartujte službu.
Pokud se spojení nenaváže, zkontrolujte v tomto pořadí:
- stav služby (systemctl status xray --no-pager) a žurnál (journalctl -u xray -n 50 --no-pager)
- pravidla firewallu (stav ufw — port 443/tcp musí být otevřený)
- že port 443 není již vázán jinou službou (ss -lntp | grep ':443' by měl zobrazit pouze xray)
- že UUID, veřejný klíč, krátké ID, SNI a tok v klientovi přesně odpovídají souboru config.json – jediný neshodný znak tiše selže při navazování spojení.
- samotný cíl Reality s pingem pomocí xray tls :443, pro případ, že by web změnil konfiguraci TLS
Porovnáváte Xray s jinými možnostmi? Alternativy založené na WireGuardu naleznete v Průvodci nasazením serveru AmneziaWG a Jak nastavit VPN Wireguard na vašem serveru , případně v nastavení Hysteria2 a TUIC pro dva další protokoly odolné vůči cenzuře, které jsou navrženy pro ztrátové nebo silně filtrované sítě. Pokud potřebujete pouze jednoduchou proxy server namísto plného tunelování, je konfigurace 3proxy v CentOS/ArchLinux mnohem jednodušší alternativou a starší nastavení VPN serveru v Linuxu: PPTP nebo OpenVPN? zahrnuje protokoly, které se sice jednodušší na nastavení, ale DPI je mnohem snáze detekuje a blokuje. Obecné informace o posílení zabezpečení serveru po spuštění proxy serveru naleznete v článku Uživatelé Linuxu: Správa a oprávnění.