All checks were successful
Rust CI / build-test (push) Successful in 1m22s
- Implemented `/api/stats` endpoint to return JSON metrics including active assets, total uploads, storage usage, and recent activity. - Created `stats.html` page to display real-time statistics with auto-refresh functionality. - Enhanced asset logging to include uploader IP and detailed event information for uploads and deletions. - Updated asset model to store uploader IP for audit purposes. - Improved logging functionality to ensure log directory exists before writing. - Refactored asset creation and management to support new features and logging.
1.6 KiB
1.6 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.1.0] - 2026-01-09
Added
- Statistics Dashboard (
/stats.html) with real-time metrics:- Active assets count
- Total uploads and deletions
- Storage usage
- Image vs text breakdown
- Average server response time
- Total request count
- Recent activity feed (last 20 events)
- Auto-refresh every 30 seconds
- Statistics API (
GET /api/stats) returning JSON metrics - Enhanced logging for asset events:
- Upload events with uploader IP, MIME type, size, duration, timestamps
- Delete events with full asset metadata
- Request timing (
dur_ms) in access logs
- Uploader IP tracking stored with each asset for audit purposes
- Stats link in index page footer
- Ephemeral image and text sharing with configurable TTL (1-60 minutes)
- Drag/drop, paste, and file picker upload support
- Base64 encoding for images, raw text for plain text
- UUID-based asset storage as JSON files
- Background cleanup task (every 60 seconds)
- Dark theme UI with zoom overlay
- View page for shared content
- Access logging with timing, IPs, and user agent
- Docker and docker-compose support with Traefik labels
- Environment variables for bind address and port
- Access logging with timing, IPs, and user agent
- Docker and docker-compose support with Traefik labels
- Environment variables for bind address and port