utopic_tor_onion_proxy 0.4.0 utopic_tor_onion_proxy: ^0.4.0 copied to clipboard
Flutter Plugin for Android, based on Android binary that start Tor Onion Proxy on random local socket.
Tor Onion Proxy For Flutter (Android only) #
What is this? #
This is a Flutter Plugin for Android, based on code from Tor Onion Proxy Library and Tor Android.
Check out the example app included in this repo for reference on how to use this library with sockets.
Currently used Tor version #
This is built using tor 0.4.3.6
Preview #
How do I use this plugin? #
Preparation (for Android App Bundling) #
- Add
android.bundle.enableUncompressedNativeLibs=false
to yourandroid -> gradle.properties
file.
org.gradle.jvmargs=-Xmx1536M
...
android.bundle.enableUncompressedNativeLibs=false
- Add
android:extractNativeLibs="true"
to yourAndroidManifest.xml
.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="...">
...
<application
...
android:extractNativeLibs="true">
...
</application>
...
</manifest>
- Add shrink, zip aligned and minify settings into your
android/app/build.gradle
file.
android {
compileSdkVersion 29
defaultConfig {
...
minSdkVersion 16
targetSdkVersion 29
}
buildTypes {
...
release {
signingConfig signingConfigs.debug
shrinkResources false
zipAlignEnabled false
minifyEnabled false
...
}
}
}
- Use
--no-shrink
param in build appbundle command.
flutter build appbundle --no-shrink ...
1. add dependencies into you project pubspec.yaml file #
dependencies:
utopic_tor_onion_proxy: version_number
2. import lib #
import 'package:utopic_tor_onion_proxy/utopic_tor_onion_proxy.dart';
3. start Tor Onion Proxy #
try {
port = await UtopicTorOnionProxy.startTor();
} on PlatformException catch (e) {
print('Failed to get port. Message: ${e.message}');
}
4. check is Tor OP running #
try {
await UtopicTorOnionProxy.isTorRunning();
} on PlatformException catch (e) {
print('Failed to get is tor running. Message: ${e.message}');
}
5. stop Tor Onion Proxy when done #
try {
await UtopicTorOnionProxy.stopTor();
} on PlatformException catch (e) {
print('Failed to stop tor. Message: ${e.message}');
}