Skip to content

PoC: HTTPS Luminary app calling a localhost hardware bridge - #1877

Open
MrDirkelz wants to merge 1 commit into
mainfrom
MrDirkelz/research-create-poc-to-check-if-localhost-can-be
Open

PoC: HTTPS Luminary app calling a localhost hardware bridge#1877
MrDirkelz wants to merge 1 commit into
mainfrom
MrDirkelz/research-create-poc-to-check-if-localhost-can-be

Conversation

@MrDirkelz

Copy link
Copy Markdown
Collaborator

Adds a self-contained proof-of-concept for an HTTPS-hosted site reaching a visitor's own local HTTP API at http://localhost:PORT, handling all three obstacles: mixed content (loopback = secure origin), CORS, and Chrome 142+ Local Network Access permission prompt.

hardware-bridge-poc/

  • electron-service: Electron app exposing a loopback-only HTTP API (127.0.0.1:4781) with CORS, OPTIONS preflight, and the PNA header for older Chromium. Endpoints: /api/ping, /api/system (real os data), GET/POST /api/device (in-memory virtual device for bidirectional proof).
  • frontend: standalone HTTPS demo page (self-signed) that checks the local-network-access permission and surfaces each failure mode.
  • docker: Dockerfile that builds the Linux binary and hosts it for download.

app/

  • HardwareBridgePage.vue: minimal PoC page (no auth, no data layer) that checks LNA permission, calls the bridge, and categorises failures.
  • router: registers /hardware-bridge (analyticsIgnore) before the /:slug catch-all.

Adds a self-contained proof-of-concept for an HTTPS-hosted site reaching a
visitor's own local HTTP API at http://localhost:PORT, handling all three
obstacles: mixed content (loopback = secure origin), CORS, and Chrome 142+
Local Network Access permission prompt.

hardware-bridge-poc/
  - electron-service: Electron app exposing a loopback-only HTTP API
    (127.0.0.1:4781) with CORS, OPTIONS preflight, and the PNA header for
    older Chromium. Endpoints: /api/ping, /api/system (real os data),
    GET/POST /api/device (in-memory virtual device for bidirectional proof).
  - frontend: standalone HTTPS demo page (self-signed) that checks the
    local-network-access permission and surfaces each failure mode.
  - docker: Dockerfile that builds the Linux binary and hosts it for download.

app/
  - HardwareBridgePage.vue: minimal PoC page (no auth, no data layer) that
    checks LNA permission, calls the bridge, and categorises failures.
  - router: registers /hardware-bridge (analyticsIgnore) before the /:slug
    catch-all.

Co-Authored-By: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant