Programs that respect your privacy

Privacy Browser 3.3

Privacy Browser 3.3 has been released. This release took a lot longer than I expected due to a sudden increase in the business of my day job combined with the time constraints of having another child.

There was a major reworking of the way Privacy Browser handles proxies. The underlying code was switched from using an undocumented and unsupported method of tricking WebView to use a proxy to the newly minted AndroidX ProxyController. Not only does this mean that, going forward, we won’t have problems with updates to WebView breaking the proxy, but this also enables the use of SOCKS proxies, which is the preferred way of connecting to Orbot. This removes the problem with HTTP not proxying correctly through recent versions of Orbot.

As part of this code refactoring, users can now set custom proxies. An entry for I2P was also added. I have written instructions on how to use the new custom proxy.

Choices are good.

In previous versions of Privacy Browser, the full name of the app was displayed in the launcher. Depending on the device and the font size, this could cause the displayed name to be truncated.

The launcher display name has now been shortened to one word. This only affects the launcher; the full name will be displayed in most other contexts.

Note that this is not a change I am fully comfortable with, and it might be further revised in the future. On devices where there is enough room for the full name, it is suboptimal to shorten it. There was some discussion about whether Privacy or Browser would be the better short name. And, when displayed in the app chooser, both names will be listed. This last problem can be worked around if intents from the launcher enter the app through a different activity than intents from other programs, but doing so would require refactoring the code and could introduce unintended consequences, so I am not sure I want to go that route.

In case there is any question about which option has the most privacy?

Privacy Browser is now removed from the recent apps list when it is closed via the back button. This brings the back button in line with Clear and Exit from the navigation menu and closing the app with the tab close button.

A bug was fixed that caused on-the-fly settings (the quick settings available in the options menu) to be reset if navigating history (using the forward or back buttons) even if the domain didn’t change. The intended behavior is for these setting to reset only when the domain changes.

Previous version of Privacy Browser had a preset list of font sizes. This has now been changed to a free-form text box that allows any size.

The better to see you with, my dear.

Privacy Browser can now save webpages as MHT archives. A navigation entry to open files has also been added. Privacy Browser can handle MHT files as well as images, text, and anything else that can be displayed in a browser.

There are now separate context menu entries for opening links in the foreground and the background.

Options are good.

Long pressing a link in the bookmarks drawer now opens it in a new tab in the background. This allows users to quickly open multiple bookmarks. Editing of bookmarks is available in the bookmarks activity.

The screen timeout is now explicitly disabled when playing videos in full screen mode. Previously, some videos, like those from YouTube would disable the screen timeout, while others wouldn’t.

HSTS (HTTP Strict Transport Security) is now disabled. The purpose of HSTS is to keep a list of websites that the browser should only connect to via HTTPS instead of HTTP. This has no benefit in Privacy Browser because every website is loaded via HTTPS unless the user explicitly connects via HTTP. And it has the negative downside of creating a de facto list of all the websites a user has visited in the past.

The new Sec-Fetch headers are now displayed in View Source.

Oh, Google. You’re looking a little pudgy. Time to lay off those headers.

The target API was bumped to 29 (Android 10). There is a new French translation provided by Kévin L. The German translation was updated by Bernhard G. Keller, the Italian translation was updated by Francesco Buratti, and the Spanish translation was updated by Jose A. León. The Russian translation was also updated. I am currently looking for a new Turkish translator.

The next release of Privacy Browser will focus on working well with Android 10’s new gestures and incorporating Android 10’s new dark theme options.

Last updated


4 responses to “Privacy Browser 3.3”

  1. Great work, thank you so much!

    Is it better to keep using VPN option in Orbot, or switch to using Privacy Browser new Tor Proxy option?

    Thanks again!

    • If you want to downloads to proxy through Tor, or if you are browsing webpages with JavaScript enabled and want to prevent WebRTC from disclosing your IP address, it is still better to use the VPN option.

  2. […] Privacy Browser 3.3 introduces the option to select a custom proxy in the format of scheme://host:port as described in the ProxyConfig.Builder documentation. There are two preconfigured options, one for Tor which uses socks://localhost:9050 and a second one for I2P which uses http://localhost:4444. […]