12 min read

VLESS + Reality Proxy Tunnel with Localtonet

Set up a VLESS Reality tunnel on Localtonet in minutes. Steal a real TLS fingerprint, bypass advanced censorship, and get a public endpoint with no VPS.

Proxy Server ยท VLESS ยท Reality ยท TLS Camouflage ยท 2026

VLESS + Reality Proxy Tunnel with Localtonet: Full Setup Guide

VLESS over WebSocket survives most firewalls. VLESS + Reality survives the rest. Advanced censorship systems like GFW use active probing: they knock on your server's TLS port and check whether it behaves like the website it claims to be. Standard TLS proxies fail this test. Reality doesn't, because it borrows the TLS certificate and behavior of a real site you don't even own. This guide shows you how to create a VLESS + Reality tunnel on Localtonet, configure your Xray client, and stay connected on networks where every other proxy method gets blocked.

๐Ÿ”’ Reality TLS camouflage, active-probe resistant ๐Ÿ’ป Windows, Linux, macOS, Android, Docker ๐ŸŒ Public endpoint on port 443, no VPS or domain required

Why VLESS + WS Isn't Always Enough

A VLESS + WebSocket tunnel wraps your traffic inside HTTPS. To a passive observer, the connection looks like a browser loading a web app. That defeats port-based blocking and basic DPI. But sophisticated censorship infrastructure goes further: it actively connects back to your proxy endpoint and probes it. If your server responds like an Xray node instead of a real website, the IP gets flagged and blocked within minutes.

This is how GFW-style deep inspection works in 2026. Active probing is no longer a niche technique. Corporate SASE platforms and some university networks now run similar probes. A VLESS + WS tunnel that works at home can stop working the moment you connect from a restricted region or enterprise network.

VLESS + Reality solves this by making your proxy endpoint impersonate a real site's TLS stack at the handshake level, one that active probes will probe and accept as legitimate.

What VLESS + Reality Actually Does

Reality is a TLS extension built into Xray. Instead of presenting its own certificate, the server forwards the TLS handshake to a real destination site (called the "steal" target, e.g., www.microsoft.com) and relays its certificate back to the connecting client. An active probe sees exactly the same TLS behavior as the real site. Legitimate clients authenticate using a shared key pair (public key + short ID) that is invisible to outside observers.

Localtonet handles the server side automatically. When you create a VLESS + Reality tunnel, Localtonet provisions a public subdomain (e.g., pjrcaez2cb.localtonetproxy.com) on port 443 and configures the Reality parameters for you. You get a public key, short ID, and UUID from the tunnel detail panel. Plug those values into your Xray client and the tunnel is live. No VPS, no certificate management, no Nginx config.

๐Ÿ”’ Active-probe resistant Reality forwards TLS handshakes to a real site. Probes that check your endpoint see a legitimate Microsoft or Apple TLS stack, not an Xray node.
๐ŸŒ No VPS or domain needed Localtonet provisions the public endpoint and Reality config. You don't own or configure the steal target domain.
โšก Lower overhead than WS Reality uses raw TCP as transport instead of WebSocket. One less framing layer means slightly better throughput and latency on the same connection.
๐Ÿ”‘ Key-pair authentication Access is controlled by a UUID plus a public/private key pair and a short ID. Clients without all three values cannot authenticate, even if they know your subdomain.
๐Ÿ›  XTLS Vision flow support Reality works best with xtls-rprx-vision flow enabled on the client. This reduces inner TLS overhead for HTTPS destinations and is the recommended production setting.
๐Ÿ’ป All major clients supported Works with v2rayN, NekoBox, Hiddify, Shadowrocket (iOS), and the raw Xray binary on Linux. Any client with Reality support and XTLS Vision flow is compatible.

How to Create a VLESS + Reality Tunnel in Localtonet: Step-by-Step (2026)

1

Create a free account and copy your token

Sign up at Register page. After logging in, go to My Tokens and copy your personal auth token you'll need it in step 3.

2

Download and install the Localtonet agent

Head to Downloads and grab the binary for your OS. Works on Windows, Linux, macOS, Android, and Docker.

3

Open Proxy Server and select "VLESS + Reality" as the Proxy Type

