Setup Guide

VLESS Reality Config Examples: Xray JSON 2026

This guide shows how to configure a working VLESS or Xray proxy connection for V2rayN, v2rayNG, Streisand, OpenWrt, and xray-core clients. It is for users who already have proxy credentials and need importable links, JSON examples, Reality or TLS settings, DNS checks, and a reliable way to verify the mobile exit IP.

A VLESS Xray setup page should translate protocol terms into usable steps. Readers need to know which fields must match exactly, how to verify Reality or transport settings, and how to diagnose whether the issue is client, network, or server-side.

Copy-paste VLESS Reality configs for Xray-core 25.x, V2rayN, v2rayNG, Streisand, and OpenWRT. Includes share links, XTLS Vision, and DNS leak checks.

By: Mateusz PileckiPublished: Reviewed:

VLESS Reality quick answers

Best VLESS Reality config in 2026

A working VLESS Reality config in 2026 needs a current xray-core client, UUID, tcp transport, security=reality, fp=chrome or a matching browser fingerprint, valid pbk, optional sid, matching sni/serverName, and flow=xtls-rprx-vision only when the server supports Vision. Do not mix fields from different share links.

security=reality, pbk, sid and sni fields

In a vless:// Reality URL, security=reality enables the Reality handshake, pbk is the server public key, sid is the short ID when the server requires one, and sni or serverName must match the server configuration. A wrong pbk, sid, fingerprint, or serverName is a common cause of authentication or verification failures.

V2rayN import from clipboard

For V2rayN, copy the full vless:// link first, then use Servers -> Import bulk URL from clipboard. After import, open the profile and verify address, port, UUID, security, Reality public key, short ID, fingerprint, flow, and serverName before enabling system proxy or TUN mode.

xray run -test before production

Before routing traffic through xray-core, run xray run -test -config config.json to catch invalid JSON, unsupported fields, wrong inbound or outbound blocks, and deprecated options. Passing this syntax test does not prove the remote server accepts the connection, so still verify logs, visible IP, DNS route, and target reachability.

Close-up of a hand in a glove holding a smartphone with a green screen next to x-ray on a blue desk.

⚑ Quick Start: Copy Your VLESS Config

VLESS + Reality Config That Actually Works (2026)

Paste this vless:// link into V2rayN, v2rayNG, or Streisand:

vless://YOUR-UUID@your-server:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PUBLIC-KEY&flow=xtls-rprx-vision#MyVLESS

Replace YOUR-UUID, your-server, and YOUR-PUBLIC-KEY with your values. Full setup below.

Don't want to run a server? Get a VLESS endpoint on a real Polish 4G carrier IP β€” provisioned in 5 minutes, no VPS needed. From /day β†’

Tested with xray-core 25.x Β· Last verified: April 2026

What Is VLESS and Xray?

VLESS is a lightweight, high-performance proxy protocol developed as part of the Xray-core project (a fork of V2Ray). It was designed from the ground up to be faster and more resource-efficient than older protocols like VMess, while maintaining strong encryption and censorship resistance.

The Xray project emerged in late 2020 as a community-driven fork of V2Ray, motivated by the need for better performance, active development, and innovative features like XTLS. Since then, Xray-core has become the dominant implementation, with V2Ray gradually losing community support. In 2026, when people refer to "V2Ray proxies," they almost always mean Xray-core with the VLESS protocol.

Key characteristics of VLESS:

  • Zero overhead encryption: VLESS delegates encryption entirely to the transport layer (TLS 1.3), eliminating the redundant encryption layer that VMess uses. This means data is encrypted once (via TLS) instead of twice, resulting in faster connections and significantly lower CPU usage β€” especially important on mobile devices and low-power routers.
  • XTLS (Xray TLS): A unique technology that "splices" the inner and outer TLS connections. When you browse an HTTPS website through VLESS with XTLS, the proxy recognizes the inner TLS handshake and directly forwards the encrypted data without re-encrypting it. This achieves near-native TLS performance. Your proxy traffic becomes truly indistinguishable from regular HTTPS browsing because, at the wire level, it is regular TLS traffic.
  • XTLS Vision: The latest evolution of XTLS, designed specifically to defeat traffic analysis attacks. Vision pads the TLS Client Hello and other handshake messages to eliminate length-based fingerprinting that some DPI systems use. This is the recommended flow for all new VLESS deployments.
  • Multiplexing: Multiple logical connections share a single TCP stream, reducing handshake overhead for applications with many concurrent requests (like web scraping or browsing with many tabs).
  • Censorship resistance: Traffic looks like standard HTTPS connections to any standard website. DPI (Deep Packet Inspection) systems cannot distinguish VLESS traffic from normal web browsing, making it extremely difficult to detect and block.

