Repository navigation
Releases: Fill84/procurve-webui
Release list
v0.1.2 — device-passwords write surface
Patch release adding the Device Passwords card to the Security tab. The backend operation already existed as a write-safety-gated library call; this release exposes it through the same UI safety net as the other lockout-risky writes.
Changes
- DevicePasswordsCard. Mirrors the legacy applet's two-fieldset layout (Read-Only / Operator and Read-Write / Manager) with username + password + confirm fields. Live confirm-mismatch validation; Manager fields are required, the Operator pair is optional (leave empty to keep current). Card sits first in the Security tab stack to match the applet ordering.
- Two prominent warning banners. Physical-recovery lockout: a wrong Manager password is recoverable only via the chassis reset button — there is no software path back. Cleartext-on-the-wire: the 2810 firmware sends the new password as a query-string parameter on a plain HTTP GET (a protocol-level flaw mirrored faithfully). Pick the right link before applying.
- New
PUT /api/v1/security/device-passwordsendpoint. Gated identically to the existing lockout-risky writes (web-access,web-managers):confirm_switch_hostmust match the configured switch host, a pre-write autobackup runs first, andREAD_ONLY=truestill blocks the call. Theprocurve_client.set_device_passwordsoperation existed before; this release simply exposes it through the same safety mechanism. - Tests. Negative test (
endpoint-must-not-exist returns 404) replaced with five positive tests covering the read-only block, host-mismatch block, autobackup ordering, happy path, and a sanity check that the cleartext password does not echo back in the response body.
No other tabs touched. No backend protocol changes; no migrations.
Upgrade
git pull
docker compose up -d --buildv0.1.1 — alert-log UX polish
Patch release polishing the Status tab's alert-log table.
Changes
- Clickable alert rows. The whole row is now the open-affordance for the alert-detail dialog; the separate "Open Event" button is gone. Checkboxes still drive bulk Acknowledge / Delete and stop propagation so selecting a row doesn't open the dialog. Rows are keyboard-reachable (Enter / Space).
- Proper Delete confirmation dialog. The browser
window.confirmpopup is replaced with a new reusableConfirmDialog(Yes/No, no IP-typing — fault-log mutations are not lockout-capable so the heavierDangerConfirmDialogwould be excessive friction). The dialog stays open with an inline error if the mutation fails. - Visible Acknowledge feedback. This firmware keeps acked events in the fault log (ack is a "seen" flag, not a deletion — same behaviour as the legacy Java applet), so without explicit feedback a successful Acknowledge produced no observable UI change and read as broken. There is now a transient "N event(s) acknowledged" banner on success.
No backend protocol changes; no migrations.
Upgrade
git pull
docker compose up -d --buildv0.1.0 — first public release
First public release of procurve-webui — a modern Java-applet-free management UI for the HP ProCurve Switch 2810-24G (J9021A).
What's in this release
A single Docker container that gives you:
- Identity — model, serial, firmware, MAC, IP, uptime, CPU, memory.
- Status — live SVG chassis with per-port LEDs, port-utilisation chart (Recharts), alert log with ack/delete/detail dialog, WebSocket-fed live counters.
- Configuration — system info, IP, per-port settings, device features, fault detection, port mirroring, QoS, support URLs. Full write support,
READ_ONLY=trueby default. - Security — web access mode, authorised-managers (lockout-gated), per-port security, intrusion log, SSL state inspection.
- Diagnostics — ICMP ping, link test, configuration report, factory reset.
- Backups — list / take / diff / download / restore
.pccsnapshots, with auto-backup before every write. - Support — replaces the legacy
procurve.comredirect with the modern HPE Networking portal.
The whole thing talks to the switch over the same HTTP protocol the original agent.jar used — fully reverse-engineered in Phase 0 and documented under research/protocol/.
Quick start
git clone https://github.com/Fill84/procurve-webui.git
cd procurve-webui
cp .env.example .env
# Edit .env: set SWITCH_HOST and a real SESSION_SECRET
python -c "import secrets; print(secrets.token_urlsafe(32))"
docker compose up -dThen browse to http://localhost:8080 and log in with your switch credentials (blank/blank on factory firmware).
See the README for the full setup, configuration reference, security considerations and per-tab feature tour.
Hardware support
| Status | Hardware |
|---|---|
| Confirmed working | HP ProCurve 2810-24G (J9021A), firmware N.11.78 |
| Likely working (untested) | Other 2810-series running the N.x firmware family |
| Not supported | 2510 / 2610 / 2810-Plus (different firmware lines) |
If you successfully run this against any other ProCurve hardware, please open an issue or PR — the table in the README has a "Likely working" row that's begging for confirmations.
Not redistributed
research/applet/agent.jar— HPE's compiled Java applet. Seeresearch/applet/README.mdfor how to mirror it from your own switch.research/backups/**/*.pcc— operator-specific config snapshots. Seeresearch/backups/README.mdto recreate a baseline locally.
License
Released under the MIT License. "HP", "ProCurve", and "2810-24G" are trademarks of Hewlett Packard Enterprise; this project is not affiliated with HPE.