diff --git a/README.md b/README.md new file mode 100644 index 000000000..064793eee --- /dev/null +++ b/README.md @@ -0,0 +1,644 @@ +
+
+
+ Self-hosted print archive and management system for Bambu Lab 3D printers +
+ + + ++ Features • + Screenshots • + Quick Start • + Documentation • + Discord • + Contributing +
+ +--- + +## 🌐 NEW: Remote Printing with Proxy Mode + +
+
+
| + +### 📦 Print Archive +- Automatic 3MF archiving with metadata +- 3D model preview (Three.js) +- Duplicate detection & full-text search +- Photo attachments & failure analysis +- Timelapse editor (trim, speed, music) with automatic AVI-to-MP4 conversion for P1-series printers, manual upload & remove +- Re-print to any connected printer with AMS mapping (auto-match or manual slot selection, multi-plate support, nozzle-aware matching for dual-nozzle H2D/H2D Pro) +- Plate thumbnail browsing for multi-plate archives (hover to navigate between plates) +- Archive comparison (side-by-side diff) +- Tag management (rename/delete across all archives) +- **Print Log** — Chronological table view of all print activity with columns for date/time, print name, printer, user, status, duration, and filament. Filterable by search, printer, user, status, and date range. Pagination with configurable page size. Clear button removes log entries without affecting archives. + +### 📊 Monitoring & Control +- Real-time printer status via WebSocket +- Live camera streaming (MJPEG) & snapshots with multi-viewer support +- **Streaming overlay for OBS** - Embeddable page with camera + status for live streaming (`/overlay/:printerId`), configurable FPS (`?fps=30`), status-only mode (`?camera=false`) +- External camera support (MJPEG, RTSP, HTTP snapshot, USB/V4L2) with layer-based timelapse +- **Build plate empty detection** - Auto-pause print if objects detected on plate (multi-reference calibration, ROI adjustment) +- Fan status monitoring (part cooling, auxiliary, chamber) +- Printer control (stop, pause, resume, chamber light) +- Resizable printer cards (S/M/L/XL) +- Skip objects during print +- AMS slot RFID re-read +- AMS slot configuration (model-filtered presets, K profiles, color picker, pre-population for configured slots) +- AMS info card (hover for serial number, firmware version) with custom friendly names that persist across printers +- Dual external spool support for H2D (Ext-L / Ext-R) +- HMS error monitoring with history and clear errors +- Print success rates & trends +- Filament usage tracking +- Cost analytics & failure analysis +- CSV/Excel export + +### ⏰ Scheduling & Automation +- **Background print dispatch** — FTP uploads and print-start commands run in the background with real-time WebSocket progress toasts (per-job upload bars, status badges, cancel button) +- Print queue with drag-and-drop +- Multi-printer selection (send to multiple printers at once) +- Model-based queue assignment (send to "any X1C" for load balancing) with location filtering +- Filament override for model-based queue (swap filament colors/types before scheduling) +- Filament validation (only assign to printers with required filaments) +- Per-printer AMS mapping (individual slot configuration for print farms) +- Scheduled prints (date/time) +- Queue Only mode (stage without auto-start) +- Clear plate confirmation between queued prints +- Smart plug integration (Tasmota, Home Assistant, MQTT) +- MQTT smart plugs: Subscribe to Zigbee2MQTT, Shelly, or any MQTT topic for energy monitoring +- Energy consumption tracking (per-print kWh and cost) +- HA energy sensor support (for plugs with separate power/energy sensors) +- Auto power-on before print +- Auto power-off after cooldown + +### 📁 File Manager (Library) +- Upload and organize sliced files (3MF, gcode, STL) +- **STL thumbnail generation** - Auto-generate previews for STL files on upload or batch generate for existing files +- ZIP file extraction with folder structure preservation +- Option to create folder from ZIP filename +- Folder structure with drag-and-drop +- Rename files and folders via context menu +- Print directly to any printer with full options +- Add to queue without creating archive upfront +- Plate selection for multi-plate 3MF files +- Duplicate detection via file hash +- Mobile-friendly with always-visible action buttons + +### 📁 Projects +- Group related prints (e.g., "Voron Build") +- Track plates (print jobs) and parts separately +- Auto-detect parts count from 3MF files +- Color-coded project badges +- Bulk assign archives via multi-select toolbar +- Import/Export projects as ZIP (includes files) or JSON + + | ++ +### 🔔 Notifications +- WhatsApp, Telegram, Discord +- Email, Pushover, ntfy +- Custom webhooks +- Quiet hours & daily digest +- Customizable message templates with per-filament usage details +- Print finish photo URL in notifications +- Filament usage and progress in failed/cancelled print notifications +- HMS error alerts (AMS, nozzle, etc.) +- Build plate detection alerts +- Bed cooled alerts (configurable threshold) +- Queue events (waiting, skipped, failed) + +### 🧵 Spool Inventory +- Built-in spool inventory with AMS slot assignment, usage tracking, and remaining weight management +- Automatic filament consumption tracking: 3MF slicer estimates for all spools (primary), AMS remain% delta as fallback +- Per-layer gcode accuracy for partial prints (failed/cancelled), with linear scaling fallback +- **Per-spool cost tracking** — Set cost/kg on each spool; costs are automatically calculated at print completion and aggregated to archives. Print modal shows real-time cost preview. Configurable default cost and currency in Settings. +- **Bulk spool addition** — Add multiple identical spools at once (quantity 1–100) with a single form submission. Quick Add mode for stock spools that only need material, color, and weight. +- Spool catalog, color catalog, PA profile matching, and low-stock alerts + +### 🔧 Integrations +- [Spoolman](https://github.com/Donkie/Spoolman) filament sync with per-filament usage tracking and fill level display +- MQTT publishing for Home Assistant, Node-RED, etc. +- **Prometheus metrics** - Export printer telemetry for Grafana dashboards +- Bambu Cloud profile management +- **Local Profiles** - Import OrcaSlicer presets (`.orca_filament`, `.bbscfg`, `.bbsflmt`, `.zip`, `.json`) without Bambu Cloud +- K-profiles (pressure advance) +- **GitHub backup** - Schedule automatic backups of cloud profiles, k profiles and settings to GitHub +- External sidebar links +- Webhooks & API keys +- Interactive API browser with live testing + +### 🖨️ Virtual Printer & Remote Printing +- **🌐 Proxy Mode (NEW!)** — Print remotely from anywhere via secure TLS relay +- Emulates a Bambu Lab printer on your network +- Send prints directly from Bambu Studio/Orca Slicer +- Configurable printer model (X1C, P1S, A1, H2D, etc.) +- Archive mode, Review mode, Queue mode, or Proxy mode +- SSDP discovery (same LAN) or manual IP entry (VPN/remote) +- Network interface override for multi-NIC/Docker/VPN setups +- Secure TLS/MQTT/FTP communication + +### 🛠️ Maintenance & Support +- Maintenance scheduling & tracking +- Interval reminders (hours/days) +- Print time accuracy stats +- File manager for printer storage +- Firmware update helper with version badge (LAN-only printers) +- Debug logging toggle with live indicator +- Live application log viewer with filtering +- Support bundle generator with comprehensive diagnostics (privacy-filtered) +- **In-app bug reporting** — Submit bug reports directly from the UI with optional screenshot (upload, paste, or drag & drop), automatic diagnostic log collection (30s debug capture with printer push), and system info. Reports create GitHub issues via a secure relay. Privacy-first: all logs are sanitized and sensitive data (IPs, serials, credentials) is never included. + +### 🔒 Optional Authentication +- Enable/disable authentication any time +- Group-based permissions (80+ granular permissions) +- Default groups: Administrators, Operators, Viewers +- JWT tokens with secure password hashing +- Comprehensive API protection (200+ endpoints secured) +- User management (create, edit, delete, groups) +- User activity tracking (who uploaded archives, library files, queued prints, started prints) +- **Advanced Auth via Email** — SMTP integration for automated user onboarding and self-service password resets +- Admin creates users with email — system sends secure random password automatically +- Users can reset their own password from the login screen (no admin needed) +- Customizable email templates (welcome email, password reset) + + | +
+
+
+
+
Click to watch the demo on YouTube
+
+
+
Real-time printer monitoring with AMS status
+
+
+
Print archive with 3D preview and project assignment
+
+
+
Re-print with AMS filament mapping preview
+
+
+
Built-in timelapse editor with trim, speed, and music
+
+
+
Group related prints into projects
+
+
+
Project detail view with assigned archives
+
+
+
Project timeline and print history
+
+
+
Print scheduling and queue management
+
+
+
Schedule prints for specific date and time
+
+
+
Customizable statistics dashboard
+
+
+
Maintenance tracking per printer
+
+
+
Configure maintenance types and intervals
+
+
+
Bambu Cloud filament profiles
+
+
+
Edit filament preset settings
+
+
+
Pressure advance (K-factor) profiles
+
+
+
Edit K-factor profile settings
+
+
+
General configuration and integrations
+
+
+
Smart plug control and energy monitoring
+
+
+
Multi-provider notification system
+
+
+
API keys and webhook endpoints
+
+
+
Virtual printer configuration
+
+
+
Virtual printer appears in Bambu Studio/Orca Slicer
+
+
+
MQTT debug logging for troubleshooting
+
+
+
Quick power plug control in sidebar
+
+ Made with ❤️ for the 3D printing community
+
+ Join our Discord •
+ Report Bug •
+ Request Feature •
+ Documentation
+