https://github.com/acinq/tor-mobile-kmp
https://github.com/acinq/tor-mobile-kmp
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/acinq/tor-mobile-kmp
- Owner: ACINQ
- License: apache-2.0
- Created: 2021-01-28T15:47:32.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-12T17:16:28.000Z (about 1 year ago)
- Last Synced: 2024-11-14T21:17:52.347Z (5 months ago)
- Language: Kotlin
- Size: 149 KB
- Stars: 1
- Watchers: 7
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tor Mobile KMP
**A Kotlin Multiplatform library for Android & iOS to start, connect to, and control a Tor proxy.**
This library only targets Android & iOS, it cannot be used in desktop JVMs, nor can it be used on other Kotlin/Native targets.
- Uses Tor as a Library and starts in an application thread.
- Controls Tor through the Tor Control port (with cookie file authentication).
- Provides a Socks5 handshake implementation that's easy to plug in any network socket system (provides a simple usage for Ktor-Sockets).### Build
This library contains submodules that must be pulled. To do so, after cloning the repository, run:
```shell
git submodule update --init
```You then need to install `autoconf` `automake` `coreutils` `gettext` `libtool` `po4a` to build those native libraries.
```shell
brew install autoconf automake coreutils gettext libtool po4a
```:warning: **autoconf 2.69 required!**
Some libraries this project depends on do not support latest autoconf versions. You need to use autoconf 2.69.
```shell
brew install [email protected]
brew link --overwrite [email protected]
```You can then build the library proper:
```shell
./gradlew :native:buildLibs
./gradlew :build
# to install on your local maven repository
./gradlew publishToMavenLocal
```