arti/crates/arti
Jani Monoses b0bb7bd100 Do not use set_ prefix on derive_builder setters 2021-09-16 08:41:04 +03:00
..
src Do not use set_ prefix on derive_builder setters 2021-09-16 08:41:04 +03:00
Cargo.toml Make journald an optional feature. 2021-09-07 20:56:37 +03:00
README.md Move all crates into a `crates` subdirectory. 2021-08-27 09:53:09 -04:00

README.md

arti

A minimal client for connecting to the tor network

This crate is the primary command-line interface for Arti, a project to implement Tor in Rust. Many other crates in Arti depend on it.

⚠️WARNING: Arti is not yet a secure or complete Tor implementation! If you use it, you should expect that it will harm your privacy. For now, if you have actual privacy or security needs, please use the C implementation of Tor instead. ⚠️

More documentation will follow as this program improves. For now, just know that it can run as a simple SOCKS proxy over the Tor network. It will listen on port 9150 by default, but you can override this in the configuration.

Command-line arguments

(This is not stable; future versions will break this.)

-f <filename> overrides the location to search for a configuration file to the list of configuration file. You can use this multiple times: All files will be loaded and merged.

-c <key>=<value> sets a configuration option to be applied after all configuration files are loaded.

Configuration

By default, arti looks for its configuration files in a platform-dependent location. That's ~/.config/arti/arti.toml on Unix. (TODO document OSX and Windows.)

The configuration file is TOML. (We do not guarantee its stability.) For an example see arti_defaults.toml.

Compile-time features

tokio (default): Use the tokio runtime library as our backend.

async-std: Use the async-std runtime library as our backend. This feature has no effect unless building with --no-default-features to disable tokio.

static: Try to link a single static binary.

Limitations

There are many missing features. Among them: there's no onion service support yet. There's no anti-censorship support. You can't be a relay. There isn't any kind of proxy besides SOCKS. Resolve-over-SOCKS isn't implemented yet.

See the README file for a more complete list of missing features.

License: MIT OR Apache-2.0