Commit Graph

7 Commits

Author SHA1 Message Date
64a12a65ad fix(droplet): Fix BusyBox tr bug in name sanitization too
The buggy tr '[:upper:]' '[:lower:]' was also used for sanitizing
site names, causing 'ziptest' to become 'ziwtest'. Use awk tolower()
for all lowercase conversions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-19 11:19:17 +01:00
1a1ca1794a fix(droplet): Use awk for lowercase instead of buggy BusyBox tr
BusyBox tr '[:upper:]' '[:lower:]' has a bug that converts 'p' to 'w',
causing .zip to be detected as .ziw. Use awk tolower() instead.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-19 11:04:05 +01:00
b76131ed1d fix(droplet): Strip CR/LF from file extension detection
Windows uploads may include carriage returns in filenames, causing
.zip to be detected as .ziw. Strip \r\n from extension string.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-19 10:57:22 +01:00
ddf480e6ed fix(droplet,dpi): Resolve publish hang and broken pipe errors
- dropletctl: Remove pipe to grep that blocked on background children
- metablogizerctl: Background HAProxy generate/reload (~90s with 95 certs)
- dpi-lan-collector: Pre-compute flow counts in single pass instead of
  spawning grep per client (eliminates broken pipe errors)

Publish time reduced from ~2 min to ~35 seconds.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-17 07:39:09 +01:00
078a3bea5f fix(droplet): Proper metablogizer integration and permissions
- Fix file permissions (chmod 644/755) after upload
- Use site_${name} UCI section naming for metablogizer
- Auto-assign port and call metablogizerctl publish
- Generate README.nfo for new droplets
- Handle both old/new section naming in list/remove

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-14 11:43:24 +01:00
f8d9c5ee70 fix(droplet): Use extension-based file detection for OpenWrt
The 'file' command is not available on OpenWrt. Replaced
mime-type detection with extension parsing (.html, .htm, .zip).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-14 11:35:11 +01:00
078e2dc01e feat(droplet): Add one-drop content publisher
Simple drag-and-drop publishing for HTML/ZIP files:
- Auto-detects content type (static/streamlit/hexo)
- Creates vhosts at gk2.secubox.in by default
- Registers with metablogizer or streamlit accordingly
- CLI: dropletctl publish/list/remove/rename
- LuCI drag-drop interface at Services > Droplet

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-14 11:25:07 +01:00