Denne oppsettsveiledningen for Xray VLESS Reality-serveren veileder deg gjennom implementeringen av en moderne proxy på VPS-en din. VLESS med Reality-transportsikkerhetslaget er for øyeblikket det mest etterspurte selvhostede proxy-oppsettet. VLESS med Reality-transportsikkerhetslaget er for øyeblikket det mest etterspurte selvhostede proxy-oppsettet: i motsetning til et klassisk VPN produserer det ikke et særegent håndtrykk eller en fast pakkesignatur. Reality kloner TLS 1.3-håndtrykket til et ekte, populært nettsted (målet), så for et DPI-system som ser på ledningen, ser en tilkobling til serveren din identisk ut som om noen besøker det nettstedet – det finnes ikke noe falskt eller selvsignert sertifikat til fingeravtrykk, fordi serveren din kort videresender det faktiske sertifikatet til målnettstedet under håndtrykket.
Protokollstakken er: VLESS (en lett, statsløs proxy-protokoll som håndterer autentisering) som kjører over XTLS Vision (en flytkontrollmodus som øker hastigheten på forbindelsen ved å kopiere allerede krypterte TLS-poster på rå sokkelnivå) sikret av Reality (kamuflasjelaget beskrevet ovenfor). Alle tre kommer fra samme prosjekt, Xray-core, den aktivt vedlikeholdte etterfølgeren til det opprinnelige V2Ray/V2Fly-prosjektet.
Denne veiledningen setter opp en Xray-server manuelt, helt fra kommandolinjen, uten webpanel og uten Docker – det minste mulige fotavtrykket på VPS-en. Ingen domenenavn og ingen kjøp av TLS-sertifikat er nødvendig: Reality låner målnettstedets sertifikat for håndtrykket og presenterer aldri et eget. Deretter, der det står your_IP, må du oppgi din tildelte IP-adresse.
Det du trenger: en VPS som kjører Ubuntu 22.04/24.04 eller Debian 11/12, root-tilgang, IP-adressen til VPS-en din og ledig TCP-port 443 (ingen webserver, panel eller annen proxy som allerede lytter på den).
Har du ikke en server ennå? Se Hvordan bestille en server og betale for den.
Skal du sammenligne dette med andre selvhostede alternativer først? Se AmneziaWG Server Deployment Guide for et WireGuard-basert alternativ, eller Hysteria2 og TUIC-oppsett for to andre moderne, sensurbestandige protokoller.
Kobler til serveren
Windows (PuTTY)
Åpne PuTTY, skriv inn VPS-IP-adressen din i feltet Vertsnavn, sett porten til 22, og logg inn som root med passordet VPS-leverandøren din sendte deg på e-post.
Serverens IP-adresse: din IP-adresse
logg inn som: root
Passord: passordet ditt
- Åpne PuTTY, skriv inn VPS-IP-adressen din i feltet Vertsnavn.
- Sett porten til 22.
- Skriv inn logg inn som root.
- Bruk passordet VPS-leverandøren din sendte deg på e-post. Du skal da havne på serverens shell-ledetekst.
For en detaljert gjennomgang av tilkobling via PuTTY/SSH, se Slik kobler du til en Linux-server via SSH.
Linux / macOS (terminal)
ssh root@your_IP
Alle kommandoene nedenfor kjøres på serveren, i den samme SSH-økten – som dekker del 2 til 6, pluss serversidekontrollene i del 10. Del 7–9 (installering og konfigurasjon av VPN-klienten) skjer i stedet på din egen Windows/Android/iOS-enhet, siden det er enheten proxyen må kjøre på. Hver av disse delene sier eksplisitt hvilke linjer, om noen, som fortsatt berører serveren.
Klargjøring av serveren
Oppdater systemet
Før du installerer noe, oppdater pakkelisten og oppgrader installerte pakker:
apt update -y && apt upgrade -y
Hvis økten avbrytes etter apt-oppgradering, er dette forventet (dbus/polkit startet på nytt) – bare koble til på nytt via SSH.
Hvis dette oppgraderer kjernen, er det lurt å starte datamaskinen på nytt før du fortsetter. (For en oppfriskning av apt og hvordan Linux-pakkebehandlere fungerer, se Linux-pakkebehandlere .) Sjekk med:
cat /var/run/reboot-required
Hvis filen finnes, start den på nytt med «reboot», vent i omtrent 30 sekunder, og koble deretter til igjen.
Installer verktøyene som brukes i denne veiledningen
apt install -y curl wget unzip openssl ufw qrencode
Krøll og utpakning er nødvendig for selve Xray-installasjonsprogrammet; openssl genererer den korte ID-en i seksjon 4; ufw er brannmuren som er konfigurert nedenfor; qrencode gjør den ferdige klientlenken om til en skannbar QR-kode i seksjon 7.
Sjekk systemklokken
Realitys håndtrykk inkluderer en tidsstempelsjekk (maxTimeDiff-feltet, deaktivert som standard, men verdt å vite om), og en klokke som har avviket merkbart kan også føre til at vanlig TLS-sertifikatvalidering ikke fungerer som den skal andre steder på serveren. Bekreft at klokken er synkronisert:
timedatectl status
Hvis «Systemklokke synkronisert» viser «nei», aktiver den med:
timedatectl set-ntp true
Konfigurer brannmuren (UFW)
Hvis du vil ha mer informasjon om UFW-regler, kan du se Konfigurere brannmur på Linux.
Åpne de to portene du trenger: 22/tcp for SSH (hopp over denne regelen, og du risikerer å miste tilgang til serveren) og 443/tcp. Porten Xray vil lytte på, og den samme porten som vanlig HTTPS-trafikk bruker – og det er nettopp derfor det er det riktige valget for Reality.
ufw allow 22/tcp
ufw allow 443/tcp
ufw --force enable
ufw status
Begge reglene skal vises som ALLOW i ufw-statusutdataene.
Installere Xray-core for VLESS Reality Server
Xray-core-prosjektet (XTLS) publiserer et offisielt installasjons- og oppgraderingsskript som installerer binærfilen som en systemd-tjeneste. Se gjennom eventuelle tredjepartsskript før du legger dem inn i bash – dette kommer rett fra prosjektets eget repository.
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Bekreft at binærfilen er på plass, og sjekk den installerte versjonen:
/usr/local/bin/xray version
Hvis kommandoutdataene er paginert og ser ut til å henge seg, trykker du på Q for å avslutte. Xray-binærfilen er installert for å /usr/local/bin/xray, og konfigurasjonsfilene er lagret i /usr/local/etc/xray/.
Du kan også bruke det samme installasjonsskriptet til å oppgradere en eksisterende installasjon. For en fullstendig liste over alternativer (inkludert fjerning, oppdateringer kun for geodata og loggrotasjon), kjør:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" --help
Generering av nøkler og legitimasjon
Realitetsautentisering hviler på fire dataelementer. Generer alle nå; du limer dem inn i serverkonfigurasjonen i del 5.
Generer en UUID for klienten
/usr/local/bin/xray uuid
Dette er VLESS-bruker-ID-en – bruk den som en legitimasjonsinformasjon, siden det er den som autentiserer en klient mot serveren. Kjør kommandoen på nytt for hver ekstra enhet eller person du vil gi tilgang til.
Generer Reality X25519-nøkkelparet
/usr/local/bin/xray x25519
Dette skriver ut tre linjer: PrivateKey , Password og Hash32 . PrivateKey går kun inn i serverkonfigurasjonen og må aldri deles. Password er den tilsvarende offentlige nøkkelen – til tross for navnet er dette verdien hver klient skriver inn; Xray omdøpte feltet fra PublicKey til Password spesielt for å motvirke at folk publiserer det uforsiktig. Hash32 brukes kun for den separate VLESS-krypteringsfunksjonen og er ikke nødvendig for et Reality-oppsett.
Generer en kort ID
openssl rand -hex 8
Dette produserer en heksadesimal streng på 16 tegn som brukes til å skille mellom ulike klienter eller klientgrupper. Både server og klient må bruke samme verdi.
Velg og test et realitetsmål
Målet er det virkelige nettstedet hvis TLS-håndtrykk serveren din imiterer. Det bør støtte TLS 1.3 og HTTP/2, må ikke ligge bak et CDN som Cloudflare (Xray videresender all trafikk som ikke klarer Reality-autentisering direkte til målet, slik at et CDN-basert mål kan gjøre serveren din til et åpent relé for det CDN-et), og ideelt sett ligger det i omtrent samme nettverksregion som VPS-en din for en plausibel latensprofil. Test en kandidat direkte fra serveren:
/usr/local/bin/xray tls ping www.microsoft.com:443
Bruk det rene vertsnavnet, ikke en URL. En håndfull domener som ofte brukes som Reality-mål fordi de er stabile, TLS 1.3-kompatible og ikke CDN-baserte: www.microsoft.com, addons.mozilla.org, dl.google.com. Test noen få og velg et som reagerer pålitelig fra VPS-ens plassering; du bruker samme vertsnavn som både målet og serverNames-oppføringen i del 5.
Skrive serverkonfigurasjonen
Ta en sikkerhetskopi av konfigurasjonen som fulgte med installasjonsprogrammet, og åpne deretter filen for redigering:
cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.orig
nano /usr/local/etc/xray/config.json
Åpne konfigurasjonsfilen for redigering:
nano /usr/local/etc/xray/config.json
Erstatt hele filen med malen nedenfor, og bruk din egen UUID, PrivateKey, short-ID og målvertsnavn fra del 4 (og porten du åpnet i del 2, hvis du endret den fra 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" }
]
}
Trykk Ctrl+O (WriteOut) for å lagre filen.
Trykk Enter for å bekrefte filnavnet.
Trykk Ctrl+X for å avslutte nano.
De viktige feltene: users[].id er UUID-en fra del 4; users[].flow slår på XTLS Vision; method (tidligere kalt network) velger RAW-transporten, den enkle TCP-baserte metoden Reality krever; target og serverNames er nettstedet du testet i del 4; privateKey er X25519-nøkkelen på serversiden, aldri Password-verdien; shortIds viser alle korte ID-er klienter har lov til å presentere. For å legge til flere brukere senere, legg til flere objekter i users-arrayet, hver med sin egen UUID og e-postetikett, og start deretter tjenesten på nytt.
Siden Xray 26.3.27 håndhever en innkommende Reality-versjon uten et eksplisitt minClientVer-felt en standardverdi for serverens egen kjerneversjon – eldre klientapper (en utdatert v2rayN-, v2rayNG- eller Streisand-bygg som samler en eldre Xray-kjerne) blir stille omdirigert til målets reserveside i stedet for å koble til, uten feil i klienten og uten noe åpenbart galt i serverloggen. Hvis en klient som pleide å fungere plutselig får tidsavbrudd etter en oppdatering, prøv først å oppdatere selve klientappen. Hvis det ikke er mulig, legg til "minClientVer": "25.9.11" (eller en annen eldre grunnlinje) i realitySettings, på bekostning av å gjøre den eldre klientens TLS-fingeravtrykk litt mindre konsistent med en moderne nettleser.
Valider og start på nytt
Test konfigurasjonen før du starter live-tjenesten på nytt – dette fanger opp JSON-skrivefeil og felt som ikke støttes før de tar ned proxyen:
/usr/local/bin/xray run -test -c /usr/local/etc/xray/config.json
Starte tjenesten og aktivere automatisk start
Start Xray på nytt med den nye konfigurasjonen og aktiver den til å starte automatisk ved omstart:
systemctl enable --now xray
systemctl restart xray
systemctl status xray --no-pager
Statusen skal vise aktiv (kjører). Bekreft at noe faktisk lytter på port 443:
ss -lntp | grep ':443'
Hvis Xray ikke starter, er den raskeste måten å finne ut hvorfor ved å bruke systemd-journalen (for bakgrunnsinformasjon om lesing av Linux-logger generelt, se Hvordan lese Linux-logger og hvor du finner dem ):
journalctl -u xray -n 50 --no-pager
Bygge klienttilkoblingslenken
Xray-klienter importerer én enkelt vless://-delingslenke i stedet for en konfigurasjonsfil. Bygg den fra verdiene generert i del 4 (klientappenes delingslenkeformat bruker fortsatt det eldre navnet type=tcp for transporten, selv om selve JSON-feltet nå kalles method):
YOUR-UUID — fra røntgen-uuid (f.eks. a1b2c3d4-e5f6-7890-abcd-ef1234567890)
DITT-PASSORD-OFFENTLIG-NØKKEL — er passordet fra xray x25519 (IKKE den private nøkkelen!)
DIN-KORT-ID — fra openssl rand -hex 8 (f.eks. a1b2c3d4e5f67890)
din_IP — (IP-adressen til serveren din)
SNI — www.microsoft.com (eller målet ditt)
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
Eksempellenke:
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 er passordverdien fra xray x25519 (den offentlige nøkkelen, aldri den private nøkkelen), sni samsvarer med målvertsnavnet, og teksten etter # er bare en visningsetikett du kan gi nytt navn fritt i enhver klient.
Gjør den om til en QR-kode slik at mobilbrukere kan skanne den direkte:
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"
Eller skriv den ut direkte til terminalen uten å lagre en fil:
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"
Kopier PNG-filen til din egen datamaskin med scp, kjør den fra datamaskinens terminal (eller PowerShell på Windows), ikke serveren:
scp root@your_IP:~/vless-client.png .
Koble til fra Windows
Alt i denne delen skjer på Windows-PC-en din, ikke over SSH – klienten må kjøre på enheten som faktisk skal bruke proxyen.
Installer v2rayN
v2rayN er en gratis, aktivt vedlikeholdt GUI-klient som inkluderer Xray-core, med innebygd VLESS/Reality-støtte. Last ned den nyeste utgivelsen fra prosjektets side :
Hent Windows 64-bit .zip-ressursen (en selvstendig versjon trenger ingen separat .NET-kjøretid som i nyere v2rayN-versjoner), pakk den ut hvor som helst, og kjør v2rayN.exe.
Importer serveren
Kopier vless://-lenken som er bygget opp i del 7 til utklippstavlen (eller kopier QR-PNG-filen over med scp og åpne den), velg deretter Servere i v2rayN, deretter Importer masse-URL fra utklippstavlen (eller skann QR-koden via den innebygde skanneren). Den nye serverprofilen vises i listen med etiketten du anga etter #.
Høyreklikk på profilen og velg den som aktiv, og aktiver deretter systemproxyen (eller TUN-modus for ruting av hele maskinen) fra verktøylinjen i hovedvinduet.
Kobler til fra Android
Alt her skjer på Android-enheten din, ikke via SSH.
Installer v2rayNG
v2rayNG er Android-motparten til v2rayN, fra samme utvikler, og er den mest brukte Xray-klienten på Android. Installer den fra Google Play, eller last ned APK-en direkte fra prosjektets utgivelsesside hvis Play ikke er tilgjengelig i din region:
Importer serveren
Åpne v2rayNG, trykk på +-knappen øverst til høyre, og velg Importer konfigurasjon fra utklippstavlen etter å ha kopiert vless://-lenken, eller skann QR-koden og pek kameraet mot PNG-filen som ble generert i seksjon 7. Trykk på den importerte profilen for å velge den, og trykk deretter på den runde tilkoblingsknappen nederst. Android vil be om VPN-tillatelse første gang – godkjenn den for å etablere tunnelen.
Kobler til fra iOS
Alt her skjer på iPhone eller iPad, ikke via SSH. Apples App Store-retningslinjer betyr at Xray/VLESS-klienter på iOS vanligvis er gratis, men av og til betalte, frittstående apper i stedet for en systemintegrert funksjon.
Installer en Reality-kompatibel klient
Streisand er en gratis klient med åpen kildekode som støtter VLESS med Reality, sammen med flere andre protokoller. Søk etter den i App Store, eller åpne denne lenken.
App Store-kataloger varierer fra butikk til region og kan endres over tid. Hvis Streisand ikke er synlig i din butikk, finnes det alternativer med VLESS+Reality-støtte, inkludert Happ, V2Box og V2rayTun – søk i App Store etter det som er tilgjengelig for kontoen din.
Importer serveren
Kopier vless://-lenken til utklippstavlen, åpne klienten og bruk alternativet Legg til fra utklippstavlen (eller tilsvarende «import»), eller skann QR-koden fra seksjon 7 med klientens innebygde skanner. Slå på den nye profilen; iOS vil be om VPN-konfigurasjonstillatelse første gang, som du må godkjenne via Face ID, Touch ID eller passordet ditt.
Verifisering av tilkoblingen
Med tunnelen aktiv fra seksjon 8, 9 eller 10, gå tilbake til din egen enhet (ikke SSH-økten) og åpne en hvilken som helst "hva er min IP"-sjekker i en nettleser – adressen som vises skal samsvare med IP-adressen til VPS-en din.
For å bekrefte fra serversiden i stedet, sjekk systemd-journalen for tilkoblingsaktivitet og bekreft en etablert TCP-økt på port 443:
journalctl -u xray -n 50 --no-pager
ss -tnp | grep ':443'
På standardnivået «advarsel» skriver ikke Xray ut mye om individuelle tilkoblinger. Hvis du trenger å se flere detaljer under feilsøking, kan du midlertidig angi «loglevel»: «info» i config.json og starte tjenesten på nytt. Deretter bytter du tilbake til advarsel når alt fungerer.
Referanse:
|
Felt |
Verdi |
|
Adresse |
din VPS' offentlige IP-adresse |
|
Havn |
443 (samme havn som åpnet i seksjon 2) |
|
UUID / ID |
YOUR-UUID-HERE — generert i seksjon 4 med xray uuid |
|
Flow |
xtls-rprx-vision — må samsvare på begge sider |
|
Trygghet |
virkelighet |
|
SNI / servernavn |
Målvertsnavnet som ble testet i del 4, f.eks. www.microsoft.com |
|
Fingeravtrykk (fp) |
Chrome – et støttet uTLS-fingeravtrykk; må settes opp på klienten |
|
Offentlig nøkkel / pbk |
Passordverdien fra xray x25519 – aldri den private nøkkelen |
|
Kort ID / side |
Generert med openssl rand -hex 8; må samsvare med en verdi i shortIds |
Konklusjon
Hvis du følger denne veiledningen, kjører VPS-en din sin egen Xray VLESS+Reality-server, forkledd som vanlig HTTPS-trafikk til et ekte nettsted, uten domene eller sertifikat å vedlikeholde. Tjenesten kjører som systemd-enheten xray og overlever en omstart uten at du trenger å gjøre noe.
Legg til nye klienter når som helst ved å legge til et nytt objekt i brukerarrayet i config.json med en ny UUID fra xray uuid og en distinkt e-postetikett, og deretter starte tjenesten på nytt (systemctl restart xray) og bygge den brukeren sin egen delingslenke fra avsnitt 7. Separate UUID-er per person eller enhet gjør det mulig å tilbakekalle en uten å forstyrre noen andre.
Noen vaner som er verdt å holde på når serveren er i gang:
- Hold Xray oppdatert. Kjør installasjonsskriptet fra del 3 på nytt med jevne mellomrom – det oppgraderer en eksisterende installasjon – og hold klientappene oppdatert også, gitt minClientVer-virkemåten som er nevnt i del 5.
- Sikkerhetskopier config.json et sted privat utenfor serveren. Den inneholder serverens Reality-privatnøkkel og hver klients UUID. Å miste den betyr å generere påloggingsinformasjon på nytt for hver enhet.
- Tilbakekall tapte enheter umiddelbart. Fjern den tilhørende oppføringen fra brukerarrayet i config.json og start tjenesten på nytt.
Hvis tilkoblingen ikke oppstår, sjekk i rekkefølge:
- tjenestestatusen (systemctl status xray --no-pager) og journalen (journalctl -u xray -n 50 --no-pager)
- brannmurreglene (ufw-status — port 443/tcp må være åpen)
- at port 443 ikke allerede er bundet av en annen tjeneste (ss -lntp | grep ':443' skal bare vise røntgen)
- at UUID, offentlig nøkkel, kort ID, SNI og flyt i klienten samsvarer nøyaktig med config.json — et enkelt, uoverensstemmende tegn feiler håndtrykket stille.
- Selve virkelighetsmålet, med røntgen-TLS-ping :443, i tilfelle nettstedet endret TLS-konfigurasjonen sin
Sammenligning av Xray med andre alternativer? Se AmneziaWG Server Deployment Guide og How to set up Wireguard VPN on your server for WireGuard-baserte alternativer, eller Hysteria2 og TUIC-oppsett for to andre sensurresistente protokoller bygget for nettverk med tap eller sterkt filtrerte nettverk. Hvis du bare trenger en enkel proxy i stedet for et fullstendig tunneloppsett, er 3proxy-konfigurasjon på CentOS/ArchLinux et mye enklere alternativ, og det eldre VPN-serveroppsettet på Linux: PPTP eller OpenVPN? dekker protokoller som er enklere å sette opp, men mye lettere for DPI å oppdage og blokkere. For generell serverherding når proxyen er aktiv, se Linux-brukere: Administrasjon og tillatelser.