In your Localtonet dashboard, click Proxy Server. Click the "Proxy Type" dropdown. You will see five options: HTTP, SOCKS5, ShadowSocks, VLESS + WS, and VLESS + Reality. Select "VLESS + Reality".

4

Choose your Auth Token and Server location

Select the auth token you copied in Step 1. Under "Server", pick the Localtonet server closest to the region you want your traffic to exit from. The server location is your public IP from the client's perspective, so pick accordingly.

5

Set a Domain Type and click Create

Choose "Random SubDomain" unless you have a reserved domain on your plan. Click "Create". Localtonet provisions the tunnel instantly and assigns a public subdomain such as pjrcaez2cb.localtonetproxy.com on port 443.

6

Retrieve your Reality credentials from "VLESS Data"

Find your new tunnel in the list. Click the settings icon on the right to open the tunnel detail panel, then click "Manage" next to "Vless Data". A modal appears with your UUID, Public Key, and Short ID. Copy all three. You need them in Step 7.

7

Configure your Xray client with the VLESS + Reality settings

Open your Xray-compatible client (v2rayN, NekoBox, Hiddify, Shadowrocket, or the raw Xray binary). Add a new VLESS outbound using the values below. All fields come directly from the Localtonet tunnel page.

Xray / VLESS + Reality โ€” client config values
vless-vrayy-settings.jpeg
Address      : pjrcaez2cb.localtonetproxy.com  (your assigned subdomain)
Port         : 443
UUID         : 7b637c36-9dd4-4005-a0cf-1960b31f1fb1  (from VLESS Data modal)
Flow         : xtls-rprx-vision
Encryption   : none
Network      : tcp
TLS          : reality
Fingerprint  : chrome
SNI          : www.microsoft.com  (or the steal target shown in your dashboard)
Public Key   : (from VLESS Data modal)
Short ID     : (from VLESS Data modal)
Allow Insecure: false

For raw Xray on Linux, your outbound block in config.json looks like this:

Linux โ€” Xray config.json (outbound excerpt)
{
  "outbounds": [{
    "protocol": "vless",
    "settings": {
      "vnext": [{
        "address": "pjrcaez2cb.localtonetproxy.com",
        "port": 443,
        "users": [{
          "id": "7b637c36-9dd4-4005-a0cf-1960b31f1fb1",
          "flow": "xtls-rprx-vision",
          "encryption": "none"
        }]
      }]
    },
    "streamSettings": {
      "network": "tcp",
      "security": "reality",
      "realitySettings": {
        "serverName": "www.microsoft.com",
        "fingerprint": "chrome",
        "publicKey": "YOUR_PUBLIC_KEY_HERE",
        "shortId": "YOUR_SHORT_ID_HERE"
      }
    }
  }]
}
โš ๏ธ Most tutorials skip this step: Flow must be set to xtls-rprx-vision

Reality is designed to work with the xtls-rprx-vision flow value. If you leave Flow blank or set it to an empty string, the tunnel connects but inner HTTPS traffic generates a detectable TLS-in-TLS pattern. Some advanced inspection systems flag this pattern specifically. Set flow: xtls-rprx-vision in every client config that uses a Reality tunnel. Clients that don't support XTLS Vision (older V2Ray forks) should be updated before using Reality.

๐Ÿ”’ Why "Allow Insecure: false" is correct for Reality tunnels

Reality does not use a self-signed or self-issued certificate. The TLS certificate your client sees belongs to the steal target (e.g., Microsoft). It is a valid, CA-signed certificate. Disabling certificate verification with "Allow Insecure: true" provides no benefit here and removes a layer of protection. Keep it set to false.

Tips for Getting the Most Out of VLESS + Reality