Why Use VLESS/Xray Instead of Traditional Proxies?

Traditional HTTP and SOCKS5 proxies have fundamental limitations that VLESS was designed to overcome:

The Problem with HTTP Proxies

HTTP proxies transmit the CONNECT method in cleartext, making it trivially easy for network administrators, ISPs, and DPI systems to identify proxy traffic. The initial request explicitly states "I want to connect to this destination through a proxy" β€” there is no attempt at concealment. Any moderately sophisticated firewall can detect and block HTTP proxy traffic.

The Problem with SOCKS5 Proxies

SOCKS5 is better than HTTP in that it does not interpret the traffic, but the SOCKS5 handshake protocol itself is unencrypted and has a distinctive byte pattern. Firewalls can identify SOCKS5 connections by examining the first few bytes of the connection. In restrictive network environments, SOCKS5 traffic is blocked alongside HTTP proxies.

How VLESS Solves These Problems

VLESS wraps all proxy communication inside standard TLS 1.3 on port 443 β€” the same protocol and port used by every HTTPS website in the world. There is no distinctive handshake pattern, no cleartext metadata, and no protocol-specific byte sequences for DPI to detect. From the network's perspective, you are simply visiting a website. The UUID-based authentication happens inside the encrypted TLS tunnel, invisible to any observer.

