Skip to content

fix: use browser-matching multipart boundary format#435

Merged
barjin merged 9 commits intomasterfrom
fix/multipart-boundary-format
Apr 15, 2026
Merged

fix: use browser-matching multipart boundary format#435
barjin merged 9 commits intomasterfrom
fix/multipart-boundary-format

Conversation

@barjin
Copy link
Copy Markdown
Member

@barjin barjin commented Apr 14, 2026

Moves multipart boundary generation from JS to Rust where the browser fingerprint is available. Each browser profile now produces boundaries matching the real browser format:

  • Chrome: ----WebKitFormBoundary + 16 alphanumeric chars
  • Firefox: ----geckoformboundary + two random uint64 hex values
  • OkHttp: UUID v4 (xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx)
  • No fingerprint: ----formdata-impit-* (default, unchanged)

The boundary is generated lazily — the NAPI call only happens when the body is actually a FormData instance. The method is not exposed in public types.

Closes #432

Move multipart boundary generation from JS to Rust so it can use the
configured browser fingerprint. Chrome profiles now produce
`----WebKitFormBoundary*` and Firefox produces `---------------------------*`
matching real browser behavior.

Closes #432
@github-actions github-actions Bot added this to the 138th sprint - Tooling team milestone Apr 14, 2026
@github-actions github-actions Bot added the t-tooling Issues with this label are in the ownership of the tooling team. label Apr 14, 2026
@barjin barjin merged commit 6b48365 into master Apr 15, 2026
47 checks passed
@barjin barjin deleted the fix/multipart-boundary-format branch April 15, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

FormData multipart boundary format doesn't match browser conventions

2 participants