En V2Ray-klient velger ikke protokoll for deg. Det gjør konfigurasjonen du importerer, og den kommer fra leverandøren din eller fra din egen server. Det praktiske spørsmålet er derfor hva du bør be om, eller hva du bør sette opp. Denne artikkelen forklarer forskjellene som betyr noe, og ender med en kort anbefaling.
Tre lag, ikke ett valg
«VLESS eller VMess» høres ut som én avgjørelse. Det er tre:
- Protokoll: hvordan klienten autentiserer seg, og hvordan innholdet ser ut (VMess, VLESS, Trojan, Shadowsocks).
- Transport: hvordan bytene sendes (vanlig TCP, WebSocket, gRPC og andre).
- Sikkerhet: hva som pakker inn tilkoblingen (ingenting, TLS eller REALITY).
Den samme protokollen kan være nesten usynlig eller lett å oppdage, avhengig av de to andre lagene. Hva sensuren ser, avgjøres mest av transport og sikkerhet.
Hva sensuren kan se
- Byte som ser tilfeldige ut. Shadowsocks og VMess over vanlig TCP har ingen gjenkjennelig header. Det er i seg selv et signal: siden slutten av 2021 har Great Firewall blokkert tilkoblinger der den første pakken ser ut som fullstendig kryptert data. Kina-artikkelen har detaljene.
- Et TLS-håndtrykk. Trojan, og VLESS eller VMess over TLS, ser ut som HTTPS. Sensuren kan likevel sjekke servernavnet, IP-adressen, sertifikatet og hvordan tilkoblingen oppfører seg.
- Et lånt håndtrykk. REALITY etterligner TLS-håndtrykket til et ekte nettsted som du selv velger. En probe som ikke har nøkkelen, sendes videre til det ekte nettstedet og ser nettstedets ekte sider. Du trenger verken eget domenenavn eller eget sertifikat.
De fire protokollene side om side
| VMess | VLESS | Trojan | Shadowsocks | |
|---|---|---|---|---|
| Krypterer innholdet selv | Ja | Nei, bygger på TLS eller REALITY | Nei, bygger på TLS | Ja |
| Ser som standard ut som | Tilfeldige byte over vanlig TCP | Avhenger av sikkerhetslaget: tilfeldige byte, TLS eller REALITY | HTTPS | Tilfeldige byte |
| Krever eget domene og sertifikat | Bare med TLS | Bare med TLS, ikke med REALITY | Ja | Nei |
| Feiler hvis klokken går feil | Ja | Nei | Nei | Nei |
| Kan importeres i v2rc | Ja | Ja | Ja | Ja |
- VMess er den opprinnelige V2Ray-protokollen. Den autentiserer med en UUID og et tidsstempel, og derfor feiler den uten feilmelding hvis klokken på telefonen eller serveren går et par minutter feil. Bruk alterId 0 (AEAD-modus); en alterId som ikke er 0, er utdatert.
- VLESS er den lettere etterfølgeren. Den krypterer ikke selv, så den er bare så privat som laget under. Bruk den med TLS eller REALITY, aldri med sikkerhet
noneover det åpne internett. - Trojan kopierer HTTPS: et passord inne i en helt vanlig TLS-tilkobling. En klient som ikke kjenner passordet, får i stedet se en vanlig nettside. Den trenger et ekte sertifikat for et ekte domene, og et domene kan blokkeres.
- Shadowsocks er en veletablert kryptert proxy og den enkleste å drive. Bruk et AEAD-chiffer; gamle strømchiffer som
rc4-md5elleraes-256-cfber svake. Uten plugin eller innpakning er trafikken av den fullstendig krypterte typen.
Hva REALITY og Vision tilfører
I en REALITY-konfigurasjon ser du security=reality, et servernavn (sni), en offentlig nøkkel (pbk) og en short ID (sid). Servernavnet må være et ekte nettsted som støtter TLS 1.3 og HTTP/2; REALITY-dokumentasjonen ber om nøyaktig det.
flow=xtls-rprx-vision er Vision-flowen. En TLS-tilkobling som føres inne i en annen TLS-tilkobling, etterlater et gjenkjennelig mønster; forskningslitteraturen kaller det TLS-in-TLS, og Xue et al. (USENIX Security 2024) viste at slike mønstre kan avsløre obfuskerte proxyer. Vision ble utviklet for å redusere dette mønsteret for trafikk som selv er HTTPS.
Ingen av dem er magi. IP-adressen og hostingnettverket til serveren din har fortsatt betydning, og REALITY skjuler ikke at en tilkobling går til en adresse hos et utenlandsk datasenter.
Hva du bør be om
- På et restriktivt nettverk (Russland, Iran, Kina og lignende): VLESS med REALITY og Vision over TCP, på port 443.
- En ekstra konfigurasjon av en annen type: Trojan, eller VLESS over TLS med WebSocket eller gRPC, eventuelt bak et CDN. Et CDN skjuler serverens IP-adresse, men det forutsetter at selve CDN-et er tilgjengelig og ikke strupet der du er.
- På et åpent nettverk: hvilken som helst av de fire. Bruk det leverandøren din allerede støtter.
- Hvis leverandøren din gir deg et abonnement: du velger ikke selv, men du kan lese lenkene for å vite hva du har fått. Se slik leser du en konfigurasjonslenke.
- Ha minst to konfigurasjoner fra ulike hostingleverandører. Når én feiler, vil du ha en annen IP-adresse og helst en annen protokoll, ikke en ny konfigurasjon fra samme server.
Hva v2rc kan og ikke kan importere
v2rc importerer VMess, VLESS (inkludert REALITY), Shadowsocks og Trojan fra en lenke, en V2Ray JSON-fil, utklippstavlen eller en abonnements-URL. Den importerer ikke Hysteria 2, TUIC, WireGuard, AmneziaWG eller NaiveProxy. De fire første kjører over UDP, som mange restriktive nettverk dropper; NaiveProxy kjører over HTTPS, men trenger sin egen klient. For disse trenger du en annen app.
v2rc leveres uten servere: du tar med dine egne konfigurasjoner. Smart Connect velger den raskeste konfigurasjonen og bekrefter at tunnelen faktisk slipper gjennom trafikk før den bytter.
Kilder
- REALITY-dokumentasjonen og Xray-konfigurasjonseksempler
- Trojan-protokollbeskrivelsen
- Shadowsocks AEAD-spesifikasjonen
- Xue, Kallitsis, Houmansadr, Ensafi: Fingerprinting Obfuscated Proxy Traffic with Encapsulated TLS Handshakes, USENIX Security 2024
- Wu et al.: How the Great Firewall of China Detects and Blocks Fully Encrypted Traffic, USENIX Security 2023