Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
2f09ed1
Add ts dev proxy design spec and implementation plan
aram356 Jun 22, 2026
cb0b209
Add trusted-server-cli crate skeleton with ts dev proxy CLI surface
aram356 Jun 22, 2026
e0c8876
Merge branch 'main' into worktree-review-ts-dev-proxy-spec
aram356 Jun 22, 2026
e3b17b6
Add rewrite core with rule matching and header outcomes
aram356 Jun 22, 2026
cba4d7e
Harden rewrite rule matching, port parsing, and test coverage
aram356 Jun 22, 2026
03c4999
Resolve proxy args and env into a concrete rule table and settings
aram356 Jun 22, 2026
f4eaadb
Merge remote-tracking branch 'iabtechlab/main' into worktree-review-t…
aram356 Jun 22, 2026
2a2e85e
Drop environment-variable support from dev proxy CLI
aram356 Jun 22, 2026
092611e
Drop env-var support from dev proxy spec and plan
aram356 Jun 22, 2026
ed37bb8
Report I/O failure distinctly when --basic-auth-file cannot be read
aram356 Jun 22, 2026
8715a7f
Add per-machine local CA with leaf minting and caching
aram356 Jun 22, 2026
9e98c07
Create CA key file with mode 0600 from first byte
aram356 Jun 22, 2026
cb67c49
Add CONNECT MITM proxy server with blind tunnel and local PAC route
aram356 Jun 22, 2026
0f649ca
Fix blind-HTTP head replay and add 403 guard test for off-loopback CO…
aram356 Jun 22, 2026
59186c3
Merge remote-tracking branch 'iabtechlab/main' into worktree-review-t…
aram356 Jun 22, 2026
cdd9d6a
Format trusted-server-cli with rustfmt
aram356 Jun 22, 2026
29dfb35
Add browser orchestration, PAC generation, and ca trust subcommands
aram356 Jun 23, 2026
5a5c5f5
Persist and recover Safari system proxy state across hard kills
aram356 Jun 23, 2026
6000366
Infer dev-proxy rule from trusted-server.toml for zero-arg use
aram356 Jun 23, 2026
41245de
Document ts dev proxy setup, trust, and troubleshooting
aram356 Jun 23, 2026
abe3d17
Format dev proxy spec and plan with Prettier
aram356 Jun 23, 2026
f1cd505
Commit trusted-server-cli lockfile with resolved dependencies
aram356 Jun 23, 2026
28e488d
Merge remote-tracking branch 'iabtechlab/worktree-review-ts-dev-proxy…
aram356 Jun 23, 2026
f409f34
Require explicit rewrite rule; drop trusted-server.toml inference
aram356 Jun 23, 2026
a289b83
Update spec, plan, and guide: rules are explicit, no toml inference
aram356 Jun 23, 2026
2f79728
Change default proxy port to 18080 to avoid 8080 collisions
aram356 Jun 23, 2026
a8ba326
Open Safari at the FROM URL on --launch safari, like Chrome and Firefox
aram356 Jun 23, 2026
e6989b5
Note Safari opens the FROM URL in the plan
aram356 Jun 23, 2026
762c1a2
Fix Safari network-service detection and elevate networksetup with sudo
aram356 Jun 23, 2026
7b83b90
Address dev-proxy review: Safari restore, PAC route, per-request Host…
aram356 Jun 23, 2026
4033fc8
Document Safari restore state/interactivity and explicit-rule order
aram356 Jun 23, 2026
9485abe
Harden Safari recovery, CA partial state, regenerate trust, Host matc…
aram356 Jun 23, 2026
668a2bf
Abort Safari config without restore record, confirm CA revocation, sh…
aram356 Jun 23, 2026
0133242
Add native CI job for the dev-proxy CLI crate and document regenerate…
aram356 Jun 23, 2026
47905d9
Address dev-proxy review round 4: macOS-only gate, regenerate abort, …
aram356 Jun 23, 2026
0602730
Scope dev-proxy deps to macOS so wasm builds fail with the clear message
aram356 Jun 24, 2026
e98f241
Support IP upstreams via an optional-valued --rewrite-host
aram356 Jun 24, 2026
442e27c
Drop the macOS-only compile_error gate; rely on macOS-scoped deps
aram356 Jun 24, 2026
7e16997
Add --resolve DNS pin and simplify --rewrite-host back to a flag
aram356 Jun 24, 2026
73dea69
Sync dev-proxy plan with --resolve + rewrite_host bool design
aram356 Jun 24, 2026
27379e9
Apply --resolve to every upstream connection, log pins at startup
aram356 Jun 24, 2026
9be877d
Send X-Forwarded-Host: FROM so first-party URLs stay on the productio…
aram356 Jun 24, 2026
c9bebdd
Address self-review nits in the dev proxy
aram356 Jun 25, 2026
c91abf3
Strip inbound Forwarded and reconcile X-Forwarded-Host docs
aram356 Jun 25, 2026
18fccb2
Merge branch 'main' into worktree-review-ts-dev-proxy-spec
aram356 Jun 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,40 @@ jobs:
TRUSTED_SERVER__PROXY__CERTIFICATE_CHECK: "false"
run: cargo build --package trusted-server-adapter-fastly --release --target wasm32-wasip1

test-cli:
# The native `trusted-server-cli` (`ts dev proxy`) crate is excluded from the
# workspace (the workspace default target is wasm32-wasip1), so the workspace
# fmt/clippy/test jobs do not cover it. It is a macOS tool (Safari/keychain/
# networksetup), so validate it on macOS with an explicit native --target
# (the repo's .cargo/config.toml otherwise forces wasm32-wasip1).
name: cargo test (dev-proxy CLI, native)
runs-on: macos-latest
steps:
- uses: actions/checkout@v4

- name: Retrieve Rust version
id: rust-version
run: echo "rust-version=$(grep '^rust ' .tool-versions | awk '{print $2}')" >> $GITHUB_OUTPUT
shell: bash

- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ steps.rust-version.outputs.rust-version }}
components: "clippy, rustfmt"
cache-shared-key: cargo-cli-${{ runner.os }}

- name: cargo fmt (check)
run: cargo fmt --manifest-path crates/trusted-server-cli/Cargo.toml --check

- name: cargo clippy
run: |
cargo clippy --manifest-path crates/trusted-server-cli/Cargo.toml --target "$(rustc -vV | sed -n 's/host: //p')" --all-targets -- -D warnings

- name: cargo test
run: |
cargo test --manifest-path crates/trusted-server-cli/Cargo.toml --target "$(rustc -vV | sed -n 's/host: //p')"

test-typescript:
name: vitest
runs-on: ubuntu-latest
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/pkg
/target
/crates/trusted-server-integration-tests/target
/crates/trusted-server-cli/target

# env
.env*
Expand Down
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ members = [
exclude = [
"crates/trusted-server-integration-tests",
"crates/trusted-server-openrtb-codegen",
"crates/trusted-server-cli",
]

default-members = [
Expand Down
Loading
Loading