ipIngressFilter selects exchanges by the IP address of the client that initiated the connection to Fluxzy. It is the right tool when you run a shared proxy and want per device behavior, or when you need to scope a rule to a known subnet. Pair it with any action below to tag, throttle or reject traffic from a specific source.
Reach for ipIngressFilter when you need to apply rules based on which client is talking to the proxy. It is the natural choice on a shared Fluxzy instance that serves many devices, or in a lab where you want one workstation to receive a different treatment from the others.
Typical situations:
192.168.1.42.The filter evaluates on the onAuthorityReceived scope, so the source IP is already known when it fires. Use StartsWith to emulate CIDR style prefix matching, and combine it with hostFilter or pathFilter for finer control.
Add a request header on every exchange originating from 192.168.1.42 so the back end can identify the test client in its access logs.
rules:
- filter:
typeKind: IpIngressFilter
pattern: 192.168.1.42
operation: Exact
actions:
- typeKind: AddRequestHeaderAction
headerName: X-Debug-Client
headerValue: lab-42
Slow down every exchange whose client IP starts with 192.168.50 to simulate a constrained guest WiFi while keeping the corporate range full speed.
rules:
- filter:
typeKind: IpIngressFilter
pattern: 192.168.50.
operation: StartsWith
actions:
- typeKind: AverageThrottleAction
bandwidthBytesPerSeconds: 32000
Use the inverted flag to block any client that is not on the 10.1.0.0/16 subnet, useful in shared environments where the proxy should only serve a known network.
rules:
- filter:
typeKind: IpIngressFilter
pattern: 10.1.
operation: StartsWith
inverted: true
actions:
- typeKind: RejectAction
Select exchanges according to client ip address. Full IP notation is used from IPv6.
Evaluation scope defines the timing where this filter will be applied.
onAuthorityReceived This scope denotes the moment fluxzy is aware the destination authority. In a regular proxy connection, it will occur the moment where fluxzy parsed the CONNECT request.
ipIngressFilter
The following table describes the customizable properties available for this filter:
| Property | Type | Description | DefaultValue |
|---|---|---|---|
| pattern | string | The string pattern to search | |
| operation | exact | contains | startsWith | endsWith | regex | The search operation performed | contains |
| caseSensitive | boolean | true if the Search should be case sensitive | false |
| inverted | boolean | Negate the filter result | false |
The following examples apply a comment to the filtered exchange
Retains only exchanges coming from IP 192.168.1.1.
rules:
- filter:
typeKind: IpIngressFilter
pattern: 192.168.1.1
operation: EndsWith
actions:
- typeKind: ApplyCommentAction
comment: filter was applied
View definition of IpIngressFilter for .NET integration.
This filter has no related filter
Use the StartsWith operation with the prefix portion of the address, for example pattern: 192.168.1. for a /24. For larger blocks use a shorter prefix or a regex.
Fluxzy sees the IP of the immediate peer that opens the TCP connection. If a reverse proxy sits in front, that is the IP you will match against. Forwarded headers do not influence ipIngressFilter.
Yes. Full IPv6 notation is supported, including link local addresses. Use Exact for a single address or StartsWith for a prefix.
ipIngressFilter matches the client (source) IP. ipEgressFilter matches the upstream (destination) IP. Choose based on which end of the connection you want to select.