https://github.com/guardianproject/tor-android
Tor binary and library for Android
https://github.com/guardianproject/tor-android
android anonymity firewall library onion-routing proxy security tor
Last synced: 11 days ago
JSON representation
Tor binary and library for Android
- Host: GitHub
- URL: https://github.com/guardianproject/tor-android
- Owner: guardianproject
- License: other
- Created: 2017-11-16T18:39:39.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-12-17T21:10:27.000Z (about 1 month ago)
- Last Synced: 2025-12-21T08:54:51.271Z (about 1 month ago)
- Topics: android, anonymity, firewall, library, onion-routing, proxy, security, tor
- Language: Java
- Homepage: https://torproject.org
- Size: 239 MB
- Stars: 259
- Watchers: 20
- Forks: 67
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
## Tor Android
This is native Android `TorService` built on the Tor shared library built for
Android. The included `libtor.so` binaries can also be used directly as a tor
daemon.
Currently, Tor Android is built with the following versions of `tor`, `libevent`, `openssl`, `zlib` and `zstd`:
| Component | Version |
|:--------- | --------:|
| tor | [0.4.8.21](https://forum.torproject.org/t/stable-release-0-4-8-21/) |
| libevent | [2.1.12](https://github.com/libevent/libevent/releases/tag/release-2.1.12-stable) |
| OpenSSL | [3.5.4](https://github.com/openssl/openssl/releases/tag/openssl-3.5.4) |
| zlib | [1.3.1](https://github.com/madler/zlib/releases/tag/v1.3.1) |
| zstd | [1.5.7](https://github.com/facebook/zstd/releases/tag/v1.5.7) |
Tor Android binaries are available on the [Guardian Project Maven Repo](https://github.com/guardianproject/gpmaven)
First add the repo to your top level `build.gradle` project:
```groovy
allprojects {
repositories {
// ...
maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
}
}
```
Then add the `tor-android` and `jtorctl` dependencies to your project:
```groovy
dependencies {
implementation 'info.guardianproject:tor-android:0.4.8.19'
implementation 'info.guardianproject:jtorctl:0.4.5.7'
}
```
Apps using tor-android need to declare the `INTERNET` permission in their Android Manifest file:
```xml
```
Tor protects your privacy on the internet by hiding the connection
between your Internet address and the services you use. We believe Tor
is reasonably secure, but please ensure you read the instructions and
configure it properly. Learn more at https://torproject.org/
## Minimum Requirements
In order to use tor-android you need to target Android **API 24** or higher.
It runs on the following hardware architectures:
- `arm64-v8a`
- `armeabi-v7a`
- `x86`
- `x86_64`
## Tor Frequently Asked Questions:
- https://2019.www.torproject.org/docs/faq
- https://support.torproject.org/faq/
## How to Build
Please see: https://raw.githubusercontent.com/guardianproject/tor-android/master/BUILD.md
This can be built reproducibly using the included Vagrant VM setup. That will
run with either `libvirt` or VirtualBox. The provisioning is based on the
"release" job in `.gitlab-ci.yml`.
## Publishing
Once you build the binaries, you can use gradle tasks to publish this in various ways, if you have the right credentials
Publish to your local Maven repository:
`./gradlew publishToMavenLocal`
Publish to Github packages:
`./gradlew publishReleasePublicationToGitHubPackagesRepository`
Publish to Gradle Central:
`./gradlew publishAggregationToCentralPortal`