NetCipher: Secured Networking

Better TLS and Tor App Integration

NetCipher is a library for Android that provides multiple means to improve network security in mobile applications. It provides best practices TLS settings using the standard Android HttpURLConnection methods, HttpURLConnection, OkHTTP3, Volley, and Apache HTTP Client, provides simple Tor integration, makes it easy to configure proxies for HTTP connections and WebView instances.

More specifically this library provides:

  • Hardening of TLS protocol support and cipher suites, especially on older
    versions of Android
  • Proxied Connection Support: HTTP and SOCKS proxy connection support for HTTP
    and HTTPS traffic through specific configuration
  • OrbotHelper: a utility class to support application integration with Orbot
    (Tor for Android). Check if its installed, automatically start it, etc.
  • Optional, custom certificate store based on the open Debian root CA trust
    store, which is built with Mozilla’s CA collection.

IT MUST BE NOTED, that you can use this library without using Orbot/Tor, but obviously we think using strong TLS/SSL connections over Tor is just about the best thing in the world.

This library was formerly named OnionKit

Getting Started

For examples and more info on using NetCipher, see the README and included sample projects. Many apps include NetCipher, so they can also serve as examples of NetCipher in action:

Sample Projects



The binary jar, source jar, and javadoc jar are all available on jcenter. To include them using gradle, add this line to your build.gradle:

implementation 'info.guardianproject.netcipher:netcipher:2.2.0-alpha'

Otherwise, the files can also be downloaded directly from jcenter, including the PGP signatures:

For working with popular HTTP libraries or android.webkit, use the specific NetCipher library that matches:

    implementation 'info.guardianproject.netcipher:netcipher-webkit:2.2.0-alpha
    implementation 'info.guardianproject.netcipher:netcipher-okhttp3:2.2.0-alpha
    implementation 'info.guardianproject.netcipher:netcipher-httpclient:2.2.0-alpha
    implementation 'info.guardianproject.netcipher:netcipher-volley:2.2.0-alpha
    implementation 'info.guardianproject.netcipher:netcipher-chboye:2.2.0-alpha

These files can also be downloaded directly from jcenter, including the PGP signatures: