4 Commits

Author SHA1 Message Date
Asger Weirsøe 39145e5887 ci: source release body from the annotated tag message
release / release (push) Successful in 15s
The release step created releases with no body. Read the tag's annotation
into RELEASE_NOTES.md and pass it via body_path so each release carries
purpose-written notes. Fetch full history so the annotated tag object is
available to the build.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
v1.0.0
2026-05-30 21:28:57 +02:00
Asger Weirsøe a429456987 fetch: strip all origin/chain headers so nothing leaks to targets
release / release (push) Successful in 23s
The fetch service only stripped the four X-Weircon-* control headers, so
any forwarding header injected upstream (X-Forwarded-For, X-Real-IP, Via,
CDN client-IP headers, …) passed straight through to the target — leaking
the caller's IP and proxy chain.

- Replace stripWeircon with stripIdentifying: removes the control headers
  plus all standard forwarding/origin-IP headers, with a prefix sweep for
  any vendor-specific X-Forwarded-* variant.
- NPM advanced.conf clears the same headers (defense in depth).
- Add TestStripIdentifying covering removal + survival of legit headers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 21:23:01 +02:00
Asger Weirsøe ed90151a24 setup-container: chmod the binary and improve missing-binary hint
When downloading a release asset over HTTP the executable bit is lost,
so checking '-x' would always fail. Check existence instead and chmod
unconditionally. Update the error message to cover the three common
install paths.
2026-05-27 15:21:02 +02:00
Asger Weirsøe 8652fcfbba Initial commit
release / release (push) Successful in 1m15s
v0.1.0
2026-05-27 15:02:44 +02:00