Jesse Merhi
4ea0556f64
feat: add proxy validation command
Adds `openclaw proxy validate` for operator-managed proxy preflight checks, including allowed/denied destination validation, CLI output, tests, docs, and changelog coverage.
Maintainer follow-ups before landing:
- validate custom allowed URLs before probing;
- use a temporary loopback canary for default denied checks and fail custom denied transport errors as unverifiable;
- redact proxy URL userinfo, query strings, and fragments from text/JSON validation output.
Validation:
- `pnpm test src/infra/net/proxy/proxy-validation.test.ts src/cli/proxy-cli.runtime.test.ts src/cli/proxy-cli.test.ts -- --reporter=verbose`
- `pnpm exec oxfmt --check --threads=1 CHANGELOG.md src/cli/proxy-cli.ts src/cli/proxy-cli.runtime.ts src/cli/proxy-cli.test.ts src/cli/proxy-cli.runtime.test.ts src/infra/net/proxy/proxy-validation.ts src/infra/net/proxy/proxy-validation.test.ts docs/cli/proxy.md docs/security/network-proxy.md`
- `pnpm exec oxlint src/cli/proxy-cli.runtime.ts src/cli/proxy-cli.runtime.test.ts`
- `git diff --check`
- Testbox `pnpm install && OPENCLAW_TESTBOX=1 pnpm check:changed` on `tbx_01kqgz68ff20n3dtrgq0j1mykt`
- GitHub CI success on `321b3aaf2b8be27dec6ce2ac5e4007ed064218b5`
2026-05-01 00:19:55 -05:00
..
2026-04-23 20:41:35 -07:00
2026-04-29 19:38:11 +01:00
2026-04-29 11:54:28 +01:00
2026-04-23 20:08:26 -07:00
2026-04-28 04:03:20 +01:00
2026-04-27 09:37:10 +01:00
2026-04-28 05:16:43 +01:00
2026-04-23 20:41:35 -07:00
2026-04-29 14:28:22 -07:00
2026-04-23 20:41:35 -07:00
2026-04-29 22:02:02 +01:00
2026-04-26 21:47:29 -07:00
2026-04-27 00:01:52 -07:00
2026-04-30 01:39:13 -07:00
2026-04-28 05:58:05 +01:00
2026-04-25 11:45:15 +01:00
2026-04-27 15:10:05 +01:00
2026-04-23 20:41:35 -07:00
2026-04-23 20:41:35 -07:00
2026-04-23 20:41:35 -07:00
2026-05-01 04:49:02 +09:00
2026-04-23 20:41:35 -07:00
2026-04-29 19:53:55 +01:00
2026-04-23 20:41:35 -07:00
2026-04-27 10:20:30 +01:00
2026-04-29 14:28:22 -07:00
2026-04-28 20:55:44 +01:00
2026-04-29 08:10:15 +01:00
2026-04-28 08:13:21 +01:00
2026-04-27 14:09:42 +01:00
2026-04-27 21:02:09 +01:00
2026-05-01 04:49:02 +09:00
2026-05-01 02:31:53 +00:00
2026-04-26 07:49:45 +01:00
2026-04-27 13:20:52 +01:00
2026-04-28 08:13:21 +01:00
2026-04-29 07:40:37 +09:00
2026-04-30 04:13:39 +01:00
2026-05-01 00:19:55 -05:00
2026-04-23 20:41:35 -07:00
2026-04-23 20:41:35 -07:00
2026-04-26 21:29:02 -07:00
2026-04-23 20:41:35 -07:00
2026-04-23 20:41:35 -07:00
2026-04-29 07:40:37 +09:00
2026-04-27 00:34:29 -07:00
2026-04-28 01:05:36 +01:00
2026-04-28 01:51:37 +01:00
2026-04-23 20:41:35 -07:00
2026-04-26 07:23:39 +01:00
2026-04-23 20:41:35 -07:00
2026-04-23 20:41:35 -07:00
2026-04-28 05:58:05 +01:00
2026-05-01 05:41:49 +01:00
2026-04-23 20:41:35 -07:00
2026-04-29 20:17:37 +01:00