Skip to content

Releases: Fill84/procurve-webui

v0.1.2 — device-passwords write surface

Choose a tag to compare

@Fill84 Fill84 released this 27 Apr 00:04

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-passwords endpoint. Gated identically to the existing lockout-risky writes (web-access, web-managers): confirm_switch_host must match the configured switch host, a pre-write autobackup runs first, and READ_ONLY=true still blocks the call. The procurve_client.set_device_passwords operation 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 --build

v0.1.1 — alert-log UX polish

Choose a tag to compare

@Fill84 Fill84 released this 26 Apr 21:05

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.confirm popup is replaced with a new reusable ConfirmDialog (Yes/No, no IP-typing — fault-log mutations are not lockout-capable so the heavier DangerConfirmDialog would 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 --build

v0.1.0 — first public release

Choose a tag to compare

@Fill84 Fill84 released this 26 Apr 20:02

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=true by 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 .pcc snapshots, with auto-backup before every write.
  • Support — replaces the legacy procurve.com redirect 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 -d

Then 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. See research/applet/README.md for how to mirror it from your own switch.
  • research/backups/**/*.pcc — operator-specific config snapshots. See research/backups/README.md to 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.