# Killpaper **Killpaper** is a Rust-based application for displaying EVE Online corporation kills and losses in real-time. It fetches killmails from zKillboard and EVE Online's ESI API, processes detailed kill information, and displays it on either a simulator or an e-paper display. --- ## Features * Fetches recent kills and losses for your corporation. * Aggregates detailed information about victims and attackers, including: * Character * Corporation * Alliance * Ship * Supports multiple display options: * Simulator (for testing and development) * PNG rendering (paper-png feature) * E-Paper display (hardware feature) * Real-time updates via Redis queue integration. * Easy to configure for any corporation. --- ## Requirements * Rust 1.70+ --- ## Installation Clone the repository: ```bash git clone https://git.revwal.de/oliver/killpaper.git cd killpaper ``` Build with Cargo: ```bash cargo build --release ``` --- ## Usage Run the application: ```bash cargo run --release ``` The display will be selected automatically based on compile-time features: * Simulator (default): `--features simulator` * Paper PNG rendering: `--features paper-png` * E-Paper hardware: `--features epaper` Example: ```bash cargo run --release --features epaper ``` --- ## Configuration * Set your corporation ID in `main.rs`: ```rust let mut app = app::App::new(YOUR_CORP_ID, display); ``` --- ## Crate Modules * `app`: Main application logic for fetching, storing, and drawing kills. * `display`: Display abstraction and implementations (simulator, e-paper). * `killinfo`: Detailed kill information structures and builders. * `model`: Data models for Characters, Corporations, Alliances, Ships, and Killmails. * `services`: API clients for ESI, zKillboard, and Redis queue. * `cache`: Optional caching utilities for faster repeated queries. * `epd`: Optional e-paper display support (feature `epaper`).