Modern anti bot systems fingerprint the TLS handshake itself, not just the User-Agent string. impersonateAction is the fastest way to make Fluxzy look exactly like a real browser of a specific version, which is essential for testing protected sites, validating your own defences, or reproducing issues that only occur for one Chrome release.
Use impersonateAction when an upstream server inspects the TLS or HTTP/2 fingerprint of the connection and rejects anything that does not match a real browser. The action loads a profile (TLS ClientHello, HTTP/2 settings, default headers) and applies it for the matched exchanges.
Typical situations include:
The nameOrConfigFile property accepts either a built in profile name (for example Chrome_Windows_131) or the path to a custom configuration file. The action runs on the requestHeaderReceivedFromClient scope.
The most common profile for general browsing scenarios.
rules:
- filter:
typeKind: HostFilter
pattern: api.internal.example.com
actions:
- typeKind: ImpersonateAction
nameOrConfigFile: Chrome_Windows_131
When you need a fingerprint that is not in the built in catalog, point the action to a config file you maintain yourself.
rules:
- filter:
typeKind: HostFilter
pattern: payments.example.com
actions:
- typeKind: ImpersonateAction
nameOrConfigFile: /etc/fluxzy/profiles/custom-chrome.yaml
Helpful when API endpoints accept your default fingerprint but the HTML site rejects it.
rules:
- filter:
typeKind: FilterCollection
operation: And
children:
- typeKind: HostFilter
pattern: legacy.example.com
- typeKind: HtmlResponseFilter
actions:
- typeKind: ImpersonateAction
nameOrConfigFile: Firefox_Windows_120
Impersonate a browser or client by changing the TLS fingerprint, HTTP/2 settings and headers.
Evaluation scope defines the timing where this filter will be applied.
requestHeaderReceivedFromClient This scope occurs the moment fluxzy parsed the request header receiveid from client
impersonateAction
The following table describes the customizable properties available for this action:
| Property | Type | Description | DefaultValue |
|---|---|---|---|
| nameOrConfigFile | string |
The following examples apply this action to any exchanges
Impersonate CHROME 131 on Windows.
rules:
- filter:
typeKind: AnyFilter
actions:
- typeKind: ImpersonateAction
nameOrConfigFile: Chrome_Windows_131
View definition of ImpersonateAction for .NET integration.
This action has no related action
The Fluxzy CLI ships with a catalog of browser profiles. Run the CLI help or browse the documentation for the current names. New browser versions are added regularly.
Yes. Point nameOrConfigFile to a YAML or JSON file with the ClientHello details, HTTP/2 settings, and default headers you want. This is useful for niche or older browser versions.
Yes. The profile sets the default headers, including User-Agent, to match the impersonated browser. You can still override them with addRequestHeaderAction if needed.
No. The TLS handshake still uses Fluxzy's certificate store and validation rules. Only the ClientHello and ALPN negotiation are tuned to the profile.