๐ŸŒ Pick the steal target carefully The SNI (steal target) should be a high-traffic, globally reachable domain like www.microsoft.com or www.apple.com. Niche or low-traffic domains attract more suspicion because active probes know what normal traffic to them looks like.
๐Ÿ”‘ Use IP Restriction for sensitive tunnels Open the tunnel settings and click "Manage" next to "IP Restriction". Whitelist specific client IPs so that even if the UUID and public key leak, unauthorized sources cannot establish a session.
๐Ÿ’ป Match the fingerprint to your client OS Set Fingerprint to chrome on Windows and Android, safari on iOS and macOS. A Chrome fingerprint from an iOS device is a minor inconsistency that advanced probes can detect.
โšก Set Speed Limits when sharing the tunnel The "Speed Limits" setting in the tunnel panel caps bandwidth per connection. Useful when you share a Reality tunnel with multiple users and want to prevent one client from saturating the link.
๐Ÿ’ฐ Use Expiration Date for temporary access If the tunnel is for a short-term project or a guest user, set an Expiration Date in the tunnel panel. The tunnel disables automatically. No need to remember to delete it.
๐Ÿ›  Keep "Is Reserved?" checked With "Is Reserved?" enabled, the tunnel's subdomain stays constant across Localtonet client restarts. Disable it only if you intentionally want a rotating endpoint, because every reconnect breaks all client configs that have the old subdomain hardcoded.

Frequently Asked Questions

What is the difference between VLESS + Reality and VLESS + WS in Localtonet?

VLESS + WS uses WebSocket as the transport layer wrapped in TLS. It's widely supported and defeats passive DPI. VLESS + Reality uses raw TCP and the Reality TLS extension to impersonate a real site's TLS fingerprint during the handshake. This makes it resistant to active probing, which is the next layer of censorship after DPI. Use VLESS + WS for most situations; switch to Reality when your WS tunnel gets blocked on a specific network.

Do I need to own or configure the SNI steal target domain?

No. Reality borrows the TLS certificate from the steal target (e.g., www.microsoft.com) by forwarding the handshake to that server in real time. You don't own, control, or configure that domain. You only reference it in your client config as the SNI value. The Localtonet dashboard shows you which steal target is configured for your tunnel.

Which Xray clients support VLESS + Reality?

Any client running Xray core 1.8 or later supports Reality: v2rayN (Windows), NekoBox (Android/Desktop), Hiddify (cross-platform), Shadowrocket (iOS), and the raw Xray binary on Linux. V2Ray forks that have not merged the Reality extension do not support it. Check that your client version includes Reality settings before configuring. The "Configuration" mode in Shadowrocket should be set to "Xray" if that option is available.

Why does my VLESS + Reality tunnel connect but traffic doesn't flow?

The most common cause is a wrong or missing Short ID. The Short ID in your client config must match exactly what Localtonet generated, including length and capitalization. A mismatched Short ID completes the TLS handshake but drops all VLESS frames silently. The second most common cause is an incorrect Public Key. Copy both values directly from the "Vless Data" modal and don't retype them by hand.

Can multiple devices share the same VLESS + Reality tunnel?

Yes. Multiple clients can connect simultaneously using the same UUID, public key, and short ID. All sessions share the tunnel's total bandwidth. For per-device access control, use the "IP Restriction" setting in the tunnel panel, or create a separate tunnel with its own credentials for each user group.

Does VLESS + Reality support UDP?

Reality with XTLS Vision flow is optimized for TCP traffic. UDP tunneling through a Reality tunnel depends on your Xray client's XUDP support and the specific Localtonet plan. If UDP routing is a primary requirement, VLESS + WS (which lists explicit UDP support) may be the better choice. Test UDP behavior with a DNS query through the tunnel and verify resolution before relying on it.

What does "Is Reserved?" do in the tunnel settings?

When "Is Reserved?" is checked, the tunnel keeps the same public subdomain every time the Localtonet client reconnects. This is the default and correct setting for any tunnel shared with multiple devices, since those devices have the subdomain hardcoded in their Xray config. If "Is Reserved?" is off, every reconnect assigns a new subdomain and every client config must be updated manually.

How much does a VLESS + Reality tunnel cost on Localtonet?

VLESS + Reality tunnels are available on all Localtonet plans including the free tier. The free plan includes bandwidth limits and non-reserved subdomains by default. Paid plans start with reserved subdomains, higher bandwidth caps, speed limit controls, and IP restriction management. Check current pricing at localtonet.com, as plans are updated periodically.

Ready to set up your first VLESS + Reality tunnel?

Create your Localtonet account for free. No credit card needed. Your first Reality proxy is a few clicks away.

Get Started Free โ†’

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support