Skip to content

fix: allow private/loopback hosts for local Hermes connections#30

Merged
rhoninl merged 1 commit into
mainfrom
fix/hermes-allow-private-hosts
May 18, 2026
Merged

fix: allow private/loopback hosts for local Hermes connections#30
rhoninl merged 1 commit into
mainfrom
fix/hermes-allow-private-hosts

Conversation

@rhoninl
Copy link
Copy Markdown
Owner

@rhoninl rhoninl commented May 18, 2026

Summary

  • Drops the SSRF guard (assertHostnameIsPublic + ipIsPrivateOrLocal) that rejected RFC1918, loopback, link-local, and other reserved addresses before the /v1/models discovery fetch in lib/server/providers/hermes-local-store.ts.
  • Infinite-Loop is a single-tenant local app — the typical Hermes target is a LAN or localhost server (e.g. http://192.168.x.x), which the guard blocked with no real benefit in this deployment model.
  • Hosts like http://192.168.2.61 no longer fail with refusing to reach private/loopback address … when creating a Hermes connection.

Test plan

  • Add a Hermes connection pointed at a 192.168.x.x host and confirm save succeeds and per-port profile discovery runs.
  • Add a Hermes connection pointed at http://127.0.0.1 / http://localhost and confirm save succeeds.
  • Add a Hermes connection pointed at a hostname (DNS) and confirm save still succeeds.
  • Confirm npx tsc --noEmit is clean.

🤖 Generated with Claude Code

Drops the SSRF guard (assertHostnameIsPublic + ipIsPrivateOrLocal)
that rejected RFC1918, loopback, link-local, and other reserved
addresses during the /v1/models discovery fetch. Infinite-Loop runs
as a single-tenant local app, so the typical Hermes target is a LAN
or localhost server (e.g. http://192.168.x.x) — the guard blocked
the intended path with no real benefit in this deployment model.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@rhoninl rhoninl merged commit 9919ceb into main May 18, 2026
1 check passed
@rhoninl rhoninl deleted the fix/hermes-allow-private-hosts branch May 18, 2026 03:23
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