
Dùng iPhone mà cần route traffic qua proxy IPv4 dedicated US hoặc VN cho từng app cụ thể (Telegram qua US, banking app đi direct, browser qua VN proxy), Shadowrocket là tool duy nhất trên iOS làm được surgical proxy routing kiểu này. VPN client thường route hết all-or-nothing. Bài này hướng dẫn cài Shadowrocket 2.2.85 (phiên bản 5/2026), thêm proxy IPv4 dedicated TND theo cả HTTP và SOCKS5, viết routing rule cho từng app, test latency thực tế từ Việt Nam.
Mục lục
- Shadowrocket là gì, khác Surge và Quantumult X chỗ nào
- Cài Shadowrocket cho iPhone, iPad (US App Store)
- Thêm proxy IPv4 dedicated TND theo HTTP/HTTPS
- Thêm proxy SOCKS5 (ưu tiên cho user)
- Routing rule: per-app, per-domain, GeoIP, CIDR
- Test latency US - VN từ iPhone
- Use case thực tế: nuôi acc iOS, test geo-restricted app, dev test
- Troubleshoot: connect fail, TLS handshake, IP leak check
1. Shadowrocket là gì, khác Surge và Quantumult X chỗ nào
Shadowrocket là rule-based proxy utility client cho iPhone, iPad, Apple TV, Mac và Apple Vision do Shadow Launch Technology Limited phát triển. Khác biệt cơ bản với một VPN client thông thường: VPN gắn 1 tunnel cho toàn bộ device, Shadowrocket cho phép viết policy theo domain, IP range, GeoIP, app process, qua đó định tuyến từng phần traffic qua proxy khác nhau hoặc đi direct.
| Tool | Giá | Mode chính | Protocol hỗ trợ | Đối tượng |
|---|---|---|---|---|
| Shadowrocket | $2.99 one-time | Rule-based routing | HTTP, HTTPS, SOCKS5, Shadowsocks, V2Ray (VMess, VLESS), Trojan, WireGuard, Hysteria, Mieru, TrustTunnel | Mass market, dễ dùng nhất, giá thấp nhất |
| Surge 5 | ~$49.99 (Mac+iOS bundle) | Rule-based + scripting | HTTP, SOCKS5, Shadowsocks, Trojan, WireGuard | Power user, dev, automation script |
| Quantumult X | $7.99 | Rule-based + remote resource | HTTP, SOCKS5, Shadowsocks, V2Ray, Trojan | User trung cấp, remote rule URL |
| Loon | $6.99 | Rule + plugin ecosystem | HTTP, SOCKS5, Shadowsocks, Trojan, WireGuard | User trung cấp, prefer plugin |
Với mục tiêu route HTTP/SOCKS5 IPv4 dedicated từ TND vào iPhone, Shadowrocket là lựa chọn cost-effective nhất. Bài này tập trung vào Shadowrocket vì giá rẻ và UX bạn-mở-app-thêm-server-bật là chạy.
2. Cài Shadowrocket cho iPhone, iPad (US App Store)
Đây là rào cản đầu tiên cho user Việt Nam: Shadowrocket không có trên App Store Việt Nam. Phải cài bằng Apple ID khu vực US, UK, JP hoặc khu vực khác có app này.
Bước 1: Tạo hoặc đăng nhập Apple ID US
Cách hợp pháp nhất: tạo Apple ID mới với khu vực United States, dùng địa chỉ thật (có thể là địa chỉ shipping của bạn bè ở Mỹ, hoặc dịch vụ địa chỉ ảo như iPostal1, AnyTimeMailbox). KHÔNG cần nhập thẻ tín dụng nếu chọn payment method là "None" lúc tạo. Tham khảo hướng dẫn chính thức Apple tại support.apple.com/en-us/108368.
Bước 2: Đăng xuất App Store Việt Nam, đăng nhập Apple ID US
Vào Settings > [Tên bạn] > Media & Purchases > Sign Out, sau đó sign in lại bằng Apple ID US. iCloud, iMessage có thể giữ Apple ID Việt Nam, chỉ App Store cần đổi.
Bước 3: Tìm Shadowrocket và mua
Mở App Store, search "Shadowrocket". Giá hiện tại là $2.99 USD (one-time purchase, không subscription). Cần phương thức thanh toán US hoặc gift card US App Store (mua trên Amazon/eBay/StockX) để pay.
Bước 4: Cấp quyền VPN cho Shadowrocket
Mở Shadowrocket lần đầu, app sẽ yêu cầu cấp quyền "Add VPN Configurations". Bấm Allow, nhập Touch ID/Face ID để xác nhận. Đây là cơ chế iOS bắt buộc để app có thể intercept traffic.
3. Thêm proxy IPv4 dedicated TND theo HTTP/HTTPS
Sau khi mua proxy IPv4 dedicated tại TND, bạn nhận được 4 thông số:
IP: 103.xxx.xxx.xxx (hoặc IP US tương tự) Port: 8000 (hoặc port TND cung cấp) Username: tnd_xxxxxxxx (whitelist mode không cần) Password: yyyyyyyy (whitelist mode không cần)
Bước 3.1: Add HTTP proxy server vào Shadowrocket
- Mở Shadowrocket, tab Home (icon nhà ở góc dưới trái)
- Bấm dấu + góc trên phải để add server
- Chọn Type: HTTP (hoặc HTTPS nếu TND có cấp endpoint HTTPS)
- Điền field:
- Host: IP TND cấp (vd: 103.xxx.xxx.xxx)
- Port: port TND cấp (vd: 8000)
- User: username TND
- Password: password TND
- Remarks: đặt tên dễ nhớ, vd: TND-US-HTTP
- Bấm Save góc trên phải
Bước 3.2: Kích hoạt proxy
Quay lại tab Home, tap chọn server vừa thêm (icon checkmark xuất hiện), gạt toggle ở trên cùng sang ON. iOS sẽ confirm VPN configuration lần đầu. Sau đó icon VPN xuất hiện trên status bar.
Bước 3.3: Verify proxy đã hoạt động
Mở Safari, vào whatismyipaddress.com hoặc ipinfo.io. Nếu IP hiển thị là IP TND cấp (không phải IP nhà mạng VN của bạn), proxy đã hoạt động.
4. Thêm proxy SOCKS5 (ưu tiên cho user)
TND khuyến nghị user sử dụng SOCKS5 thay vì HTTP nếu app/use case của bạn hỗ trợ. Lý do: SOCKS5 là protocol Layer 5 (Session), không can thiệp vào nội dung packet HTTP/HTTPS, hỗ trợ cả TCP lẫn UDP (HTTP proxy chỉ TCP), latency thấp hơn vì không phải parse HTTP header. Bài SOCKS5 vs HTTP vs HTTPS proxy khác nhau thế nào giải thích chi tiết.
Cách add gần giống HTTP, chỉ khác Type:
- Tab Home > + > chọn Type: SOCKS5
- Điền Host, Port, User, Password TND cấp cho endpoint SOCKS5 (port thường khác HTTP, vd 1080)
- Save, kích hoạt, verify IP
5. Routing rule: per-app, per-domain, GeoIP, CIDR
Đây là superpower của Shadowrocket. Thay vì route hết all-or-nothing, bạn viết policy chi tiết.
Khái niệm Rule Set
[ TRAFFIC FROM iPhone APP ]
|
v
┌─────────────────┐
│ Rule Evaluation │ ← match theo thứ tự trên xuống
└─────────────────┘
|
┌────────┼────────┐
v v v
[PROXY] [DIRECT] [REJECT]
| | |
v v v
TND IPv4 ISP VN block
|
v
Internet
Cú pháp rule
Vào tab Config > chọn default.conf hoặc tạo config mới, scroll tới phần [Rule]. Format:
; Match domain suffix, route qua proxy TND DOMAIN-SUFFIX,etsy.com,PROXY DOMAIN-SUFFIX,paypal.com,PROXY DOMAIN-SUFFIX,amazon.com,PROXY ; Banking VN đi direct, không qua proxy DOMAIN-SUFFIX,vietcombank.com.vn,DIRECT DOMAIN-SUFFIX,techcombank.com.vn,DIRECT DOMAIN-SUFFIX,vpbank.com.vn,DIRECT ; Block ad/tracker DOMAIN-SUFFIX,doubleclick.net,REJECT DOMAIN-KEYWORD,googleadservices,REJECT ; GeoIP rule: tất cả IP thuộc US sẽ qua proxy GEOIP,US,PROXY ; CIDR range IP-CIDR,103.139.42.0/24,DIRECT ; Final fallback - traffic không match rule nào FINAL,DIRECT
Per-app routing (iOS 15+)
Tab Home > gạt toggle App Routing. Shadowrocket sẽ liệt kê tất cả app cài đặt, mỗi app gắn 1 trong 3 action: PROXY / DIRECT / REJECT. Vd: Telegram > PROXY (route qua TND), Vietcombank app > DIRECT (đi straight), Game online > DIRECT (giảm latency).
| Rule Type | Match theo | Use case |
|---|---|---|
DOMAIN |
Domain chính xác | example.com (không match sub) |
DOMAIN-SUFFIX |
Domain + tất cả sub | etsy.com, *.etsy.com |
DOMAIN-KEYWORD |
Substring trong domain | "google" match google.com, googleads.com |
IP-CIDR |
IP range IPv4 | 103.139.42.0/24 |
IP-CIDR6 |
IP range IPv6 | 2001:db8::/32 |
GEOIP |
Quốc gia của IP đích | GEOIP,US,PROXY |
USER-AGENT |
User-Agent string | Telegram*,PROXY |
PROCESS-NAME |
App process (macOS only) | com.apple.Safari,DIRECT |
FINAL |
Default cuối cùng | FINAL,DIRECT |
6. Test latency US - VN từ iPhone
Sau khi setup proxy, đo latency thực tế từ iPhone của bạn (Vietnam) đến endpoint TND IPv4 (US hoặc VN).
Cách 1: Built-in latency test của Shadowrocket
Tab Home, nhấn giữ vào server > chọn Test Latency. Shadowrocket sẽ TCP ping endpoint và hiển thị ms.
Cách 2: Curl từ iSH Shell (terminal Alpine Linux trên iOS)
Cài iSH Shell từ App Store (free), trong terminal:
apk add curl
# Test direct (không qua proxy):
curl -o /dev/null -s -w 'Connect: %{time_connect}s | Total: %{time_total}s\n' https://www.google.com
# Test qua proxy TND HTTP:
curl -x http://username:[email protected]:8000 \
-o /dev/null -s -w 'Connect: %{time_connect}s | Total: %{time_total}s\n' \
https://www.google.com
# Test qua SOCKS5:
curl -x socks5h://username:[email protected]:1080 \
-o /dev/null -s -w 'Connect: %{time_connect}s | Total: %{time_total}s\n' \
https://www.google.com
Latency benchmark thực tế
| Tuyến | Latency trung bình | Ghi chú |
|---|---|---|
| iPhone VN → TND VN proxy | 5 - 15 ms | Same country, ISP backbone |
| iPhone VN → TND US West proxy | 180 - 220 ms | Trans-Pacific cable |
| iPhone VN → TND US East proxy | 250 - 290 ms | Xa hơn US West |
| iPhone VN → direct (no proxy) | 2 - 8 ms (local), 200+ ms (US site) | Phụ thuộc đích |
Số đo trên là tham khảo Q2/2026 trên mạng FPT/Viettel/VNPT consumer. Khi qua TND IPv4 dedicated, latency US không tệ hơn direct nhiều vì TND có peering tốt với Trans-Pacific carrier.
7. Use case thực tế: nuôi acc iOS, test geo-restricted app, dev test
Use case 1: Quản lý tài khoản kinh doanh chính chủ trên iPhone
Bạn là chủ doanh nghiệp e-commerce có cửa hàng trên Etsy, Amazon seller, eBay với pháp nhân và pháp lý US. Khi login từ iPhone đang ở VN, các nền tảng này có thể flag "suspicious login from new region". Dùng TND IPv4 dedicated US route riêng từng app (Etsy app, Amazon Seller app) qua proxy, các app khác đi direct.
Workflow: setup app routing trong Shadowrocket - chỉ 3 app (Etsy, Amazon Seller, PayPal) qua PROXY US, còn lại DIRECT. Login mỗi shop từ 1 IP duy nhất, lâu dài. Tham khảo bài Proxy nuôi tài khoản Etsy Amazon PayPal isolation per IP 2026.
Use case 2: Test geo-restricted app từ VN
Dev mobile cần test app chỉ active ở US (vd: Chase Banking, Robinhood, US-only streaming). Route từ iPhone qua TND IPv4 US, app nhận diện iPhone đang ở US, cho phép active.
Use case 3: Truy cập tài nguyên đa quốc gia hợp lệ
Đọc paper academic, download dataset, truy cập API regional (vd: OpenAI API có giới hạn region cho 1 số feature) - route browser hoặc dev tool qua TND IPv4 US.
Use case 4: Quản lý nhiều BM Facebook Ads (chính chủ doanh nghiệp)
Agency Facebook Ads quản 10+ BM cho 10 client doanh nghiệp, mỗi BM bind 1 IP. Khi login từ iPhone (admin di chuyển nhiều), Shadowrocket route Facebook app qua TND IPv4 cụ thể của BM đó. Chi tiết tại bài Proxy cho Facebook Ads agency nuôi BM 2026.
8. Troubleshoot: connect fail, TLS handshake, IP leak check
Lỗi: "Server is unreachable"
| Nguyên nhân | Fix |
|---|---|
| Sai IP/port | Verify lại trong dashboard TND, đối chiếu |
| Firewall ISP block | Test qua 4G cellular, nếu OK là Wi-Fi nhà block, đổi DNS hoặc ISP |
| Whitelist mode chưa thêm IP iPhone | Dashboard TND > thêm IP public của iPhone (lấy từ ipinfo.io) |
| Proxy server overload | Liên hệ TND support |
Lỗi: "TLS handshake failed" hoặc "Certificate invalid"
Một số trang HTTPS qua HTTP proxy có thể hỗ trợ Map Local hoặc URL Rewrite của Shadowrocket gây xung đột TLS. Kiểm tra:
- Tab Config > Map Local: tắt hết entry không cần
- Tab Config > URL Rewrite: tắt rule rewrite không cần
- Trong server config: nếu tự bật Force TLS với endpoint không hỗ trợ, tắt đi
IP leak check (DNS leak, WebRTC leak)
Sau khi setup proxy, vào các site sau để verify:
- ipleak.net - check IP, DNS leak, WebRTC leak
- browserleaks.com/ip - chi tiết hơn
- dnsleaktest.com - DNS server đang resolve
Nếu IP hiển thị là IP TND nhưng DNS vẫn dùng DNS Việt Nam, bật DNS Override trong Shadowrocket: Config > chọn config > [DNS] set 1.1.1.1 hoặc 8.8.8.8.
Battery drain trên iPhone
Shadowrocket khi active liên tục có thể tăng pin drain 10-15%/ngày so với không bật. Mẹo giảm:
- Tắt Always Connect trong Settings của Shadowrocket
- Dùng per-app routing thay vì global PROXY mode
- Tắt unused rule set
- Update lên iOS bản mới nhất (Apple optimize VPN API liên tục)
Tổng kết
Shadowrocket 2.2.85 là lựa chọn proxy client iOS cost-effective nhất (one-time $2.99) với rule engine mạnh tương đương Surge $49.99. Kết hợp với IPv4 dedicated TND, bạn có một setup mobile rock-solid cho việc quản lý nhiều account chính chủ, test geo-restricted hợp lệ, hoặc privacy isolation. Bài tiếp theo trong series sẽ là FoxyProxy cho Chrome và Firefox nếu bạn muốn áp dụng cùng concept lên desktop.
Tham khảo thêm:
- Proxifier hướng dẫn Windows Mac route từng app - desktop counterpart của Shadowrocket
- Proxy IPv4 Dedicated vs Shared Residential Datacenter - chọn loại proxy nào
- SOCKS5 vs HTTP vs HTTPS proxy - hiểu protocol để chọn type
- GoLogin 2026 mobile profile cloud - nếu cần kết hợp antidetect browser
Mua Proxy IPv4 Dedicated US + VN tại TND
Flat 95.000 VNĐ/IP/tháng. Fresh IP dedicated cho 1 user duy nhất, không shared. Hỗ trợ cả HTTP và SOCKS5. Whitelist mode hoặc User/Pass auth. Setup chỉ 60 giây sau thanh toán. Support tiếng Việt 24/7.
Tham gia nhóm Vibe Coder Việt Nam
Bạn đang code cùng Claude, Codex, Gemini, Cursor hay Windsurf? Vào nhóm Facebook để trao đổi tip, debug giúp nhau, chia sẻ workflow vibe coding, và update tool mới mỗi tuần. Cộng đồng dev tự host stack đang grow nhanh tại Việt Nam.


