2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00
2026-01-15 09:39:49 +08:00

traudit (Traffic Audit)

English | 简体中文

traudit is a reverse proxy supporting TCP/UDP/Unix Sockets, focused on connection auditing with support for multiple databases.

Features

  • Multi-Protocol Support: TCP, UDP, Unix Domain Sockets.
  • Proxy Protocol: Support Proxy Protocol to record real IP.
  • Audit Logging: Store connection information in databases (ClickHouse, MySQL, PostgreSQL, SQLite).
  • Zero-Copy Forwarding: Uses splice on Linux for zero-copy forwarding.

What? You don't need a database? Then go use HAProxy.

Configuration

See config_example.yaml.

TODO List

  • Core Implementation
    • Configuration parsing (serde_yaml)
    • TCP/UDP/Unix Listener abstraction
    • Proxy Protocol parsing & handling
    • Zero-copy forwarding loop (splice)
  • Database Integration
    • Define Audit Log schema
    • Implement AuditLogger trait
    • ClickHouse adapter
    • SQLite/MySQL adapters
  • Testing
    • Unit tests for config & protocol
    • End-to-end forwarding tests
  • Documentation
    • Detailed configuration guide
    • Deployment guide
Description
A reverse proxy supporting TCP/UDP/Unix Sockets, focused on connection auditing with support for multiple databases.
Readme MIT 873 KiB
Languages
Rust 100%