To set up VLESS Reality on your iPhone with a VPS using clients like Streisand or Shadowrocket, you need to obtain a configuration link (e.g., vless://...) from your server and import it into your chosen app, a process that typically takes no more than 5-10 minutes, including initial routing setup.
With the growing need for secure and stable access to information, the VLESS protocol with the Reality transport layer has proven to be one of the most effective solutions for bypassing censorship and ensuring privacy. It combines high performance, resistance to blocking, and near-complete undetectability by Deep Packet Inspection (DPI) systems. If you already use your VPS for VPN solutions, then setting up VLESS Reality on iPhone is a logical step to maximize the protection of your mobile traffic.
This Valebyte.com article will guide you step-by-step through configuring VLESS Reality on your iPhone using popular clients such as Shadowrocket, Streisand, and FoXray. We’ll explore their features, compare functionalities, and provide detailed instructions for importing configurations, setting up routing, and troubleshooting common issues.
What is VLESS Reality and Why is it the Best VPN for iPhone?
VLESS Reality is an innovative combination of the VLESS protocol and the Reality obfuscation layer, designed to provide maximum stealth and performance. VLESS itself is a lightweight protocol, ensuring high speed and low latency. Its main advantage is the absence of excessive headers and complex authentication, making it more efficient compared to older solutions.
Key Advantages of VLESS Reality Over Other Protocols
Reality, in turn, is an obfuscation mechanism that disguises VPN traffic as legitimate HTTPS traffic directed to real, popular websites (e.g., Google, Cloudflare, Microsoft). This makes it extremely resistant to detection and blocking. Key advantages of VLESS Reality include:
- High Resistance to Blocking: Traffic appears as a regular HTTPS request to a known domain, making it difficult to identify and block.
- Excellent Performance: Absence of complex protocol-level obfuscation (like VMess) and minimal latency due to the lightweight nature of VLESS.
- Easy Setup: Once deployed on the server, client configurations are usually presented as a single link or QR code.
- Minimal Resource Consumption: Both on the server and client, which is especially important for mobile devices like the iPhone, where every percentage of battery life counts.
- Broad Support: Most modern clients for iOS, Android, and desktop systems already support VLESS Reality.
Why a Self-Hosted VPS for VLESS Reality is Essential
Using your own VPS for VLESS Reality gives you full control over your VPN infrastructure, ensuring privacy and independence from third-party providers. Unlike public VPN services, where you share resources and entrust your privacy to a third party, your own server allows you to:
- Completely Control Your Data: You decide what is logged and what isn't.
- Optimize Performance: You choose the server location, its specifications, and bandwidth based on your needs.
- Achieve Maximum Resilience: If one server is blocked, you can quickly deploy a new one without relying on the reaction speed of a commercial service.
- Save Money: In the long run, renting a VPS can be significantly more cost-effective than subscribing to premium VPN services, especially with active use.
To deploy VLESS Reality on your VPS, we recommend checking out our guide to setting up VLESS Reality + Xray-core in 10 minutes. This will help you quickly prepare your server for use with iPhone.
Choosing the Best VLESS iOS Client: Streisand, Shadowrocket, FoXray, and More
Several client applications are available for connecting to VLESS Reality on iPhone. Each has its own features, advantages, and disadvantages. The choice depends on your requirements for functionality, ease of use, and willingness to pay for the application.
Streisand iOS Client: Features and Setup Guide
Streisand is a powerful, paid iOS client that supports many protocols, including VLESS. It is known for its reliability, high level of customization, and stability. However, its interface may seem less intuitive for beginners compared to Shadowrocket.
Streisand Features:
- Supports VLESS, VLESS Reality, VMess, Trojan, Shadowsocks.
- Advanced routing rule settings (rule-based proxy).
- Subscription support for automatic configuration updates.
- Stable operation and regular updates.
- Price: typically around $2.99 - $4.99 in the App Store.
Streisand iOS Setup:
- Purchase and install Streisand from the App Store.
- Open the application. On the main screen, tap the "+" button in the top right corner.
- Select "Import from Clipboard" (if the link is already copied) or "Scan QR Code".
- The app will automatically recognize the
vless://link and create a profile. - Tap the created profile to activate the connection.
- To configure routing rules, go to the "Rules" section and select the desired policy (e.g., "Global Proxy", "Bypass LAN & China", etc.).
Shadowrocket VLESS Client: Features and Flexibility
Shadowrocket is arguably the most popular and versatile paid iOS client supporting VLESS Reality. It offers a wide range of features, an intuitive interface, and flexible routing settings, making it an excellent choice for both beginners and experienced users.
Shadowrocket Features:
- Supports VLESS, VLESS Reality, VMess, Trojan, Shadowsocks, HTTP, SOCKS5.
- Powerful Rule Engine for flexible routing based on domains, IP addresses, GeoIP, etc.
- Auto-Connect function on system startup or new network detection.
- Traffic and speed monitoring.
- Subscription and QR code support.
- Price: typically around $2.99 - $3.99 in the App Store.
Shadowrocket VLESS Setup:
- Purchase and install Shadowrocket from the App Store.
- Open the application. On the main screen (the "Configuration" tab), tap the "+" icon in the top right corner.
- Choose the import type: "Scan QR Code" (if you have a QR code) or "Import from Clipboard" (if you have a copied
vless://link). - After import, the new profile will appear in the list. Tap it to select it.
- Toggle the "Not Connected" switch to "Connected" to establish the connection.
- To configure routing, go to the "Config" tab -> "Rule" and select the appropriate mode (e.g., "Config" to use built-in rules or "Proxy" for all traffic through the server).
FoXray, V2Box, and Other VLESS iOS Client Alternatives
In addition to Streisand and Shadowrocket, there are other iOS clients, some of which may be free, but often with limited functionality or less frequent updates.
- FoXray: One of the free clients supporting Xray-core (and thus VLESS Reality). The interface may not be as polished as paid alternatives, but it's suitable for basic functions. Requires manual configuration of some parameters.
- V2Box: Another free client offering VLESS, VMess, and Shadowsocks support. Convenient for QR code import, but may have fewer options for advanced routing.
- Surge (paid): A powerful tool for network proxying and debugging, but its functionality is overkill for most VLESS Reality users, and the price is significantly higher ($49+).
- Quantumult X (paid): Another advanced and expensive client with extensive functionality, aimed at experienced users who need maximum flexibility in configuring proxy rules.
Comparing VLESS iOS Clients
For clarity, let's compare the main characteristics of popular VLESS Reality clients for iOS:
| Client | Price (USD) | Supported Protocols | Routing Flexibility | Subscription Support | Ease of Use |
|---|---|---|---|---|---|
| Shadowrocket | $2.99 - $3.99 | VLESS, VMess, Trojan, SS, HTTP, SOCKS5 | High (Rule Engine) | Yes | High |
| Streisand | $2.99 - $4.99 | VLESS, VMess, Trojan, SS | High (Rule-based) | Yes | Medium |
| FoXray | Free | VLESS, VMess, SS, Trojan | Medium (basic rules) | No | Medium |
| V2Box | Free | VLESS, VMess, SS | Low (limited rules) | No | High |
| Surge 5 | $49.99+ | VLESS, VMess, Trojan, SS, HTTP, SOCKS5, TUN | Maximum (Scripting) | Yes | Low (for beginners) |
| Quantumult X | $7.99 | VLESS, VMess, Trojan, SS, HTTP, SOCKS5 | Maximum (Scripting) | Yes | Low (for beginners) |
For most users, Shadowrocket is the optimal choice, offering a good balance between price, functionality, and convenience. If you prefer free solutions, FoXray or V2Box may be suitable, but be prepared for potential limitations in functionality and support.
Looking for a reliable server for your projects?
VPS from $10/month and dedicated servers from $9/month with NVMe, DDoS protection, and 24/7 support.
View Offers →Preparing Your VPS: Obtaining the VLESS Reality Configuration Link
Before you connect your iPhone to your VPS, you need to ensure that Xray-core or sing-box with VLESS Reality support is installed and configured on your server. If you haven't done this yet, the following steps will help you prepare your server.
Installing Xray/sing-box on Your VPS
For VLESS Reality, you'll need a server component to accept connections. Xray-core or sing-box are most commonly used. Both solutions handle this task perfectly.
- Xray-core: The de facto standard for VLESS Reality. Installation usually involves running an automatic installation script. An example command looks like this:
bash <(curl -Ls https://raw.githubusercontent.com/XrayR-project/XrayR-release/master/install.sh)
After installation, the script typically offers to generate a VLESS Reality configuration and outputs the client link. You can read more about this in our article "Self-Hosted VPN on VPS: VLESS Reality + Xray-core in 10 Minutes".
- sing-box: A more modern and versatile alternative that can serve as both a server and client solution. sing-box installation can also be automated with scripts or performed manually.
curl -Ls https://raw.githubusercontent.com/SagerNet/sing-box/master/install.sh | sudo bash
Sing-box provides more flexible configuration options and supports a multitude of protocols. Details and configuration examples are available in the article "sing-box on VPS: A Universal Server for VLESS, Reality, and Hysteria".
Regardless of the chosen solution, after installation and configuration on the server, you should obtain a ready-to-use configuration link (URI) or QR code for the client.
Generating and Copying the VLESS Reality Link
After successfully installing and running Xray-core or sing-box, the server script or control panel (e.g., Hiddify on VPS) usually generates and displays the client configuration link. This link starts with vless:// and contains all the necessary parameters for connection, including the server address, port, UUID, and Reality parameters (e.g., fp, pbk, sni). Example link:
vless://<UUID>@<YOUR_VPS_IP>:443?security=reality&fp=chrome&pbk=<PUBLIC_KEY>&sni=<REALITY_DOMAIN>&sid=<SHORT_ID>#Valebyte-VLESS-Reality
Important: Copy this link completely and without errors. Any missed character or space can lead to a connection error.
If you are using a control panel (e.g., Hiddify, X-UI), you can find this link or QR code in the "Clients", "Accounts", or "Subscriptions" section. Panels often offer export as a QR code, which is very convenient for iPhone.
Need a dedicated server?
Compare prices from top providers. Configure and order in minutes.
Step-by-Step Guide: Setting Up VLESS Reality on iPhone with Shadowrocket
Shadowrocket is one of the most popular and functional clients for a self-hosted VPN on iPhone. Let's look at the step-by-step setup of VLESS Reality using it.
Importing the VLESS Reality Configuration into Shadowrocket
It is assumed that you have already purchased and installed Shadowrocket from the App Store and have obtained a working VLESS Reality configuration link from your VPS.
- Copy the link: Ensure your
vless://link is copied to your iPhone's clipboard. - Launch Shadowrocket: Open the Shadowrocket application.
- Add a new server: On the main screen (the "Configuration" tab), tap the "+" icon in the top right corner.
- Import from clipboard: In the menu that appears, select "Import from Clipboard". Shadowrocket will automatically recognize the
vless://link and add it to the server list.- Alternative: If you have a QR code, select "Scan QR Code" and point your camera at the QR code.
- Select the server: A new profile with the name you specified in the link (e.g., "Valebyte-VLESS-Reality") will appear in the list. Tap it to make it active.
- Connect: Toggle the large "Not Connected" (or "Disconnected") switch at the top of the screen to "Connected". The first time you connect, iOS will ask for permission to add a VPN configuration. Allow this by entering your password or using Face ID/Touch ID.
Your iPhone should now be connected to your VPS via VLESS Reality. A VPN icon will appear at the top of your iPhone screen.
Verifying Connection and Speed
After connecting, it's important to ensure that the VPN is working correctly and providing the expected speed.
- Check IP address: Open any browser on your iPhone and go to an IP address checker website (e.g.,
whatismyip.com). Verify that your VPS's IP address is displayed, not your real IP. - DNS leak test: Use services like
dnsleaktest.comto ensure that DNS requests are also routed through your VPS and do not "leak" to your ISP. - Speed test: Conduct a speed test (e.g., via
speedtest.netorfast.com). Compare the results with your expected speed and your VPS's bandwidth. VLESS Reality typically shows very low speed loss.
If the speed is significantly lower than expected or if connection issues arise, check the logs on the server and in the Shadowrocket client (the "Log" tab).
Configuring Routing Rules and Optimizing Battery Life on iPhone
Flexible routing rule configuration in your VLESS iOS client allows you to optimize VPN usage, directing only necessary traffic through the server and bypassing local resources. This not only increases access speed to local services but also helps conserve battery life.
Bypassing Local Traffic: Proxy and Direct Modes
Shadowrocket and other advanced clients offer various routing modes. The main ones are:
- Global Proxy: All traffic from the iPhone is routed through the VPN server. This is maximally secure but can slow down access to local resources (e.g., network printers, Smart TV on the home network) and consume more data.
- Direct: All traffic goes directly, without VPN. Used to disable the VPN.
- Rule (By Rules): This is the most flexible and recommended mode. You define which traffic goes through the VPN (Proxy) and which goes directly (Direct).
To configure rules in Shadowrocket, go to the "Config" tab and select "Rule". Here you will see a list of predefined rules or be able to add your own:
- Bypass LAN & China: A popular rule that routes all traffic, except for local network (LAN) and China IP addresses, through the VPN. This is a good starting set for many users.
- Custom Rules: You can create your own rules, specifying domains, IP addresses, GeoIP regions, and even CIDR blocks that should go through Proxy or Direct.
Example rule for bypassing the local network:
Ensure that your rule list includes something like:
RULE-SET,LAN,DIRECT
FINAL,PROXY
This means that any traffic destined for your local network will go directly, while all other traffic will go through the Proxy (your VLESS Reality server). This is critical if you want your iPhone to interact with home devices without disconnecting the VPN.
Automatic Connection and Power Consumption Optimization
For convenience and battery saving, it's important to set up auto-connect and monitor resource consumption.
- Automatic Connection: In Shadowrocket, go to "Settings" -> "On Demand". Enable "Connect On Demand" and choose the conditions under which the VPN should automatically connect (e.g., when connecting to any Wi-Fi or cellular network, or only to specific networks). This ensures your traffic is always protected, and you won't have to manually enable the VPN.
- Battery Saving:
- "Rule" Mode: Using routing rules instead of "Global Proxy" significantly reduces the amount of traffic passing through the VPN, which saves battery life.
- Rule Optimization: The fewer rules, the faster their processing. Try to use general rules (e.g., by GeoIP) instead of many small ones.
- Background Activity: Ensure that Shadowrocket or other clients are not consuming excessive resources in the background. iOS usually manages this well, but it's worth checking in "Settings" -> "Battery".
- Protocol Choice: VLESS Reality itself is a fairly power-efficient protocol compared to some other VPN solutions.
Common Errors When Importing and Connecting VLESS Reality
Even when following instructions step-by-step, users sometimes encounter problems when setting up VLESS Reality on iPhone. Knowing common errors can help diagnose and resolve them faster.
Incorrect Links and Certificate Issues
This is one of the most frequent causes of failed connections.
- Incomplete or Modified Link: The
vless://link must be copied entirely and without any changes. Even a single missed character or extra space can invalidate it. Ensure all parameters (UUID, IP, port, security=reality, fp, pbk, sni, sid) are present and correct. - Incorrect UUID: UUID (Universally Unique Identifier) is a unique user identifier. It must exactly match what is configured on your VPS.
- Errors in Reality Parameters:
pbk(public key): Must exactly match the public key generated on the server.sni(Server Name Indication): This is the domain under which your traffic is masked. It must be a real, working domain (e.g.,www.google.com,www.microsoft.com). If you are using your own domain, ensure it is correctly configured and accessible.fp(fingerprint): The TLS client fingerprint. Usuallychromeorfirefox. Must match the server settings.
- Certificate Issues: Although VLESS Reality does not use traditional TLS certificates in the same sense as HTTPS, it relies on TLS fingerprints. If the server-side is configured incorrectly or Reality parameters are not synchronized between the server and client, the connection will not establish. Check Xray/sing-box logs on the VPS for TLS/Reality-related errors.
Port Blocking and Firewall Issues on Your VPS
Even with a perfect configuration, problems can arise at the network or server level.
- Port Blocking: Ensure that the port you are using for VLESS Reality (often 443, but can be any other) is open on your VPS. Check your firewall settings (
ufw,firewalld, or cloud provider's firewall). For example, forufw:
sudo ufw allow 443/tcp
sudo ufw enable
- Provider Blocking: Your internet service provider or VPS provider might block certain ports or protocols. While VLESS Reality is designed to bypass such blocks, issues can sometimes occur. Try changing the port on your VPS to a less common one (e.g., 8443 or 2053), if possible, and update the configuration on your iPhone.
- Incorrect VPS IP Address: Ensure that the IP address in the configuration link matches your VPS's public IP address.
- DNS Error on iPhone: In rare cases, DNS problems on the iPhone can prevent the resolution of the domain specified in
sni. Try temporarily changing the DNS servers on your iPhone (e.g., to Google DNS 8.8.8.8) for diagnosis. - iPhone Network Issues: Ensure your iPhone has a stable internet connection (Wi-Fi or cellular) before attempting to connect to the VPN.
Always start troubleshooting by checking the server logs (/var/log/xray/access.log or error.log for Xray, or sing-box logs) and in the Shadowrocket client (the "Log" tab). These logs often contain valuable information about the cause of the failure.
Need a dedicated server?
Compare prices from top providers. Configure and order in minutes.
Choosing the Optimal VPS for VLESS Reality: Scale and Performance
The efficiency of VLESS Reality on iPhone directly depends on the power and stability of your VPS. Choosing the right plan will ensure high speed and low latency for all connected users.
For 20-30 active VLESS Reality users, a VPS with 2 vCPU, 4 GB RAM, and a 40 GB NVMe disk is sufficient.
| Concurrent Users | vCPU | RAM | Disk | Network Port | Price (USD/month) |
|---|---|---|---|---|---|
| 1-5 | 1 | 1 GB | 20 GB SSD | 100 Mbps | $3 - $5 |
| 5-15 | 1-2 | 2 GB | 40 GB NVMe | 500 Mbps | $5 - $10 |
| 15-30 | 2 | 4 GB | 40 GB NVMe | 1 Gbps | $10 - $20 |
| 30-50 | 4 | 8 GB | 80 GB NVMe | 1 Gbps | $20 - $40 |
| 50-100+ | 6-8+ | 16 GB+ | 160 GB+ NVMe | 10 Gbps | $40 - $80+ |
Recommendations for Choosing a VPS:
- Processor (vCPU): Even for VLESS Reality, which is not resource-intensive, having 2 vCPU significantly improves overall server performance, especially when handling multiple simultaneous connections. For more than 30 users, consider 4 vCPU and above.
- Random Access Memory (RAM): 1-2 GB RAM is sufficient for a basic Xray or sing-box installation. However, if you plan to use additional services on the VPS (e.g., control panel, monitoring, other VPN protocols), 4 GB RAM will be a more comfortable minimum.
- Disk (SSD/NVMe): NVMe disks provide significantly higher read/write speeds compared to regular SSDs or HDDs, which positively impacts overall system responsiveness and log handling. 20-40 GB is usually enough for the operating system and all necessary files.
- Network Port: Network port bandwidth is critical. For individual use, 100-500 Mbps is sufficient. For multiple users or active streaming/downloads, 1 Gbps is recommended. If you're dealing with dozens of users, consider plans with 10 Gbps ports.
- Location: Choose a VPS located geographically close to you or your target audience. Shorter distance = lower latency (ping). Also consider the political stability and legislation of the country where the server is located.
- Provider: Choose a reliable provider, such as Valebyte.com, which offers stable VPS with good network infrastructure and adequate technical support.
For very high loads or when 100 Mbps is no longer enough, it might be worth considering a dedicated server. Read more about this in the article "VPS vs. Dedicated Server for VPN: When 100 Mbps Isn't Enough".
Frequently Asked Questions
How much does Shadowrocket cost for iPhone?
Shadowrocket typically costs between $2.99 and $3.99 in the App Store. This is a one-time purchase that provides access to all features and future updates without additional subscriptions, making it a worthwhile investment for continuous VLESS Reality use on iPhone.
Can I use VLESS Reality on iPhone for free?
Yes, there are free clients like FoXray or V2Box that support VLESS Reality. However, they may have functional limitations, a less intuitive interface, or less frequent updates compared to paid alternatives like Shadowrocket or Streisand. The server-side setup on a VPS can also be done for free.
How do I set up VLESS Reality auto-connect on iPhone?
In Shadowrocket, go to "Settings" -> "On Demand". Enable "Connect On Demand" and choose the conditions under which the VPN should automatically connect, for example, when connecting to any Wi-Fi or cellular network. This ensures continuous protection of your traffic without manual intervention.
What if VLESS Reality doesn't connect on my iPhone?
Check the correctness of your configuration link (vless://...), ensuring it's copied completely and without errors. Review Shadowrocket logs (under the "Log" tab) and your Xray/sing-box server logs on the VPS for errors. Also, confirm that the port (usually 443) is open on your VPS and not blocked by a firewall or your provider.
Is a dedicated IP address required for VLESS Reality on a VPS?
Yes, VLESS Reality requires a dedicated public IP address on your VPS. Without it, the Reality protocol cannot properly mask traffic as a legitimate HTTPS request to a real domain, which is crucial for its resistance to blocking. Most VPS providers offer a dedicated IP by default.
Conclusion
Setting up VLESS Reality on iPhone using your own VPS and clients like Shadowrocket or Streisand is one of the most effective ways to ensure secure and block-resistant internet access. The choice of client depends on your preferences for functionality and budget, but Shadowrocket offers an optimal balance of flexibility and ease of use. The main thing is to carefully follow the instructions for importing the configuration and setting up routing, as well as promptly diagnose possible problems by checking server and client logs.
Ready to choose your server?
VPS and dedicated servers in 72+ countries with instant activation and full root access.
Get Started Now →