tldr: A minimal, open-source web browser for iOS that tunnels web traffic through Tor.
- Product page — detailed description, screenshots, etc
- App Store link ($0.99)
- GitHub project — source tree & technical readme file
I’ve been interested in Tor for quite some time, mostly out of curiosity and a nerdy (though sometimes fleeting) interest in cyber security/encryption/code breaking. (I think a lot of geek-types can relate to the same sort of “hacker nostalgia”, probably rooted in literature and film.) I’ve found the mere idea of an underground “darknet/deep web” interesting, as well.
I’ve screwed around with iPhone and iPad development in the past and although I’ve brought a few projects to feature-completion (the most recent being over 18 months ago), I haven’t actually “completed” one myself, in the sense that said project ends up on the App Store by my own hand. (They’ve all been handed off to a client or mothballed for one reason or another.)
And there’s at least one existing Tor-enabled browser on the iOS App Store that I’ve looked at but have been unimpressed with — to the tune of crashes, lack of cookie support, issues with POST requests, etc.
So I thought I’d try my hand at building a Tor-integrating iOS app and — since the idea seemed novel enough (or at least, lacked documentation of how one would even begin such a task) — I figured I could document and open-source the project to give back to the community a little bit.
The more technical notes and references can be found in the repository README (with some more references in the LICENSE). As time allows I’ll perhaps write a blog post or so about techniques I used, quirks and things I discovered, etc. A list of security caveats is on the product page.
(An interesting technical thought for now: the dependency build scripts and the “TorWrapper/AppDelegate” bits which integrate and control the Tor client could be applied to other iOS apps to provide Tor-enabled access, for example an e-mail client for the Tor Mail POP3/IMAP/SMTP services (since they reside in a hidden service), iOS clients for hidden services of other protocols such as IRC, etc.)
I plan on selling Onion Browser for $0.99.
It’s primarily on sale (rather than free) because I’d like to somewhat recoup my iOS Developer Program subscription cost (and perhaps make a small amount) while still making the app accessible to people who are unable to afford their own Developer Program subscription to build/install their own device copies of this app (since the source code is free). (I renewed my own iOS Developer Program subscription after over a year hiatus of iOS development just for this app.) I think selecting the lowest price point is a fair trade between public accessibility and my own overhead cost.