New Transparent capture is in preview. Record every app's traffic with no proxy configuration, on Windows, macOS and Linux. Learn more

ipIngressFilter Filter

Select exchanges by the source (client) IP address connecting to Fluxzy, with literal, prefix, suffix or regex matching for IPv4 and IPv6.

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.

When to use this filter

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:

  • Isolating traffic from a single test device by its LAN IP, for example 192.168.1.42.
  • Applying a stricter policy to a guest subnet while letting the corporate range pass through.
  • Tagging all exchanges from an IPv6 client to debug a dual stack issue.

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.

Real world examples

Inject a debug header for a single workstation

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

Throttle the guest subnet

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

Reject every client except the lab range

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

Reference

ipIngressFilter

Description

Select exchanges according to client ip address. Full IP notation is used from IPv6.

Evaluation scope

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.

YAML configuration name

ipIngressFilter

Settings

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

Example of usage

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

.NET reference

View definition of IpIngressFilter for .NET integration.

See also

This filter has no related filter

Frequently asked questions

How do I match a whole subnet like 192.168.1.0/24?

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.

What IP does Fluxzy see when the client goes through another proxy?

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.

Does it work with IPv6 clients?

Yes. Full IPv6 notation is supported, including link local addresses. Use Exact for a single address or StartsWith for a prefix.

What is the difference with ipEgressFilter?

ipIngressFilter matches the client (source) IP. ipEgressFilter matches the upstream (destination) IP. Choose based on which end of the connection you want to select.

Learn more about Fluxzy rules