Acest ghid de configurare a serverului Xray VLESS Reality vă prezintă implementarea unui proxy modern pe VPS-ul dvs. VLESS cu stratul de transport-securitate Reality este în prezent cea mai solicitată configurație de proxy auto-găzduită : spre deosebire de un VPN clasic, nu produce o strângere de mână distinctă sau o semnătură fixă a pachetelor. Reality clonează strângerea de mână TLS 1.3 a unui site web real, popular (ținta), astfel încât pentru un sistem DPI care urmărește firul, o conexiune la serverul dvs. arată identic cu cineva care vizitează acel site web - nu există niciun certificat fals sau autosemnat de amprentat, deoarece serverul dvs. transmite pe scurt certificatul real al site-ului țintă în timpul strângerii de mână.
Stiva de protocoale este: VLESS (un protocol proxy ușor, fără stare, care gestionează autentificarea) care rulează peste XTLS Vision (un mod de control al fluxului care accelerează conexiunea prin copierea înregistrărilor TLS deja criptate la nivel de socket brut) securizat de Reality (stratul de camuflaj descris mai sus). Toate trei provin din același proiect, Xray-core, succesorul activ al proiectului original V2Ray/V2Fly.
Acest ghid configurează manual un server Xray, în întregime din linia de comandă, fără panou web și fără Docker — cea mai mică amprentă posibilă pe VPS. Nu este necesară achiziționarea unui nume de domeniu și a unui certificat TLS: Reality împrumută certificatul site-ului țintă pentru handshake și nu prezintă niciodată unul propriu. Apoi, acolo unde scrie your_IP, va trebui să introduceți adresa IP atribuită.
Ce ai nevoie: un VPS cu Ubuntu 22.04/24.04 sau Debian 11/12, acces root, adresa IP a VPS-ului tău și portul TCP 443 liber (fără server web, panou sau alt proxy care să asculte deja pe el).
Nu aveți încă un server? Consultați Cum să comandați un server și să îl plătiți.
Doriți să comparați mai întâi acest lucru cu alte opțiuni auto-găzduite? Consultați Ghidul de implementare a serverului AmneziaWG pentru o alternativă bazată pe WireGuard sau configurația Hysteria2 și TUIC pentru alte două protocoale moderne, rezistente la cenzură.
Conectarea la server
Windows (PuTTY)
Deschide PuTTY, introdu adresa IP a VPS-ului tău în câmpul Nume gazdă, setează portul la 22 și conectează-te ca root folosind parola pe care ți-a trimis-o furnizorul de VPS prin e-mail.
Adresa IP a serverului: adresa dvs. IP
autentificare ca: root
Parolă: parola dumneavoastră
- Deschide PuTTY, introdu adresa IP a VPS-ului tău în câmpul Nume gazdă.
- Setați portul la 22.
- Introduceți login-ul ca root.
- Folosește parola pe care ți-a trimis-o prin e-mail furnizorul tău de VPS. Ar trebui apoi să ajungi la promptul shell al serverului.
Pentru o descriere detaliată a conectării prin PuTTY/SSH, consultați Cum se conectează la un server Linux prin SSH.
Linux / macOS (terminal)
ssh root@your_IP
Toate comenzile de mai jos sunt executate pe server, în aceeași sesiune SSH — care acoperă secțiunile 2-6, plus verificările pe partea de server din secțiunea 10. Secțiunile 7-9 (instalarea și configurarea clientului VPN) au loc pe propriul dispozitiv Windows/Android/iOS, deoarece acesta este dispozitivul pe care proxy-ul trebuie să ruleze; fiecare dintre aceste secțiuni specifică explicit ce linii, dacă există, încă ating serverul.
Pregătirea serverului
Actualizați sistemul
Înainte de a instala orice, actualizați lista de pachete și actualizați pachetele instalate:
apt update -y && apt upgrade -y
Dacă sesiunea este întreruptă după actualizarea apt, acest lucru este de așteptat (dbus/polkit repornit) - trebuie doar să vă reconectați prin SSH.
Dacă aceasta actualizează kernelul, o repornire este o idee bună înainte de a continua. (Pentru o reîmprospătare a informațiilor despre apt și despre cum funcționează managerii de pachete Linux, consultați Managerii de pachete Linux .) Verificați cu:
cat /var/run/reboot-required
Dacă fișierul există, reporniți mai întâi cu „reboot”, așteptați ~30 de secunde, apoi reconectați-vă.
Instalați instrumentele utilizate în acest ghid
apt install -y curl wget unzip openssl ufw qrencode
Programul de instalare Xray necesită funcțiile „curl” și „unzip”; openssl generează ID-ul scurt în Secțiunea 4; ufw este firewall-ul configurat mai jos; qrencode transformă linkul client finalizat într-un cod QR scanabil în Secțiunea 7.
Verificați ceasul sistemului
Strângerea de mână a programului Reality include o verificare a marcajului temporal (câmpul maxTimeDiff, dezactivat în mod implicit, dar care merită știut), iar un ceas care a deviat considerabil poate face ca validarea obișnuită a certificatului TLS să se comporte greșit în alte părți ale serverului. Confirmați că ceasul este sincronizat:
timedatectl status
Dacă „Sincronizare ceas sistem” arată „nu”, activați-l cu:
timedatectl set-ntp true
Configurați firewall-ul (UFW)
Pentru mai multe informații despre regulile UFW, consultați Configurarea firewall-ului pe Linux.
Deschide cele două porturi de care vei avea nevoie: 22/tcp pentru SSH (săriți peste această regulă și riscați să pierdeți accesul la server) și 443/tcp, portul pe care Xray îl va asculta și același port pe care îl folosește traficul HTTPS obișnuit — exact de aceea este alegerea potrivită pentru Reality.
ufw allow 22/tcp
ufw allow 443/tcp
ufw --force enable
ufw status
Ambele reguli ar trebui să fie afișate ca ALLOW în ieșirea de stare ufw.
Instalarea Xray-core pentru serverul VLESS Reality
Proiectul Xray-core (XTLS) publică un script oficial de instalare și actualizare care instalează fișierul binar ca serviciu systemd. Verificați orice script terț înainte de a-l încărca în bash - acesta provine direct din propriul depozit al proiectului.
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Verificați dacă fișierul binar este instalat și versiunea instalată:
/usr/local/bin/xray version
Dacă ieșirea comenzii este paginată și pare să se blocheze, apăsați Q pentru a ieși. Binarul Xray este instalat pentru a /usr/local/bin/xray, iar fișierele sale de configurare sunt stocate în /usr/local/etc/xray/.
De asemenea, puteți utiliza același script de instalare pentru a actualiza o instalare existentă. Pentru o listă completă de opțiuni (inclusiv eliminare, actualizări exclusive pentru geodatele și rotația jurnalelor), executați:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" --help
Generarea cheilor și a acreditărilor
Autentificarea realității se bazează pe patru date. Generați-le pe toate acum; le veți lipi în configurația serverului din Secțiunea 5.
Generați un UUID pentru client
/usr/local/bin/xray uuid
Acesta este ID-ul utilizatorului VLESS — tratați-l ca pe o acreditare, deoarece este ceea ce autentifică un client la server. Rulați comanda din nou pentru fiecare dispozitiv sau persoană suplimentară căreia doriți să îi acordați acces.
Generați perechea de chei Reality X25519
/usr/local/bin/xray x25519
Aceasta afișează trei linii: PrivateKey , Password și Hash32 . PrivateKey intră doar în configurația serverului și nu trebuie partajată niciodată. Password este cheia publică corespunzătoare - în ciuda numelui, aceasta este valoarea introdusă de fiecare client; Xray a redenumit câmpul din PublicKey în Password special pentru a descuraja utilizatorii să îl publice în mod neglijent. Hash32 este utilizat doar pentru funcția separată de criptare VLESS și nu este necesar pentru o configurare Reality.
Generați un ID scurt
openssl rand -hex 8
Aceasta produce un șir hexazecimal de 16 caractere folosit pentru a distinge diferiți clienți sau grupuri de clienți. Atât serverul, cât și clientul trebuie să utilizeze aceeași valoare.
Alegeți și testați o țintă de realitate
Ținta este site-ul web real a cărui handshake TLS o imită serverul tău. Ar trebui să fie compatibilă cu TLS 1.3 și HTTP/2, nu trebuie să se afle în spatele unui CDN precum Cloudflare (Xray redirecționează orice trafic care nu trece de autentificarea Reality direct către țintă, astfel încât o țintă cu front-end CDN poate transforma serverul tău într-un open relee pentru acel CDN) și, în mod ideal, să fie găzduită în aproximativ aceeași regiune de rețea ca și VPS-ul tău pentru un profil de latență plauzibil. Testează un candidat direct de pe server:
/usr/local/bin/xray tls ping www.microsoft.com:443
Folosește numele de gazdă simplu, nu o adresă URL. Câteva domenii care sunt utilizate în mod obișnuit ca ținte Reality deoarece sunt stabile, compatibile cu TLS 1.3 și nu sunt CDN-fronted: www.microsoft.com, addons.mozilla.org, dl.google.com. Testează câteva și alege unul care răspunde în mod fiabil de la locația VPS-ului tău; vei folosi același nume de gazdă atât ca ținta, cât și ca intrarea serverNames din Secțiunea 5.
Scrierea configurației serverului
Faceți o copie de rezervă a configurației livrate cu programul de instalare, apoi deschideți fișierul pentru editare:
cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.orig
nano /usr/local/etc/xray/config.json
Deschideți fișierul de configurare pentru editare:
nano /usr/local/etc/xray/config.json
Înlocuiți întregul fișier cu șablonul de mai jos, înlocuind propriul UUID, PrivateKey, ID-ul scurt și numele de gazdă țintă din Secțiunea 4 (și portul pe care l-ați deschis în Secțiunea 2, dacă l-ați schimbat de la 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" }
]
}
Apăsați Ctrl+O (WriteOut) pentru a salva fișierul.
Apăsați Enter pentru a confirma numele fișierului.
Apăsați Ctrl+X pentru a ieși din nano.
Câmpurile importante: users[].id este UUID-ul din Secțiunea 4; users[].flow activează XTLS Vision; method (numită anterior network) selectează transportul RAW, metoda simplă bazată pe TCP pe care o necesită Reality; target și serverNames sunt site-ul testat în Secțiunea 4; privateKey este cheia X25519 pe server, niciodată valoarea Password; shortIds listează fiecare ID scurt pe care clienții au voie să îl prezinte. Pentru a adăuga mai mulți utilizatori ulterior, adăugați obiecte suplimentare la matricea users, fiecare cu propriul UUID și etichetă de e-mail, apoi reporniți serviciul.
Începând cu versiunea Xray 26.3.27, o intrare Reality fără un câmp minClientVer explicit impune implicit versiunea nucleului propriu al serverului — aplicațiile client mai vechi (o versiune v2rayN, v2rayNG sau Streisand învechită care include un nucleu Xray mai vechi) sunt redirecționate silențios către pagina de rezervă a țintei în loc să se conecteze, fără nicio eroare în client și fără nicio eroare evidentă în jurnalul serverului. Dacă un client care funcționa înainte expiră brusc după o actualizare, încercați mai întâi să actualizați aplicația client în sine; dacă acest lucru nu este posibil, adăugați „minClientVer”: „25.9.11” (sau o altă valoare de referință mai veche) în realitySettings, cu prețul de a face amprenta TLS a clientului mai vechi puțin mai puțin consistentă cu un browser modern.
Validați și reporniți
Testați configurația înainte de a reporni serviciul live — această metodă detectează greșelile de scriere JSON și câmpurile neacceptate înainte de a dezactiva proxy-ul:
/usr/local/bin/xray run -test -c /usr/local/etc/xray/config.json
Pornirea serviciului și activarea pornirii automate
Reporniți Xray cu noua configurație și activați-l să pornească automat la repornire:
systemctl enable --now xray
systemctl restart xray
systemctl status xray --no-pager
Starea ar trebui să fie activă (în funcțiune). Confirmați că ceva ascultă efectiv pe portul 443:
ss -lntp | grep ':443'
Dacă Xray nu pornește, cea mai rapidă modalitate de a vedea de ce este jurnalul systemd (pentru informații generale despre citirea jurnalelor Linux, consultați Cum se citesc jurnalele Linux și unde se găsesc ):
journalctl -u xray -n 50 --no-pager
Construirea legăturii de conexiune client
Clienții Xray importă un singur link de partajare vles:// în loc de un fișier de configurare. Construiți-l din valorile generate în Secțiunea 4 (formatul de link de partajare al aplicațiilor client folosește în continuare numele mai vechi type=tcp pentru transport, chiar dacă câmpul JSON în sine este acum numit method):
YOUR-UUID — din xray uuid (de exemplu, a1b2c3d4-e5f6-7890-abcd-ef1234567890)
PAROLA-YOUR-PUBLIC-KEY — este parola de la xray x25519 (NU cheia privată!)
ID-UL-TAU-PRESCURT — din openssl rand -hex 8 (de exemplu, a1b2c3d4e5f67890)
IP-ul_tau — (IP-ul serverului tău)
SNI — www.microsoft.com (sau ținta dvs.)
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
Exemplu de link:
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 este valoarea parolei din xray x25519 (cheia publică, niciodată cheia privată), sni se potrivește cu numele de gazdă țintă, iar textul de după # este doar o etichetă de afișare pe care o puteți redenumi liber în orice client.
Transformă-l într-un cod QR, astfel încât clienții mobili să îl poată scana direct:
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"
Sau imprimați-l direct în terminal fără a salva un fișier:
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"
Copiați fișierul PNG pe propriul computer cu scp, executați-l din terminalul computerului (sau PowerShell pe Windows), nu de pe server:
scp root@your_IP:~/vless-client.png .
Conectarea din Windows
Totul din această secțiune se întâmplă pe PC-ul tău cu Windows, nu prin SSH — clientul trebuie să ruleze pe dispozitivul care va utiliza efectiv proxy-ul.
Instalați v2rayN
Descărcați fișierul .zip de pe Windows pe 64 de biți (o versiune independentă nu necesită un runtime .NET separat, ca în versiunile recente de v2rayN), extrageți-l oriunde și rulați v2rayN.exe.
Importați serverul
Copiați linkul „vless://” construit în Secțiunea 7 în clipboard (sau copiați fișierul QR PNG cu scp și deschideți-l), apoi în v2rayN alegeți Servere, apoi Importați URL-ul în bloc din clipboard (sau scanați codul QR prin scanerul încorporat). Noul profil de server apare în listă cu eticheta setată după #.
Faceți clic dreapta pe profil și selectați-l ca activ, apoi activați proxy-ul de sistem (sau modul TUN, pentru rutarea întregii mașini) din bara de instrumente a ferestrei principale.
Conectare de pe Android
Totul se întâmplă aici pe dispozitivul tău Android, nu prin SSH.
Instalați v2rayNG
v2rayNG este omologul Android al v2rayN, de la același administrator, și este cel mai utilizat client Xray pe Android. Instalați-l din Google Play sau descărcați fișierul APK direct de pe pagina de versiuni a proiectului dacă Play nu este disponibil în regiunea dvs.:
Importați serverul
Deschideți v2rayNG, atingeți butonul + din dreapta sus și alegeți Import config from Clipboard după ce copiați linkul vless:// sau Scanați codul QR și îndreptați camera spre fișierul PNG generat în Secțiunea 7. Atingeți profilul importat pentru a-l selecta, apoi atingeți butonul rotund de conectare din partea de jos. Android va solicita permisiunea VPN prima dată - aprobați-l pentru a stabili tunelul.
Conectarea din iOS
Totul se întâmplă aici pe iPhone sau iPad, nu prin SSH. Conform regulilor App Store de la Apple, clienții Xray/VLESS de pe iOS sunt de obicei aplicații gratuite, dar ocazional plătite, independente, mai degrabă decât o funcție integrată în sistem.
Instalați un client compatibil cu Reality
Streisand este un client gratuit, open-source, care acceptă VLESS cu Reality, alături de alte câteva protocoale. Căutați-l în App Store sau deschideți acest link.
Cataloagele App Store variază în funcție de magazin/regiune și se pot schimba în timp; dacă Streisand nu este vizibil în al dvs., alternativele cu suport VLESS+Reality includ Happ, V2Box și V2rayTun — căutați în App Store oricare dintre acestea este disponibilă pentru contul dvs.
Importați serverul
Copiați linkul vles:// în clipboard, deschideți clientul și utilizați opțiunea Adăugare din clipboard (sau echivalentul „import”) sau scanați codul QR din Secțiunea 7 cu scanerul încorporat al clientului. Activați noul profil; iOS va solicita permisiunea de configurare VPN prima dată, pe care va trebui să o aprobați prin Face ID, Touch ID sau codul de acces.
Verificarea conexiunii
Cu tunelul activ din Secțiunea 8, 9 sau 10, reveniți la propriul dispozitiv (nu la sesiunea SSH) și deschideți un verificator „care este adresa mea IP” într-un browser — adresa afișată ar trebui să corespundă cu adresa IP a VPS-ului.
Pentru a verifica din partea serverului, verificați jurnalul systemd pentru activitate de conexiune și confirmați o sesiune TCP stabilită pe portul 443:
journalctl -u xray -n 50 --no-pager
ss -tnp | grep ':443'
La nivelul implicit de jurnal „warning”, Xray nu afișează prea multe despre conexiunile individuale; dacă aveți nevoie să vedeți mai multe detalii în timpul depanării, setați temporar „loglevel”: „info” în config.json și reporniți serviciul, apoi comutați înapoi la warning odată ce totul funcționează.
De referinţă:
|
Câmp |
Valoare |
|
Adresă |
adresa IP publică a VPS-ului dvs. |
|
Port |
443 (același port deschis în Secțiunea 2) |
|
UUID / id |
YOUR-UUID-HERE — generat în Secțiunea 4 cu xray uuid |
|
Debit |
xtls-rprx-vision — trebuie să se potrivească pe ambele părți |
|
Securitate |
realitate |
|
SNI / numeserver |
Numele de gazdă țintă testat în Secțiunea 4, de exemplu www.microsoft.com |
|
Amprentă digitală (fp) |
chrome — o amprentă uTLS acceptată; trebuie setată pe client |
|
Cheie publică / pbk |
Valoarea parolei din xray x25519 — niciodată cheia privată |
|
ID scurt / sid |
Generat cu openssl rand -hex 8; trebuie să corespundă unei valori din shortIds |
Concluzie
Urmând acest ghid, VPS-ul dvs. rulează propriul server Xray VLESS+Reality, deghizat în trafic HTTPS obișnuit către un site web real, fără domeniu și fără certificat de întreținut. Serviciul rulează ca unitatea systemd xray și supraviețuiește unei reporniri fără nicio acțiune din partea dvs.
Adăugați clienți noi în orice moment adăugând un alt obiect la matricea users din config.json cu un UUID nou din xray uuid și o etichetă de e-mail distinctă, apoi reporniți serviciul (systemctl restart xray) și construiți pentru utilizatorul respectiv propriul link de partajare din Secțiunea 7. UUID-urile separate per persoană sau dispozitiv fac posibilă revocarea unuia fără a deranja pe altcineva.
Câteva obiceiuri care merită păstrate odată ce serverul funcționează:
- Mențineți actualizarea Xray. Rulați periodic scriptul de instalare din Secțiunea 3 — acesta actualizează o instalare existentă — și mențineți actualizate și aplicațiile client, având în vedere comportamentul minClientVer menționat în Secțiunea 5.
- Faceți o copie de rezervă a fișierului config.json într-un loc privat, în afara serverului. Acesta conține cheia privată Reality a serverului și UUID-ul fiecărui client; pierderea acestuia înseamnă regenerarea acreditărilor pentru fiecare dispozitiv.
- Revocați prompt dispozitivele pierdute. Eliminați intrarea corespunzătoare din matricea users din config.json și reporniți serviciul.
Dacă conexiunea nu se stabilește, verificați în ordinea următoare:
- starea serviciului (systemctl status xray --no-pager) și jurnalul (journalctl -u xray -n 50 --no-pager)
- regulile firewall-ului (starea ufw — portul 443/tcp trebuie să fie deschis)
- că portul 443 nu este deja legat de un alt serviciu (ss -lntp | grep ':443' ar trebui să afișeze doar xray)
- că UUID-ul, cheia publică, ID-ul scurt, SNI-ul și fluxul din client se potrivesc exact cu config.json — un singur caracter nepotrivit eșuează în handshake-ul silențios
- ținta Realității în sine, cu ping TLS xray :443, în cazul în care site-ul și-a modificat configurația TLS
Comparați Xray cu alte opțiuni? Consultați Ghidul de implementare a serverului AmneziaWG și Cum se configurează Wireguard VPN pe server pentru alternative bazate pe WireGuard sau configurarea Hysteria2 și TUIC pentru alte două protocoale rezistente la cenzură, construite pentru rețele cu pierderi sau puternic filtrate. Dacă aveți nevoie doar de un proxy simplu, mai degrabă decât de o configurație completă de tunelare, configurarea 3proxy pe CentOS/ArchLinux este o alternativă mult mai ușoară, iar configurația mai veche a serverului VPN pe Linux: PPTP sau OpenVPN? acoperă protocoale care sunt mai simple de configurat, dar mult mai ușor de detectat și blocat de DPI. Pentru o consolidare generală a serverului odată ce proxy-ul este activ, consultați Utilizatori Linux: Management și permisiuni.