I'm looking to create an iOS app that implements a standard Safari-like web browser which proxies all of its traffic through a proxy server. Specifically, it must use its own a proxy configuration so that only its traffic is directed through the proxy, as opposed to using iOS's system settings.
I have some flexibility with what kind of proxy is used. I'd prefer a Socks5 proxy, but an HTTP / HTTPS proxy is okay too. Either way, it must support authentication.
I'd strongly prefer to use SFSafariViewController
, as I'd like this web browser to be as close to the experience of using Safari as possible, but I understand that SFSafariViewController
is limited and that may not be possible. Failing that, I'd hope to use WKWebView
, but if that's not possible either, I can reluctantly fall back on UIWebView
.
How would one go about accomplishing this?
edit: I should add that I'm not planning on releasing this app on the app store, so I'm open to methods that normally wouldn't fly there, like undocumented APIs and swizzling. All else being equal though I'd prefer to not utilize methods like that.