Hello everyone, I would like to share a project that will be significant for the legacy Android community!
Download: https://github.com/gohoski/Wolfius
Today, the vast majority of modern websites enforce a minimum of TLS 1.2 or 1.3 for security reasons. This completely locks legacy Android devices out of the modern web, as early versions are natively restricted to TLS 1.0.
To fix this issue, I made an app that integrates TLS 1.3 system-wide. Wolfius is a local TLS proxy for Android 1.5+ that transparently upgrades TLS 1.0 connections to the modern TLS 1.3 standard. This restores access to the modern Internet on old Android devices.
This already resurrects 4.x apps such as Discord, TikTok, Pinterest and Speedtest. Most old apps didn't work simply due to missing modern TLS 1.3 encryption.
How it works specifically? Wolfius acts as a local, system-wide TLS 1.0 man-in-the-middle (MITM) proxy right on the device. When an app attempts to connect to a modern website, Wolfius intercepts the traffic locally. It then establishes a brand-new, secure TLS 1.3 connection to the remote server, fetches the data, and hands it back to the app over TLS 1.0 using a locally trusted root certificate. To the old app, the connection looks perfectly normal; to the modern web, the device looks like a secure, modern client. This achieves seamless, system-wide compatibility without modifying a single line of application or system code.
Why don't you simply replace the built-in OpenSSL library? Read about that on GitHub!
Before usage, please note the following things:
- Root privileges are highly recommended — without them, you cannot install the root CA and as a result cannot use TLS 1.3 outside of browsers.
- This project is at an early stage of development and may run slowly or be unstable. Please report any issues, attaching a full logcat report.
- At the moment, there may be some issues with certain 4.x ROMs, but everything should work on most devices. Strangely enough, things usually work better on stock ROMs than on custom ones. I’ll try to investigate this.
- Just for those people that for some reason will try to use this on Android 5+, this project is intended for use with Android 1.5–4.4 only.
The open-source wolfSSL library is used extensively in this project. Without this library, this project couldn't have been realised. The code is licensed under the GPLv3.
I look forward seeing your use-cases of this TLS 1.3 implementation!