tor

foundation-Devices/tor is a multi-platform Flutter plugin for managing a Tor proxy. Based on arti.

Getting started

Install rust

Use rustup, not homebrew.

Install cargo ndk

cargo install cargo-ndk

Cargokit

Cargokit builds and bundles the native Rust library (in rust/) for each platform, just flutter run it or run it in Android Studio or VS Code (untested).

To update Cargokit in the future, use:

git subtree pull --prefix cargokit https://github.com/irondash/cargokit.git main --squash

Development

The Dart bindings in lib/src/rust are generated from the Rust API in rust/ by flutter_rust_bridge.

Install the codegen tool once, matching the flutter_rust_bridge version in pubspec.yaml:

cargo install flutter_rust_bridge_codegen --version 2.11.1

Then, after changing the Rust API, regenerate the bindings with:

flutter_rust_bridge_codegen generate

Example app

flutter run in example to run the example app

See example/lib/main.dart for usage.

Libraries

socks_socket
tor
util