mirror of
https://github.com/awfufu/traudit
synced 2026-03-01 05:29:44 +08:00
main
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
spliceon 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 Proxy & Zero-copy forwarding (
splice) - Proxy Protocol V1/V2 parsing
- UDP Forwarding (Planned)
- Unix Socket Forwarding
- Configuration parsing (
- Database Integration
- ClickHouse Adapter (Native Interface)
- Traffic Accounting (Bytes/Bandwidth)
- IPv6 Support
- SQLite/MySQL Adapters (Future)
- Documentation & Testing
- Basic End-to-end tests
- Comprehensive Unit Tests
- Deployment Guide
Languages
Rust
100%