stem-rs 1.2.3

A complete Rust library for Tor control protocol — build privacy-focused applications with type-safe, async-first APIs
Documentation
# stem-rs v1.0.0

The first stable release of stem-rs — a complete Rust implementation of the Tor control protocol.

## Highlights

stem-rs brings the power of Python's Stem library to Rust with type-safe, async-first APIs for building privacy-focused applications.

## Features

### Control Protocol

- Full Tor control protocol implementation over TCP and Unix sockets
- Async I/O powered by Tokio
- Automatic reconnection handling

### Authentication

- All methods supported: SAFECOOKIE, COOKIE, PASSWORD, NONE
- Automatic method detection
- Secure credential handling with constant-time comparison

### Controller API

- Query configuration and status
- Send signals (NEWNYM, RELOAD, SHUTDOWN, etc.)
- Circuit management (create, extend, close)
- Stream management and attachment
- Ephemeral hidden service creation
- Address mapping for custom routing

### Descriptor Parsing

- Server descriptors
- Microdescriptors
- Consensus documents
- Extra-info descriptors
- Hidden service descriptors (v2 and v3)
- Bandwidth files
- Remote descriptor downloading

### Event Handling

- Real-time event subscription
- Strongly-typed event structs
- Bandwidth, circuit, stream, and log events
- Hidden service events

### Additional Modules

- Exit policy parsing and evaluation (IPv4/IPv6, CIDR, port ranges)
- Version parsing and comparison
- Interactive control interpreter
- Direct ORPort relay communication
- Validation utilities for fingerprints and nicknames

## Requirements

- Rust 1.70+
- Tokio runtime
- Tor instance with control port enabled

## License

MPL-2.0