How to Configure IPRoyal Shadowsocks Proxies on iOS with Shadowrocket for Advanced Privacy
Learn how to set up IPRoyal's Shadowsocks proxies on your iOS device using Shadowrocket, including advanced routing rules and leak verification for maximum privacy.
Overview
Shadowsocks is a secure proxy protocol that encrypts traffic between your device and the proxy server, making it a popular choice for privacy-focused users. IPRoyal offers Shadowsocks-style tunneling as part of its proxy lineup, and combining it with Shadowrocket on iOS gives you granular control over which apps and domains use the proxy.
This advanced tutorial walks you through configuring IPRoyal Shadowsocks proxies on an iPhone or iPad using Shadowrocket, setting up rule-based routing, and verifying that your real IP and DNS requests are not leaking.
Prerequisites
- An active IPRoyal account with Shadowsocks proxy credentials (server address, port, password, and encryption method).
- Shadowrocket installed on your iOS device. It is a paid app available on the App Store.
- Basic familiarity with proxy concepts and iOS settings.
Step 1: Retrieve Your IPRoyal Shadowsocks Credentials
- Log in to your IPRoyal dashboard.
- Navigate to the proxy product that includes Shadowsocks support (residential, ISP, or datacenter, depending on your plan).
- Generate or locate your Shadowsocks credentials. You will need:
- Server address (e.g.,
ss.iproyal.comor an IP address) - Port number
- Password
- Encryption method (e.g.,
aes-256-gcm,chacha20-ietf-poly1305)
- Server address (e.g.,
- Optionally, IPRoyal may provide a
ss://URI that encodes all parameters. You can use this to import the configuration directly into Shadowrocket.
Supported encryption methods often include:
aes-256-gcm
aes-128-gcm
chacha20-ietf-poly1305
Step 2: Install Shadowrocket on iOS
- Open the App Store on your iPhone or iPad.
- Search for "Shadowrocket" and purchase/download the app. (It requires a one-time payment.)
- Once installed, open Shadowrocket. You may need to allow VPN configurations when prompted.
Step 3: Add Your IPRoyal Shadowsocks Server
- In Shadowrocket, tap the "+" icon in the top-right corner.
- Choose "Manual" to enter the server details manually, or "Scan QR Code" if IPRoyal provided a QR code.
- Fill in the fields using the credentials from Step 1:
| Field | Value |
|---|---|
| Type | Shadowsocks |
| Server | your-server.iproyal.com |
| Port | 12345 |
| Password | your-password |
| Method | aes-256-gcm |
- Tap "Done" to save the configuration.
Step 4: Configure Advanced Routing Rules
Shadowrocket supports rule-based routing, allowing you to send only specific traffic through the proxy while other traffic goes direct. This is useful for privacy and performance.
- Tap the "Config" tab at the bottom, then tap the active configuration file (e.g., "default.conf").
- Edit the
[Rule]section to define your routing logic. Below is a sample rule set that routes everything through the proxy except local networks and the IPRoyal website:
[Rule]
# Route all other traffic through the proxy
FINAL,PROXY
# Direct local network traffic
IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT
IP-CIDR,172.16.0.0/12,DIRECT
# Direct IPRoyal dashboard for quick access
DOMAIN-SUFFIX,iproyal.com,DIRECT
- Save the configuration. You can also use the "Global Routing" setting in the app to quickly switch between Global, Rule, and Direct modes.
Step 5: Connect and Verify Your IP
- Return to the home screen of Shadowrocket and toggle the connection switch to "On". The first time, iOS will ask you to allow VPN configurations—tap "Allow".
- Open Safari and visit an IP checking service such as
https://httpbin.org/iporhttps://ifconfig.me. The displayed IP should match the IPRoyal proxy location, not your real IP. - To verify that the proxy is working for specific apps, open an app that you routed through the proxy (e.g., a browser) and check its IP.
Step 6: Test for Leaks
Advanced privacy setups require checking for DNS and WebRTC leaks.
- Visit
https://ipleak.netorhttps://browserleaks.com/ipin Safari. - Confirm that the detected IP is the proxy IP and that no DNS servers from your real ISP are listed.
- In Shadowrocket, enable "DNS over HTTPS" (DoH) in the app settings to prevent DNS leaks. Use a trusted DoH provider like Cloudflare (
https://cloudflare-dns.com/dns-query) or Google (https://dns.google/dns-query). - If you see leaks, review your rule set and ensure that DNS requests are also proxied. You can force DNS through the proxy by adding a rule like:
DOMAIN,cloudflare-dns.com,PROXY
DOMAIN,dns.google,PROXY
Troubleshooting
- Connection fails: Double-check the server address, port, password, and encryption method. Ensure the method matches exactly what IPRoyal specifies.
- Slow speeds: Try a different IPRoyal server location or switch to a different encryption method (e.g.,
chacha20-ietf-poly1305is often faster on mobile devices). - DNS leaks persist: Make sure DoH is enabled and that your rule set routes DNS traffic through the proxy. Some apps may use their own DNS resolution; consider using "Global" mode temporarily to force all traffic through the proxy.
- App conflicts: Disable any other VPN or proxy apps before connecting Shadowrocket. Only one VPN configuration can be active at a time on iOS.
- Shadowrocket won't connect: Check that your IPRoyal subscription is active and that the Shadowsocks service is enabled for your plan. Contact IPRoyal support if credentials appear correct but the connection fails.
Summary
In this tutorial, you configured IPRoyal Shadowsocks proxies on iOS using Shadowrocket, set up advanced routing rules, and verified your connection for leaks. This setup gives you fine-grained control over your traffic while maintaining strong encryption and privacy. Remember to regularly test for leaks and adjust rules as needed for your specific use case.