utopic_tor_onion_proxy 0.2.3 utopic_tor_onion_proxy: ^0.2.3 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.1.5
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>
- 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}');
}