753cbc9626
This patch makes the rust-nightly CI task fail if it detects any dbg!(), println!(), or eprintln!() calls in production code. Because of clippy limitations, it may also gripe about calls to these macros in our tests. The preferred workarounds are to either instead. Both are acceptable. We're doing this check in CI rather than unconditionally with clippy directives, since we often want to have these calls in our code temporarily while we're developing. Some day we might want this test to go into a pre-push hook. This patch also adds #![allow()] directives for println!() and eprintln!() in the arti crate. Since that one isn't a library, it's okay for it to speak to stdout/stderr. Closes #218. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
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.
Note that Arti is a work in progress; although we've tried to write all the critical security components, you probably shouldn't use Arti in production until it's a bit more mature.
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 interface
(This is not stable; future versions will break this.)
arti
uses the clap
crate for command-line
argument parsing; run arti help
to get it to print its documentation.
The only currently implemented subcommand is arti proxy
; try
arti help proxy
for a list of options you can pass to it.
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.
See the README file for a more complete list of missing features.
License: MIT OR Apache-2.0