Skip to content
Snippets Groups Projects
README.md 1.28 KiB
Newer Older
akwizgran's avatar
akwizgran committed
## Onion Wrapper

akwizgran's avatar
akwizgran committed
A Java library providing a wrapper for running a Tor client on Android, Linux, macOS and Windows. The
akwizgran's avatar
akwizgran committed
wrapper can be used for running hidden services.

The library supports the `obfs4`, `meek_lite` and `snowflake` pluggable transports.

Binaries for Tor and pluggable transports are not included. They can be found in the following
Maven artifacts: `org.briarproject:{tor,lyrebird}-{android,linux,macos,windows}`. The
`lyrebird` artifact provides the `obfs4`, `meek_lite` and `snowflake` transports.
akwizgran's avatar
akwizgran committed

The macOS binaries are not signed, so you will need to sign them when packaging your app.

akwizgran's avatar
akwizgran committed
If your Android app is uploaded to Google Play as an app bundle (AAB), you must include the following in
 `build.gradle` to ensure that the Tor and pluggable transport binaries are extracted during
 installation:

```
android {
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}
```

akwizgran's avatar
akwizgran committed
On Android, the library uses
[dont-kill-me-lib](https://code.briarproject.org/briar/dont-kill-me-lib) to hold a wake lock
whenever Tor's network connection is enabled. The helper classes in `dont-kill-me-lib` can be used
to work around certain manufacturer-specific power management restrictions that would prevent Tor
from running in the background for long periods.