If you ever wanted to use tor in a mobile app, up to now you always had to
install a tor-proxy alongside your mobile app.
Then you could use this tor-proxy to pass all your requests through.
Arti-rest
is a library that can be directly integrated into an Android
or iOS app if all you want to do is a simple REST request over the Tor network.
Arti-wrapper to use REST over Tor:
arti-ios arti-android
I I
arti-rest
I
arti
Arti-rest
provides a synchronous interface to send REST requests over tor,
and to receive the answers.
It also does the TLS handling of the connection.
The asynchronous part needs to be done by the Android and iOS library.
Even though we tried our best to produce good code, this should not be used in a mission critical piece of software without proper consideration of the following:
- arti itself mentions it's not ready for prime-time. In their README, they write you should probably not use Arti in production
- the current code implements caching of the tor-directory listing to avoid having to download some megabytes of node descriptors every so often. Again, given the right circumstances, this can be effective and secure enough. Under other circumstances this is something you don't want to do.
Because iOS XCFrameworks and libraries need to reside in a separate github repository, we decided to have both Android and iOS in a separate repository:
You can have a look at these repositories for further instructions how to use the library.
The Android test app is in the arti-android
repository.
For the iOS test app, see here:
arti-ios-test
- v0.1 - Simple GET request and reply using TLS - done
- v0.2 - Optimized setting up of the Tor circuit - first version done
- v0.3 - Add certificate configurations to the tor-cache directory
- v0.4 - Configure arti-rest to either use standard tor, or a pre-configured circuit
- v1.0 - Once arti is deemed stable enough, and other people have looked and used this code
./
is the rust library for the wrapper with arti./ios
holds scripts to create theXCFramework
used in thearti-ios
./tools
holds scripts to generate the files for the offline setup of the tor circuits
This library has a modified directory manager of arti that allows to use pre-downloaded circuits. The idea is to download these circuits once per week, or once per month, and then being able to setup new circuits with these pre-downloaded circuits. Of course this requires trusting the server who provide the circuits.
For more information, see Directory Cache Setup
This is licensed under MPL 2.0