Common scenarios where VLESS excels over traditional proxies:

  • Restrictive corporate and university networks: IT departments that block VPNs, SOCKS5, and HTTP proxies cannot block VLESS because it is indistinguishable from regular HTTPS traffic. Blocking it would mean blocking all HTTPS websites.
  • Countries with internet censorship: Nations with active DPI systems (China's GFW, Iran, Russia) specifically target known VPN and proxy protocols. VLESS with XTLS Vision is currently one of the most effective tools for bypassing these restrictions.
  • Performance-critical applications: Trading platforms, real-time data feeds, competitive gaming, or any scenario where every millisecond of latency matters. VLESS's zero-overhead design delivers the closest-to-native performance of any proxy protocol.
  • Mobile proxy connections: Combined with Proxy Poland's Xray support, you get a real Polish mobile IP through an lower-detection encrypted tunnel. This is the commonly used for both privacy and functionality.

VLESS vs VMess: Why VLESS Won

VMess was the original V2Ray protocol and is still widely documented online. However, VLESS has superseded it for several important reasons:

VLESS + Reality Config That Actually Works (2026)
Feature VLESS VMess
Encryption approachTLS only (no double encryption)Custom AES encryption + TLS = double encryption
CPU usageLow (single encryption layer)High (redundant encryption)
XTLS supportYes (Vision flow)No
SpeedNear-native TLS15–30% slower than native
Time sync requirementNoneClient/server must be within 90 seconds
Protocol complexitySimple (lightweight)Complex (heavier header)
Active developmentYes (Xray-core)Minimal

If you are setting up a new proxy connection in 2026, always choose VLESS over VMess. There is no scenario where VMess is the better option.

Prerequisites

Before you begin, you will need:

  • An active Proxy Poland subscription with Xray/VLESS enabled (available on all plans at no extra cost)
  • Your VLESS credentials from the Proxy Poland dashboard: UUID, server address, port, and the ready-to-import share link
  • A VLESS-compatible client application for your platform (we cover the best options for every OS below)
  • An internet connection that allows outbound HTTPS on port 443 (virtually all networks)

Step-by-Step Setup: Windows

v2rayN is the most popular Xray GUI client for Windows, with over 50,000 GitHub stars. It supports VLESS natively and provides a clean system-tray interface with automatic routing and traffic statistics.

  1. Download v2rayN: Go to github.com/2dust/v2rayN/releases and download the latest v2rayN-With-Core.zip package. This includes both the GUI and the Xray-core engine, so you do not need to download them separately.
  2. Extract and run: Extract the ZIP to a permanent folder (e.g., C:\v2rayN). Do not extract to the Downloads folder, as you will need the files long-term. Run v2rayN.exe. Windows Defender may show a SmartScreen warning because the app is unsigned β€” click "More info" and "Run anyway."
  3. Add your Proxy Poland server: In the system tray (bottom-right), right-click the v2rayN icon and select Servers > Add VLESS server. Enter the following configuration from your Proxy Poland dashboard:
    Remarks: ProxyPoland Mobile
    Address: xray.proxypoland.com
    Port: 443
    UUID: (your UUID from dashboard)
    Flow: xtls-rprx-vision
    Encryption: none
    Network: tcp
    Security: tls
    SNI: xray.proxypoland.com
    Fingerprint: chrome
    ALPN: h2,http/1.1
  4. Save and activate: Click OK to save the server configuration. In the main window or tray menu, right-click the server entry and select Set as active server.
  5. Enable system proxy: In the v2rayN main window, set the system proxy mode to Set System Proxy (or use the tray menu: System Proxy > Set System Proxy). All your Windows traffic now routes through the Polish mobile IP.
  6. Verify connection: Open your browser and navigate to ip.proxypoland.com. You should see a Polish IP address with Orange Polska as the carrier, and the connection type showing as Mobile/Cellular.

Proxy Poland provides a one-click share link in your dashboard that encodes the entire configuration. This is the fastest way to set up any VLESS client:

  1. Log into your Proxy Poland dashboard and navigate to your active proxy.
  2. Click the Copy VLESS Link button. This copies a URI starting with vless:// to your clipboard.
  3. In v2rayN, right-click the system tray icon and select Servers > Import from clipboard.
  4. The server configuration is auto-populated with all the correct settings. Activate it and enable system proxy.

Option C: Nekoray (Alternative GUI)

Nekoray is another popular Xray GUI for Windows with a focus on simplicity. Download from github.com/MatsuriDayo/nekoray, import your VLESS link from clipboard, and connect with one click. Nekoray also supports routing rules if you want to proxy only specific traffic.

Step-by-Step Setup: macOS

V2BOX is available on the Mac App Store and provides a clean native macOS experience with Xray/VLESS support. It handles the VPN tunnel configuration automatically.

  1. Install V2BOX from the Mac App Store (search "V2BOX" or follow the link from the developer's site).
  2. Open the app. On first launch, it will request permission to add VPN configurations β€” approve this.
  3. Tap the + button to add a new configuration.
  4. Select Import from clipboard and paste your Proxy Poland VLESS link (copied from the dashboard).
  5. Alternatively, enter the configuration manually:
    Protocol: VLESS
    Address: xray.proxypoland.com
    Port: 443
    UUID: (your UUID from dashboard)
    TLS: enabled
    Network: TCP
    Flow: xtls-rprx-vision
    SNI: xray.proxypoland.com
  6. Save and tap Connect. macOS will prompt for your system password or Touch ID to allow the VPN configuration.
  7. Verify your IP at ip.proxypoland.com β€” it should show a Polish Orange Polska mobile IP.

Xray-core via Terminal (Advanced Users)

For developers and power users who prefer command-line control, you can run Xray-core directly:

# Install via Homebrew
brew install xray

# Create config file
mkdir -p ~/.config/xray
cat > ~/.config/xray/config.json << 'EOF'
{
  "log": { "loglevel": "warning" },
  "inbounds": [
    {
      "tag": "socks-in",
      "port": 1080,
      "protocol": "socks",
      "settings": {
        "auth": "noauth",
        "udp": true
      }
    },
    {
      "tag": "http-in",
      "port": 1087,
      "protocol": "http",
      "settings": {}
    }
  ],
  "outbounds": [
    {
      "tag": "proxy",
      "protocol": "vless",
      "settings": {
        "vnext": [
          {
            "address": "xray.proxypoland.com",
            "port": 443,
            "users": [
              {
                "id": "YOUR-UUID-HERE",
                "encryption": "none",
                "flow": "xtls-rprx-vision"
              }
            ]
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "serverName": "xray.proxypoland.com",
          "fingerprint": "chrome",
          "alpn": ["h2", "http/1.1"]
        }
      }
    }
  ]
}
EOF

# Start Xray
xray run -config ~/.config/xray/config.json

# In another terminal, test the connection:
curl --socks5-hostname 127.0.0.1:1080 https://ip.proxypoland.com
# Or via HTTP proxy:
curl -x http://127.0.0.1:1087 https://ip.proxypoland.com

With this setup, configure your applications to use either SOCKS5 proxy at 127.0.0.1:1080 or HTTP proxy at 127.0.0.1:1087. For system-wide routing on macOS, set the proxy in System Settings > Network > Wi-Fi > Proxies.

Step-by-Step Setup: Android

v2rayNG is the standard Xray client for Android, maintained by the same developer as v2rayN for Windows. It has over 10 million downloads and supports all Xray protocols.

  1. Install: Download v2rayNG from Google Play Store (search "v2rayNG") or from github.com/2dust/v2rayNG/releases (APK for sideloading).
  2. Import configuration: Open the app and tap the + button in the top-right corner. Select Import config from Clipboard. Paste the VLESS link from your Proxy Poland dashboard.
  3. Or add manually: Tap + > Type manually > VLESS and fill in:
    Remarks: ProxyPoland Mobile
    Address: xray.proxypoland.com
    Port: 443
    UUID: (your UUID from dashboard)
    Flow: xtls-rprx-vision
    Encryption: none
    Network: tcp
    TLS: tls
    SNI: xray.proxypoland.com
    Fingerprint: chrome
  4. Save and connect: Save the configuration. Tap the server entry to select it (it will be highlighted). Then tap the large V button at the bottom of the screen to connect.
  5. Grant VPN permission: Android will display a system dialog asking for VPN permission. Check "I trust this application" and tap OK. This allows v2rayNG to create a local VPN tunnel that routes all device traffic through the proxy.
  6. Verify: Open Chrome and visit ip.proxypoland.com. You should see a Polish mobile IP.

Per-App Routing (Advanced)

v2rayNG supports per-app VPN routing. In Settings > Per-App Proxy, you can choose which apps route through the proxy and which use your direct connection. This is useful if you want only specific apps (e.g., Instagram, your scraping tool) to use the Polish IP while other apps use your normal connection.

Step-by-Step Setup: iOS

Streisand or V2BOX (iOS)

Due to Apple's App Store policies, iOS Xray clients are paid apps (typically $2–5). The two best options are:

  1. Purchase and install Streisand from the App Store.
  2. Open the app. Tap + in the top-right to add a server.
  3. Select Import from clipboard and paste the VLESS link from your Proxy Poland dashboard.
  4. The configuration is auto-populated. Tap Save.
  5. Tap the server entry, then tap Connect.
  6. iOS will prompt for VPN permission. Approve using Face ID or passcode.
  7. A VPN icon will appear in the status bar, confirming the tunnel is active.
  8. Verify by opening Safari and visiting ip.proxypoland.com.

V2BOX (iOS Alternative)

  1. Purchase and install V2BOX from the App Store.
  2. Follow the same import-from-clipboard workflow as Streisand.
  3. V2BOX also supports QR code scanning β€” your Proxy Poland dashboard can display a QR code for the VLESS link, which you can scan with V2BOX's built-in scanner.

Shadowrocket (Alternative)

Shadowrocket ($2.99) is another popular option with a long track record on iOS. It supports VLESS with XTLS Vision and provides advanced routing rules. Import your VLESS link from clipboard, connect, and verify.

Proxy Poland VLESS Configuration Reference

Every Proxy Poland proxy with Xray enabled provides these credentials in your dashboard. Use this reference table when configuring any VLESS client:

Parameter Value Notes
ProtocolVLESSNot VMess β€” always choose VLESS
Addressxray.proxypoland.comServer hostname
Port443Standard HTTPS port, works on all networks
UUID(unique per proxy)Shown in dashboard, acts as your authentication key
EncryptionnoneEncryption handled by TLS, not VLESS layer
Flowxtls-rprx-visionRequired for XTLS performance and anti-detection
NetworktcpTCP transport (not WebSocket or gRPC)
SecuritytlsTLS 1.3 encryption
SNIxray.proxypoland.comServer Name Indication for TLS
FingerprintchromeTLS fingerprint mimics Chrome browser
ALPNh2,http/1.1Application-Layer Protocol Negotiation

A ready-to-import vless:// share link and QR code are available in your dashboard for one-click setup in any compatible client.

VLESS vs OpenVPN: Which Should You Choose?

Proxy Poland supports both VLESS/Xray and OpenVPN on every proxy. Here is a detailed comparison to help you decide:

Feature VLESS/Xray OpenVPN
Speed overhead1–3% (near-native TLS)10–20% (full tunnel encryption)
Latency addedMinimal (single handshake)Moderate (multi-step handshake)
Detection resistanceExcellent (indistinguishable from HTTPS)Moderate (DPI can identify OpenVPN protocol)
Firewall bypassExcellent (port 443, standard TLS)Good (can use port 443, but protocol is detectable)
Client availabilityv2rayN, v2rayNG, V2BOX, Streisand, ShadowrocketOpenVPN Connect (all platforms), Tunnelblick (macOS)
Setup complexityModerate (copy-paste link or manual config)Easy (import .ovpn file, one-click connect)
System-wide tunnelingYes (via TUN mode in client apps)Yes (native, enabled by default)
Split tunnelingYes (advanced routing rules per app/domain)Limited (basic split tunnel in some clients)
Router supportYes (OpenWrt with Xray package)Yes (most routers support OpenVPN natively)
Security track recordNewer protocol, less audited20+ years of security audits
Best forRestricted networks, maximum speed, censorship bypassSimple setup, router deployment, maximum compatibility

Our recommendation: Use VLESS if you are on a restricted network (corporate, university, censored country), need maximum speed, or want your traffic to be completely indistinguishable from regular HTTPS browsing. Use OpenVPN if you prefer the simplest possible setup (import .ovpn file, click connect), need router-level deployment, or prioritize the longest security track record.

Both protocols connect to the same physical modem and share the same Polish mobile IP. The proxy output is identical β€” only the tunnel technology differs.

Troubleshooting Common Issues

Connection timeout or connection refused

  • Check UUID: Copy-paste your UUID from the dashboard. Do not type it manually β€” a single wrong character will cause authentication failure.
  • Verify port 443: Ensure outbound HTTPS on port 443 is not blocked by your network firewall. This is rarely blocked since it would break all HTTPS websites.
  • Check subscription status: Log into your Proxy Poland dashboard and verify your proxy is in "Active" status with time remaining.
  • Try a different network: If you are on a restrictive network, try connecting from your phone's mobile data to isolate the issue.
  • Update your client: Ensure you are running the latest version of your VLESS client. Older versions may not support XTLS Vision correctly.

Connected but no internet access

  • DNS configuration: In v2rayN, go to Settings > Core Settings and ensure DNS is configured. Use 8.8.8.8 or 1.1.1.1 as the DNS server. Without proper DNS, the proxy tunnel works but domain resolution fails.
  • Routing mode: Check that your client is in Global proxy mode, not PAC/Rule-based mode. Rule-based mode may exclude some traffic from the proxy tunnel, causing those connections to fail if your direct internet also has restrictions.
  • VPN permission (mobile): On Android/iOS, ensure the VPN permission was granted correctly. Try disconnecting, revoking VPN permission in system settings, and reconnecting to trigger a fresh permission prompt.
  • Conflicting VPN/proxy: Disable any other VPN, proxy, or ad blocker that might conflict with the VLESS tunnel.

Slow speeds

  • Enable XTLS Vision: Ensure flow: xtls-rprx-vision is set in your configuration. Without it, VLESS falls back to standard TLS processing, which is significantly slower.
  • Use TCP transport: TCP is the recommended transport for VLESS. WebSocket and gRPC add overhead and should only be used if TCP is blocked on your network (which is rare when using port 443).
  • Check base speed: Test your internet speed without the proxy. Mobile proxies are limited by the carrier's LTE speed (typically 30–100 Mbps for Orange Polska). If your base speed is 10 Mbps, the proxy will not be faster.
  • Geographic latency: If you are geographically far from Poland, additional latency is expected. A user in Asia connecting to a Polish mobile IP will have 200–300 ms latency, which is normal for the distance.
  • Server load: During peak hours (European evening), LTE speeds may drop slightly. Try testing at different times of day.

IP not showing as Polish/mobile

  • Verify connection: Visit ip.proxypoland.com in your browser. If it shows your real IP, the proxy tunnel is not active.
  • Check routing mode: If using split tunneling or PAC mode, the IP check site might be excluded from proxy traffic. Switch to global mode for verification.
  • Wait after connecting: Allow 3–5 seconds after the client shows "Connected" before checking. The proxy needs a moment to establish the LTE tunnel to the modem.
  • Check multiple lookup services: Some IP databases have outdated records. Verify on ipinfo.io, ip-api.com, and MaxMind. All should show Orange Polska as the carrier.

Advanced Configuration: Routing Rules

VLESS clients support routing rules that let you selectively proxy traffic. This is useful for advanced setups where you want only certain domains or applications to use the Polish IP:

// In Xray-core config.json, add routing rules:
"routing": {
  "domainStrategy": "AsIs",
  "rules": [
    {
      "type": "field",
      "domain": ["instagram.com", "facebook.com", "allegro.pl"],
      "outboundTag": "proxy"
    },
    {
      "type": "field",
      "domain": ["geosite:category-ads"],
      "outboundTag": "block"
    },
    {
      "type": "field",
      "outboundTag": "direct"
    }
  ]
}
// This routes Instagram, Facebook, and Allegro through the proxy,
// blocks ad domains, and lets everything else go direct.

VLESS client matrix

ClientSystemUse whenCommon failure
V2rayNWindowsVLESS Reality import, system proxy, TUN checksWrong clipboard import or disabled system proxy
v2rayNGAndroidVLESS Reality on mobile data and Wi-FiOld core version or profile not routed through VPN mode
StreisandiOSShare-link import for iPhone and iPadReality fields unsupported in older client builds
ShadowrocketiOSClient support depends on app version and protocol fieldsReality support mismatch or missing pbk/sid
OpenWrt + XrayRouterWhole-network routing after single-client proofDNS, firewall, IPv6, or policy-routing conflict

VLESS Reality troubleshooting matrix

SymptomLikely causeFast check
Reality authentication failedpbk, sid, sni/serverName, fingerprint, or flow mismatchReimport the latest share link and compare every Reality field before editing manually
TLS handshake timeoutNetwork path, blocked port, wrong SNI, MTU, IPv6, or server unreachableTest from another network, disable IPv6 temporarily, and confirm the port is reachable
Connected but IP unchangedSystem proxy, TUN, browser proxy, or app routing is not activeCheck What Is My IP, DNS Leak Test, and client route logs before testing accounts
xray config test failsInvalid JSON, unsupported option, wrong nesting, or old coreRun xray run -test -config config.json and upgrade xray-core if fields are unsupported
DNS leakBrowser or OS DNS bypasses the proxy routeEnable proxy DNS or TUN routing and retest resolver IP before production use

Official sources

VLESS/Xray

Need a mobile IP for your VLESS/Xray setup?

Proxy Poland runs dedicated 4G/5G mobile proxies on Polish LTE with native VLESS Reality and Xray support. Real carrier IPs, no datacenter ASNs, from $2/day on the 30-day plan.

FAQ

01What is VLESS and how does it differ from V2Ray?+

VLESS is a stateless transport protocol from Project V/Xray that drops the user-level encryption layer (it relies on TLS instead) for lower CPU and latency. V2Ray is the project family; v2ray-core was the original implementation, while xray-core is the maintained fork that ships REALITY, Vision flow control, and the latest VLESS features.

02How do I import a VLESS link into V2RayN?+

In V2RayN on Windows, copy the vless:// share link to the clipboard, then choose Servers -> Import bulk URL from clipboard. Open the imported profile to verify address, port, UUID, security (reality or tls), public key, short ID, fingerprint, flow, and serverName before enabling system proxy mode (default 10809) or HTTP listener (10808).

03What is REALITY in xray-core?+

REALITY is xray-core's anti-DPI handshake. It clones the TLS 1.3 ClientHello of a real public site (the dest target) so middleboxes see normal HTTPS. The server uses a static X25519 key pair plus a short ID; clients without the matching pbk/sid are forwarded to the real site, which hides the proxy from active probing.

04What does flow=xtls-rprx-vision do?+

Vision is the current XTLS flow that splits the TLS record after the handshake and pads inner traffic to mask flow size patterns. Use flow=xtls-rprx-vision when both server and client run a recent xray-core that supports Vision; leave flow empty for vanilla VLESS+TLS without splice optimization.

05What does xray run -test do?+

xray run -test -config config.json validates JSON syntax, schema, deprecated fields, and inbound/outbound consistency without starting any listeners. It catches typos, unsupported options, and core-version mismatches before they become connection errors. A passing test still does not prove the remote endpoint is reachable.

06Xray-core vs v2ray-core β€” which should I use?+

Use xray-core for new deployments. Xray-core is the actively maintained fork: it carries REALITY, Vision flow, faster QUIC support, and timely security patches. v2ray-core is still maintained but lags on REALITY and Vision. Most modern share links assume xray-core; v2ray-core may parse but ignore Reality fields, leading to silent fallbacks.

07How are JSON config layers structured in Xray?+

An xray-core config has six top-level keys: log, dns, routing, inbounds (where clients connect, e.g. socks at 10808, http at 10809), outbounds (where traffic exits, e.g. vless freedom blackhole), policy, and stats. Routing rules match by domain, ip, geosite, geoip, port, protocol, or user, then route to a tagged outbound.

08What is fragment_packet (UDP fragment) good for?+

The fragment outbound option splits the first TLS ClientHello into multiple TCP packets to defeat SNI-based DPI that reassembles only the first segment. It is useful when a network blocks specific SNI patterns but does not do full TCP reassembly. Set length and interval based on the network β€” 10-20 byte fragments at 10-100 ms typically work.

09What is mux.cool and when should I enable it?+

Mux.cool multiplexes multiple TCP streams over a single VLESS connection to reduce handshake overhead on chatty workloads (browser tabs, many parallel API calls). Enable it on the client outbound for short-lived connections; disable it for long-lived streams (large file downloads, video) where the multiplexer becomes a bottleneck.

10How do geosite and geoip routing rules work?+

Xray ships with geosite.dat and geoip.dat β€” compiled lists from v2fly/domain-list-community and v2fly/geoip. In the routing.rules array, use "domain": ["geosite:cn"] or "ip": ["geoip:private"] to match by category. This lets you route Chinese sites direct, ad domains to a blackhole, and everything else through the proxy outbound.

11How should I configure log levels and watchdog?+

Set log.loglevel to "warning" for normal operation; switch to "info" or "debug" only when troubleshooting (debug log fills disk fast). For watchdog, run xray-core under a process supervisor (systemd with Restart=on-failure, or s6-overlay on Alpine) β€” xray-core does not self-restart on a panic, so external supervision is required for production.

12Can I run multiple inbounds and route by client app?+

Yes. Define one socks inbound on 10808, one http inbound on 10809, and a third dokodemo-door inbound for transparent proxy on a router. In routing.rules, match by inboundTag and route each to a different outbound β€” for example, browser through a Polish mobile VLESS, system updates direct, and torrent traffic through a blackhole outbound.