Alighieri v0.1.0
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
CONNECTand UDPASSOCIATE, 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/socksrules with CIDR, port, command, protocol, and auth-method selectors across IPv4 and IPv6, plus named rules andincludesupport. - 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.byteratecaps. - Sustained high-rate UDP tuning — enlarged kernel socket buffers and resilience to transient
recv_fromerrors. - Optional TLS-wrapped listener (rustls 0.23,
ringprovider). - 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 ./alighieriFrom source (Rust 1.85+):
git clone https://github.com/wiresock/alighieri
cd alighieri
cargo build --releaseFirst steps
alighieri config wizard # generate a config via the loopback-only wizard
alighieri --version # 0.1.0See the README for configuration, deployment, and the management script, and the CHANGELOG for the full list.