Skip to content

Alighieri v0.1.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 13:41
· 135 commits to main since this release
0a4d432

Alighieri is a lightweight, secure, asynchronous SOCKS5 proxy server with Dante-inspired configuration. This is the first public release.

Dual-licensed under AGPL-3.0-or-later, with a commercial license available for proprietary use — see LICENSING.md.

Features

  • SOCKS5 (RFC 1928) — TCP CONNECT and UDP ASSOCIATE, including IPv4-mapped clients on dual-stack [::] listeners, with username/password authentication (RFC 1929) backed by Argon2id userlist hashes and a verified credential cache.
  • Dante-inspired access control — deny-by-default client / socks rules with CIDR, port, command, protocol, and auth-method selectors across IPv4 and IPv6, plus named rules and include support.
  • DNS policy — address-family preference, all-address TCP fallback, post-resolution deny categories, and optional answer caching with request coalescing.
  • Observability — an optional Prometheus-style metrics endpoint, and structured text/JSON logging with size-based rotation and a non-blocking background writer.
  • Per-client abuse controls — connection-rate, auth-failure-rate, concurrent-connection, and ratelimit.byterate caps.
  • Sustained high-rate UDP tuning — enlarged kernel socket buffers and resilience to transient recv_from errors.
  • Optional TLS-wrapped listener (rustls 0.23, ring provider).
  • Hot reload of policy, DNS, auth, userlist, and timeout settings via SIGHUP (Unix) and the Service Control Manager (Windows).
  • Windows Service integration with Windows Event Log reporting.
  • Linux systemd lifecycle manager (scripts/alighieri.sh) — install, upgrade, uninstall, and status, with a self-bootstrapping standalone mode.
  • Configuration wizard — a short-lived, loopback-only web wizard that generates a new config or imports and edits an existing one (logs to stdout by default).
  • Tooling — userlist management (user add / delete / list / verify), config validation (--check, --check --json), reload metadata (config metadata --json), and --version / -V.

Install

Prebuilt binaries — download and extract the archive for your platform from the Assets below (each bundles the binary with README, LICENSE, and CHANGELOG):

Platform Asset
Linux x86-64 alighieri-v0.1.0-x86_64-unknown-linux-gnu.tar.gz
Windows x86-64 alighieri-v0.1.0-x86_64-pc-windows-msvc.zip

Linux (systemd service) — install and manage with the bundled script:

curl -O https://raw.githubusercontent.com/wiresock/alighieri/v0.1.0/scripts/alighieri.sh
chmod +x alighieri.sh
sudo ./alighieri.sh                                # build from source and install the service
# …or install a prebuilt binary from the Assets above:
sudo ./alighieri.sh install --binary ./alighieri

From source (Rust 1.85+):

git clone https://github.com/wiresock/alighieri
cd alighieri
cargo build --release

First steps

alighieri config wizard      # generate a config via the loopback-only wizard
alighieri --version          # 0.1.0

See the README for configuration, deployment, and the management script, and the CHANGELOG for the full list.