What Is Streisand?
Streisand is a free proxy client for iOS and macOS built on the sing-box core. It has been available on the App Store since 2023 and is designed for users who need to connect to custom proxy servers. Unlike commercial VPN apps that sell server access, Streisand is purely a client — you bring your own server subscription or configuration.
Key features include:
Rule-based proxy setup for precise traffic routing
Multi-protocol support: VLESS (Reality), VMess, Trojan, Shadowsocks, Socks, SSH, Hysteria (V2), TUIC, and WireGuard
No data collection — all configurations and activity logs stay on your device
Streisand requires iOS 14.0 or later and is compatible with iPhone, iPad, iPod touch, Mac (Apple Silicon), and Apple Vision. The app is completely free with no ads, tracking, or in-app purchases.
How to Download Streisand on iPhone/iPad
Step 1: Switch to a U.S. Apple ID
Streisand is available on the U.S. App Store. If you are using a China-region or other restricted Apple ID, the app will not appear in search results. You need to switch to a U.S. Apple ID in the App Store. Sign in only to the App Store, not to iCloud.
Step 2: Search and Install
Open the App Store, search for “Streisand,” and download the app. The developer is ARCADIA ODYSSEY INC. . The app is free to download.
Step 3: Launch and Grant VPN Permission
After installation, open Streisand. The first time you enable the proxy, iOS will prompt you to add a VPN configuration. Tap Allow and authenticate with your passcode, Touch ID, or Face ID.
How to Import a Subscription in Streisand
Streisand supports three major subscription formats: Clash YAML, sing-box JSON, and V2Ray base64.
Method 1: Import from Clipboard
Copy your subscription link from your provider’s user panel.
Open Streisand and tap the “+” button in the top-right corner.
Your configurations will load automatically.
Method 2: Import from URL
Paste your subscription URL.
Set a name and an auto-update interval.
Save the configuration.
Method 3: Scan QR Code
Tap the “+” button in Streisand.
Scan the QR code provided by your proxy service.
After importing, the subscription and its nodes will appear in the main list.
How to Test Nodes and Connect
Step 1: Test Latency
Long-press the imported subscription to open the context menu. Select Latency to calculate the delay for all configurations. You can also run TCP Ping or ICMP Ping for alternative test methods.
Step 2: Select a Node
Tap on a node from the list. Choose one with low latency and good connectivity. Streisand also supports automatic speed testing and node group selection.
Step 3: Enable the Proxy
Turn on the main switch at the top of the screen. If prompted, confirm the VPN configuration permission. The status indicator will show “Connected” when the tunnel is active.
How to Update Nodes and Subscriptions
To update your subscription:
Long-press the subscription line in the main screen.
Wait a few seconds for the server list to refresh.
You can also enable “Update On Open” in Settings → Subscription so Streisand automatically refreshes the subscription every time the app launches.
Tip: If you switch nodes frequently, note that Streisand disconnects the current tunnel each time you change nodes — you need to tap the switch again to reconnect.
DNS Settings in Streisand
Streisand supports custom DNS configurations with three encrypted DNS protocols:
| Protocol | Description |
|---|---|
| DoH | DNS over HTTPS — DNS queries are sent in web format |
| DoT | DNS over TLS — queries are sent over TCP |
| DoU | DNS over UDP — queries are sent over UDP |
To configure DNS, go to the main screen and enter the DNS settings. You can specify a custom DNS server (for example, 8.8.8.8 for DoH). After changing DNS settings, restart the tunnel for the changes to take effect.
Routing Rules and Split Tunneling
Streisand includes built-in routing rules based on geosite and geoip databases, allowing you to split traffic between direct and proxy connections.
Setting Up Routing
Go to Settings → Routing.
Enable routing rules.
Choose a preset rule set:
| Preset | Behavior |
|---|---|
| Default | Built-in China-IP direct connection; other traffic goes through the proxy |
| Global | All traffic goes through the proxy |
| Custom | Write your own sing-box JSON rules |
Adding Custom Rules
To add routing rules manually:
Navigate to Settings → Routing → Add Rule.
Add rules such as
GEOIP,RU,DIRECTandDOMAIN-SUFFIX,ru,DIRECTto route specific regional traffic directly.
You can also update geo-resource files by going to Settings → Routing → Geo Resources → Update. This helps when nodes fail to connect due to outdated geo databases.
Troubleshooting Common Streisand Issues
Nodes All Show Timeout
Subscription expired: Contact your proxy provider.
Network issue: Check your local internet connection.
App killed in background: Enable background app refresh for Streisand in iOS Settings → General → Background App Refresh.
Empty Node List After Import
Subscription URL invalid: Re-copy the link and re-import.
Unsupported format: Convert the subscription through Sub-Store before importing.
Streisand Not Appearing in App Store
Connection Button Disabled
Update geo-resources: Go to Settings → Routing → Geo Resources → Update.
Server stopped working: Long-press the subscription and select Update.
Too many subscriptions: Remove all but one and try again.
Fragment Activation for TLS
To bypass TLS-based blocking, you can enable fragment mode on TLS connections. Tap on the connection in Streisand and activate the Fragment option. Suggested parameters:
Packets:
tlshelloLength:
100-200Interval:
10-20
Depending on your ISP, you may need to adjust the packet type to tcp segment 1-3.
Streisand vs. Shadowrocket: Which Should You Choose?
| Feature | Streisand | Shadowrocket |
|---|---|---|
| Price | Free | $2.99 (one-time purchase) |
| Core | sing-box | Proprietary |
| Protocol Support | VLESS, VMess, Trojan, Shadowsocks, Hysteria2, TUIC, WireGuard | Full protocol support |
| Subscription Formats | Clash YAML, sing-box JSON, V2Ray base64 | V2Ray, Clash, and more |
| Best For | Users who want a free, simple client for multi-protocol subscriptions | Users who need advanced scripting and request modification |
Streisand is the best free alternative to Shadowrocket for iOS users who primarily need to import node subscriptions without complex scripting or request rewriting. If you need advanced features like URL rewriting and script automation, Shadowrocket remains the stronger choice.
Security and Privacy Notes
Streisand does not collect network activity data. All configurations and logs stay on your device.
Never publicly share your subscription link, node URLs, or server credentials.
If any sensitive credentials have been exposed, delete them and rotate passwords immediately.
Ensure you comply with local laws and regulations regarding proxy usage.