Quick Answer: Android: use Hiddify or v2rayNG. iOS: use Streisand. Windows: use v2rayN. macOS/Linux: use Hiddify. Import your proxy link or subscription URL, tap connect.
Need a server first? Set up 3X-UI Panel, Hysteria2, or paqctl.
Need a VPS? Vultr (free credit), DigitalOcean ($200 free credit), or RackNerd (cheap annual deals).
What Are Proxy Clients?
A proxy client is an app on your phone or computer that connects to your proxy server. Your server runs the proxy protocol (VLESS, VMess, Hysteria2, etc.) and the client app routes your internet traffic through it.
Your Phone/PC (Client App)
|
| Encrypted proxy connection
|
v
Your Proxy Server
|
| Forwards to the real internet
|
v
Websites, Apps, Services
Without a client app, your proxy server is useless — you need something on your device to actually send traffic through it.
Protocols Supported
| Protocol | What It Is | Client Support |
|---|---|---|
| VLESS | Modern, lightweight (Xray) | All clients below |
| VLESS+Reality | VLESS with stealth TLS | All clients below |
| VMess | Original V2Ray protocol | All clients below |
| Trojan | Mimics HTTPS traffic | All clients below |
| Hysteria2 | QUIC-based, fastest | Most clients below |
| Shadowsocks | Classic encrypted proxy | All clients below |
| WireGuard | VPN protocol | Some clients |
| TUIC | QUIC-based proxy | Some clients |
How You Get Your Config
Your proxy server gives you one of these:
- Proxy link (URI) — a string like
vless://uuid@server:port?...that you paste or scan as QR - Subscription URL — a web link that contains multiple proxy configs, auto-updates
- Manual config — server address, port, UUID, encryption settings entered by hand
Choosing a Client App
| App | Platform | Best For | Protocols |
|---|---|---|---|
| Hiddify | Android, iOS, Windows, macOS, Linux | Most users (easiest) | All |
| v2rayNG | Android | Advanced users, most popular on Android | VLESS, VMess, Trojan, SS, Hysteria2 |
| Nekobox | Android | Power users, sing-box core | All including TUIC |
| v2rayN | Windows | Most popular on Windows | All |
| Streisand | iOS | Best free iOS option | VLESS, VMess, Trojan, SS, Hysteria2 |
| Clash Meta (Mihomo) | Windows, macOS, Linux | Rule-based routing | All |
| Clash Verge Rev | Windows, macOS, Linux | Desktop Clash with GUI | All |
| Shadowrocket | iOS | Best iOS (paid, $3.99) | All |
| sing-box | All platforms | Advanced, direct sing-box | All |
My recommendation:
- Android: Hiddify (easiest) or v2rayNG (most popular)
- iOS: Streisand (free) or Shadowrocket (paid, better)
- Windows: v2rayN or Hiddify
- macOS/Linux: Hiddify or Clash Verge Rev
Part 1: Hiddify
Can't Access Google Play or App Store?
If app stores are blocked or restricted in your country:
- Android: Download APK files directly from each app's GitHub releases page. All apps listed below are open-source with GitHub releases.
- iOS: You need an Apple ID from a different region (US or Turkey are common). Create a new Apple ID with a foreign email, switch to it in Settings > Apple ID, then download the app.
- Transfer: Download on an unrestricted network, then transfer via USB, Telegram, or file sharing.
(All Platforms — Recommended)
Hiddify is the easiest client. One app for Android, iOS, Windows, macOS, and Linux. Open source.
Install
- Android: GitHub releases or Google Play
- iOS: App Store
- Windows/macOS/Linux: GitHub releases
Add Your Proxy
Method 1: Subscription URL (recommended)
If your server (3X-UI, Marzban) gives you a subscription link:
- Open Hiddify
- Tap + (add profile)
- Select Add from subscription link
- Paste the URL
- Tap Add
- Hiddify downloads all your proxy configs automatically
Subscription URLs auto-update — when your admin adds or changes servers, your client gets the new configs automatically.
Method 2: Proxy Link (URI)
If you have a link like vless://... or hysteria2://...:
- Copy the link
- Open Hiddify
- Tap + → Add from clipboard
- The config appears automatically
Method 3: QR Code
- Open Hiddify
- Tap + → Scan QR code
- Point camera at the QR code from your server panel
Connect
- Select a profile from the list
- Tap the big Connect button
- First time: Android/iOS will ask to create a VPN connection — allow it
- Status shows "Connected" — you're done
Settings Worth Changing
- Routing: Set to "Bypass Iran" or "Bypass China" (routes local traffic directly, only foreign traffic through proxy)
- DNS: Set to "Remote DNS: 1.1.1.1" to prevent DNS leaks
- Split tunneling: Choose which apps go through the proxy and which don't
Part 2: v2rayNG (Android)
v2rayNG is the most popular Android proxy client. More configuration options than Hiddify but slightly more complex.
Install
- GitHub releases — download the APK
- Also available on Google Play
Add Config
From subscription:
- Tap ⋮ (menu) → Subscription group setting
- Tap + → paste your subscription URL
- Tap ✓ to save
- Back to main screen → ⋮ → Update subscription
From proxy link:
- Copy the
vless://...orvmess://...link - Open v2rayNG
- Tap + → Import config from clipboard
From QR code:
- Tap + → Import config from QR code
- Scan
Manual entry:
- Tap + → Type manually → select protocol (VLESS, VMess, etc.)
- Fill in:
| Field | Value |
|---|---|
| Remarks | Any name |
| Address | Your server IP or domain |
| Port | Server port (443, 8443, etc.) |
| ID/UUID | From your server panel |
| Flow | xtls-rprx-vision (for Reality) or empty |
| Security | reality or tls or none |
| SNI | Server domain (for TLS/Reality) |
| Fingerprint | chrome (for Reality) |
Connect
- Select your config from the list (tap to highlight)
- Tap the V button at the bottom to connect
- Allow VPN permission
- Connected — icon appears in status bar
Test
- Visit What's My IP — should show your server IP
- Run VPN Leak Test — check for DNS/IP leaks
Important Settings
Settings → Routing:
- Bypass mainland China — if you're in China
- Bypass Iran — if you're in Iran
- Global — route ALL traffic through proxy
Settings → DNS:
Settings → Fragment (Iran-specific):
- Enable Fragment: Yes
- Fragment length: 10-100
- Fragment interval: 10-50
- This splits the TLS ClientHello into smaller packets, making it harder for DPI to detect the SNI. Essential for many Iranian ISPs.
- Remote DNS:
1.1.1.1or8.8.8.8 - Domestic DNS: your local DNS (for bypassed traffic)
Part 3: v2rayN (Windows)
v2rayN is the most popular Windows proxy client. Supports all protocols.
Install
- Download from GitHub releases
- Extract the ZIP
- Run
v2rayN.exe - It sits in the system tray (bottom-right)
Add Config
From subscription:
- Right-click tray icon → Subscription group → Subscription group setting
- Add your subscription URL
- Right-click tray icon → Update subscription
From proxy link:
- Copy the link
- Right-click tray icon → Import bulk URL from clipboard
From QR code:
- Right-click tray icon → Scan QR code on screen
System Proxy
v2rayN needs to tell Windows to route traffic through it:
- Right-click tray icon → System proxy → Set system proxy
- Or use PAC mode (only proxies blocked sites, faster)
Routing Mode
- Global: All traffic through proxy
- Rule-based: Uses rules to decide (recommended — bypasses local traffic)
- Direct: No proxy (off)
Part 4: Streisand (iOS — Free)
Streisand is the best free iOS proxy client. Supports VLESS, VMess, Trojan, Shadowsocks, and Hysteria2.
Install
Download from the App Store (search "Streisand" or use the link above).
Add Config
- Copy your proxy link (
vless://...) - Open Streisand
- Tap + → Add from clipboard
- Or tap + → Subscription → paste subscription URL
Connect
- Select a server from the list
- Tap Connect
- Allow VPN configuration when prompted
- Connected
Routing
- Settings → Route → select bypass rules for your country
- This ensures local websites load directly (faster) while foreign sites go through the proxy
Part 5: Shadowrocket (iOS — Paid $3.99)
If you can buy Shadowrocket, it's the best iOS proxy client. More features and better performance than free alternatives.
Install
App Store — $3.99 (one-time purchase).
Note: If the App Store is restricted in your country, you need an Apple ID from a different region (US, Turkey, etc.) to purchase it.
Add Config
- Copy proxy link
- Open Shadowrocket → it auto-detects and adds it
- Or tap + → enter manually
For subscription:
- Tap + → Type: Subscribe
- Paste subscription URL
- Tap Done
- Pull down to refresh the subscription
Connect
Toggle the switch next to your server. That's it.
Features
- Per-app proxy — choose which apps use the proxy
- On-demand rules — auto-connect on certain WiFi networks
- HTTPS decryption — for debugging (advanced)
- Scene — save different configurations for home/work/travel
Part 6: Clash Meta / Mihomo (Desktop)
Clash Meta (also called Mihomo) is a powerful rule-based proxy client. It uses YAML config files.
GUI Clients for Clash Meta
- Clash Verge Rev — Windows, macOS, Linux (recommended GUI)
- FlClash — Cross-platform (Flutter-based)
Install Clash Verge Rev
- Download from GitHub releases
- Install for your platform
- Open — it runs in the system tray
Add Config
From subscription:
- Open Clash Verge
- Go to Profiles
- Paste your subscription URL in the input field
- Click Import
- Select the imported profile
From file:
- Create a
config.yamlwith your proxy configs - Import the file in Clash Verge
Clash YAML Format
If your server doesn't provide a Clash subscription, create a config:
proxies:
- name: "my-vless"
type: vless
server: your-server.com
port: 443
uuid: your-uuid-here
network: ws
tls: true
servername: your-server.com
ws-opts:
path: /your-path
headers:
Host: your-server.com
- name: "my-hysteria2"
type: hysteria2
- name: "my-reality"
type: vless
server: your-server.com
port: 443
uuid: your-uuid-here
flow: xtls-rprx-vision
tls: true
servername: www.yahoo.com
reality-opts:
public-key: YOUR-PUBLIC-KEY
short-id: abcd1234
client-fingerprint: chrome
server: your-server.com
port: 443
password: your-password
sni: your-server.com
proxy-groups:
- name: "Proxy"
type: select
proxies:
- my-vless
- my-hysteria2
- DIRECT
rules:
- GEOIP,IR,DIRECT # Iran traffic goes direct
- GEOIP,CN,DIRECT # China traffic goes direct
- MATCH,Proxy # Everything else through proxy
Rule-Based Routing
Clash's power is rules. You can:
- Route Iran/China traffic directly (bypass proxy for local sites)
- Route specific apps through specific servers
- Block ads via rule sets
- Use different servers for different destinations
Part 7: Subscription URLs Explained
What Is a Subscription?
A subscription URL is a web link that returns a list of proxy configs, encoded in base64. Your client app fetches this list periodically and updates your servers automatically.
https://your-panel.com/sub/your-token
Your client fetches this → decodes base64 → gets a list of proxy URIs:
vless://uuid1@server1:443?...
vless://uuid2@server2:443?...
hysteria2://pass@server3:443?...
Why Use Subscriptions
- Auto-update: When the admin adds/removes servers, your client updates automatically
- Multiple servers: One URL gives you access to many servers
- Failover: If one server gets blocked, switch to another from the list
- Rotation: Client can auto-select the fastest server
Where to Get One
- 3X-UI Panel: Each user gets a subscription link in the panel
- Marzban Panel: Same — per-user subscription URLs
- Manual: You can host a simple text file with base64-encoded proxy URIs on any web server
Subscription Types
Different clients need different formats:
| Format | Clients |
|---|---|
| V2Ray Base64 | v2rayNG, v2rayN, Streisand |
| Clash YAML | Clash Meta, Clash Verge, FlClash |
| sing-box JSON | sing-box, Hiddify (auto-converts) |
| SIP008 | Shadowsocks clients |
Most modern panels (3X-UI, Marzban) generate all formats. Hiddify auto-converts between formats.
Part 8: Troubleshooting
When Your Config Stops Working
In censored countries, configs that worked yesterday can die overnight. Here's what to do:
- Switch protocol -- If VLESS+Reality stops working, try Hysteria2 or vice versa
- Change port -- Try 8443, 2083, 2087 instead of 443
- Update subscription -- Pull down to refresh in your client app (new servers may have been added)
- Try a different server -- If you have multiple servers in your subscription, switch
- Check cfray -- If using CDN, your clean Cloudflare IP may have gone dirty. Scan for new ones with cfray
- Enable fragment/mux -- In v2rayNG/v2rayN, go to Settings and enable Fragment (splits TLS handshake into smaller pieces to evade DPI)
Connection Won't Establish
1. Check server is running: SSH to server, run systemctl status xray (or hysteria-server)
2. Check port is open: use Port Scanner at /tools/port-scanner/
3. Check config matches: UUID, port, encryption must match server exactly
4. Check time: your device clock must be accurate (VMess requires <90 sec difference)
5. Try a different network: switch between WiFi and mobile data
Connected But No Internet
1. Check DNS: set remote DNS to 1.1.1.1 in client settings
2. Check routing: try "Global" mode instead of rule-based
3. Check server: SSH to server, run curl ifconfig.me to verify server has internet
4. Check firewall: server firewall may block outbound traffic
Slow Speed
1. Try a different server/protocol (Hysteria2 is fastest on bad networks)
2. Check server location (closer = faster)
3. Try different ports (some ISPs throttle 443)
4. For Hysteria2: set correct bandwidth in client config
5. For CDN: find clean Cloudflare IPs with cfray
| Problem | Fix |
|---|---|
| "Connection timeout" | Server down or port blocked. Check with Port Scanner |
| "TLS handshake failed" | Wrong SNI or domain. Check server config |
| "Authentication failed" | Wrong UUID/password. Copy from server panel again |
| "VMess: invalid user" | Clock mismatch. Sync device time |
| App crashes on connect | Update the app. Clear app data and re-import config |
| Works on WiFi not on mobile | Mobile carrier blocks differently. Try different port/protocol |
| DNS leak | Enable "Proxy DNS" or "Remote DNS" in client settings |
| Some sites don't work | Routing rules may be wrong. Try Global mode |
Test Your Connection
After connecting:
- What's My IP — should show server IP, not yours
- VPN Leak Test — check for IP, DNS, WebRTC leaks
- Speed Test — check speed through proxy
- DNS Toolbox — verify DNS is working
Related Guides
- 3X-UI Panel Setup — set up your proxy server
- Hysteria2 Setup — fastest censorship bypass
- paqctl Setup — Paqet + GFW-Knocker
- Clean Cloudflare IPs — find working CDN IPs
- SSH Tunneling with tunnelforge — SSH proxy
- Complete Proxy Guide — every protocol explained
- Bypass Internet Censorship — all methods compared
- Xray Routing Guide — server-side routing rules
- VPN Leak Guide — prevent leaks
- MTProto Proxy Setup — Telegram proxy
- sing-box Setup — universal proxy platform
Related Tools
- VPN Leak Test — verify proxy is working
- What's My IP — check your IP
- Port Scanner — verify server port is open
- Speed Test — test proxy speed
- DNS Toolbox — verify DNS