886d3ece18
Adds an opt-in Tor mode that routes all app traffic through a local SOCKS5 proxy backed by arti (Tor in Rust), bundled via the org.torproject:arti-mobile:1.7.0.1 AAR. - TorController starts/stops arti and installs a fail-closed WebView proxy override (no direct fallback) so traffic can't leak while Tor is connecting or down. Connectivity is verified against check.torproject.org (IsTor) and re-checked continuously; the exit IP is surfaced for verification, and the status isn't latched so a dropped circuit downgrades honestly. - TorPlugin bridges enable/disable/status to the Capacitor/JS layer. Toggling applies live, in place, with no app restart. - UI: a slim fail-closed status banner (replacing the old full-screen gate), the Tor toggle in Advanced settings reachable while logged out, and Settings/Search/About added to the logged-out menu. - R8 keep rules for org.torproject.arti.** so the JNI native-method classes aren't stripped/renamed; androidx.webkit on the compile classpath for the WebView proxy APIs.
33 lines
890 B
Groovy
33 lines
890 B
Groovy
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'com.android.tools.build:gradle:8.13.0'
|
|
classpath 'com.google.gms:google-services:4.4.4'
|
|
|
|
// NOTE: Do not place your application dependencies here; they belong
|
|
// in the individual module build.gradle files
|
|
}
|
|
}
|
|
|
|
apply from: "variables.gradle"
|
|
|
|
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
// Guardian Project's experimental Maven repo, hosting the prebuilt
|
|
// org.torproject:arti-mobile AAR (Tor in Rust) used for the optional Tor mode.
|
|
maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
|
|
}
|
|
}
|
|
|
|
task clean(type: Delete) {
|
|
delete rootProject.buildDir
|
|
}
|