Your proxy, as a VPN.
Brick proxy wraps every connection on your iPhone into a SOCKS5 or HTTP proxy that you supply. There are no Brick servers, and there never will be: the app is a client to someone else’s proxy.
Not on the App Store yet
Version 0.1.0 is finished and being prepared for submission. There is no waiting list and no signup form on this site.
If you want a message when it ships, write to support@br-ck.app with notify in the subject. The address sits in a mailbox until that mail goes out, and nowhere else.
How it works
iOS hands the app raw IP packets. A TCP/IP stack running inside the app turns them back into connections. Each connection is opened through your proxy — CONNECT for TCP, UDP ASSOCIATE for UDP. Nothing else happens in between.
Your proxy gets names, not addresses
By the time a packet arrives, the domain name is already gone: the app that sent it resolved the name itself and connected to an address. So Brick proxy answers DNS with a synthetic address from its own pool, recognises that address when the connection arrives, and hands your proxy the name.
Your proxy then resolves it and picks the address family. Whether it has IPv4 or IPv6 is a question it can answer better than we can.
Two cases stay outside this. Apps with their own DoH or DoT never ask our resolver, and apps that connect straight to an IP literal have no name to lose. Both go through as addresses.
What goes through
- TCP — always, through SOCKS5 or HTTP CONNECT.
- UDP — SOCKS5 only, and only if the proxy answers UDP ASSOCIATE. Many refuse. An HTTP proxy carries TCP only — UDP does not exist in that protocol.
- DNS — intercepted, and resolved by your proxy rather than by your phone.
What it does not do
No servers of ours. No account, no sign-up, nothing to delete. No proxies for sale. No analytics, no third-party SDKs, no crash reporter. No traffic inspection. No way to export the log — there is no such button.
No per-app routing either, and not because it was skipped: iOS hands the tunnel raw IP packets, and a packet does not say which app produced it.
What you need
An iPhone on iOS 17 or later, and a proxy you already have — socks5://user:pass@host:port or http://user:pass@host:port. Paste the whole string; the fields fill themselves.