What's New
Smart Snapshot Proxy
/snapshot endpoint now acts as a caching proxy when the video stream is inactive
- When the video stream is running, snapshots are served from cached keyframes (existing behavior)
- When the video stream is disconnected or stale, ACProxyCam fetches directly from the printer's
/snapshot endpoint with a 1-second cache — external clients (Mainsail, Fluidd, slicers) no longer need to hit the printer directly
- HTTP keep-alive ensures efficient connection reuse to the printer (no reconnection overhead)
- Maximum 1 request/sec to the printer regardless of how many clients request snapshots
- Stale cached snapshots are served as fallback if the printer is temporarily unreachable
Reduced Printer CPU Overhead
- MJPEG source connections now create TCP backpressure matching browser behavior
- Previously, ACProxyCam's instant frame reads caused the printer's encoder to work ~60% harder than with a browser client (8-9% vs 5% CPU)
- Small receive buffer (4KB) combined with 20ms pre-body frame pacing creates natural backpressure, allowing the encoder to skip redundant JPEG encodes
- Printer encoder CPU now matches browser-level usage (~6%)
Installation
# Download for your architecture
wget https://github.com/mann1x/acproxycam/releases/download/v1.6.1/acproxycam-linux-arm64-v1.6.1.zip
unzip acproxycam-linux-arm64-v1.6.1.zip
chmod +x acproxycam
# Run with sudo for installation
sudo ./acproxycam
Docker
docker pull ghcr.io/mann1x/acproxycam:1.6.1
# or
docker pull mannixita/acproxycam:1.6.1
Checksums (SHA256)
4e287d84f1338db7d5535bef5d6b0114f0153e430fc3d5c7e3f86032971b62a5 acproxycam-linux-x64-v1.6.1.zip
7409a2d8bf0d247f7436c0004b00858dda7b661c5c68dd36975f4536a713523e acproxycam-linux-arm64-v1.6.1.zip