Table of Contents

Class FluxzySetting

Namespace
Fluxzy
Assembly
Fluxzy.Core.dll

The main configuration for starting a proxy instance

public class FluxzySetting
Inheritance
FluxzySetting
Inherited Members

Constructors

FluxzySetting()

[JsonConstructor]
public FluxzySetting()

Properties

AlterationRules

Global alteration rules

public ReadOnlyCollection<Rule> AlterationRules { get; }

Property Value

ReadOnlyCollection<Rule>

ArchivingPolicy

Archiving policy

[JsonInclude]
public ArchivingPolicy ArchivingPolicy { get; }

Property Value

ArchivingPolicy

AutoInstallCertificate

When set to true, fluxzy will automatically install default certificate when starting.

[JsonInclude]
public bool AutoInstallCertificate { get; }

Property Value

bool

BoundPoints

Proxy listen address

[JsonInclude]
public HashSet<ProxyBindPoint> BoundPoints { get; }

Property Value

HashSet<ProxyBindPoint>

BoundPointsDescription

Returns a friendly description of the bound points

public string BoundPointsDescription { get; }

Property Value

string

ByPassHost

Hosts that by pass proxy

public IReadOnlyCollection<string> ByPassHost { get; }

Property Value

IReadOnlyCollection<string>

ByPassHostFlat

[JsonInclude]
public string ByPassHostFlat { get; }

Property Value

string

CaCertificate

The CA certificate used for decryption

[JsonInclude]
public Certificate CaCertificate { get; }

Property Value

Certificate

CaptureInterfaceName

[JsonInclude]
public string? CaptureInterfaceName { get; }

Property Value

string

CaptureRawPacket

True if fluxzy should capture raw packet matching exchanges

[JsonInclude]
public bool CaptureRawPacket { get; }

Property Value

bool

CertificateCacheDirectory

The default certificate cache directory. Setting this value helps improving performance because producing root certificate on the fly is expensive.

[JsonInclude]
public string CertificateCacheDirectory { get; }

Property Value

string

CheckCertificateRevocation

Check whether server certificate is valid. Default value is true

[JsonInclude]
public bool CheckCertificateRevocation { get; }

Property Value

bool

ConnectionPerHost

Number of concurrent connection per host maintained by the connection pool excluding websocket connections. Default value is 16.

[JsonInclude]
public int ConnectionPerHost { get; }

Property Value

int

DisableCertificateCache

Do not use certificate cache. Regenerate certificate whenever asked

[JsonInclude]
public bool DisableCertificateCache { get; }

Property Value

bool

GlobalSkipSslDecryption

Skip SSL decryption for any exchanges. This setting cannot be overriden by rules

[JsonInclude]
public bool GlobalSkipSslDecryption { get; }

Property Value

bool

MaxExchangeCount

Fluxzy will exit when the number of exchanges reaches this value. Default value is null (no limit)

[JsonInclude]
public int? MaxExchangeCount { get; set; }

Property Value

int?

OutOfProcCapture

When set to true, the raw network capture will be done out of process.

[JsonInclude]
public bool OutOfProcCapture { get; }

Property Value

bool

SaveFilter

Specify a filter which trigger save to directory when passed. When this filter is null, all exchanges will be saved.

[JsonInclude]
public Filter? SaveFilter { get; }

Property Value

Filter

ServerProtocols

Ssl protocols for remote host connection

[JsonInclude]
public SslProtocols ServerProtocols { get; }

Property Value

SslProtocols

UseBouncyCastle

Using bouncy castle for ssl streams instead of OsDefault (SChannel or OpenSSL)

[JsonInclude]
public bool UseBouncyCastle { get; }

Property Value

bool

Verbose

Verbose mode

public bool Verbose { get; }

Property Value

bool

Methods

AddAlterationRules(Action, Filter)

Add alteration rules from a filter and an action

public FluxzySetting AddAlterationRules(Action action, Filter filter)

Parameters

action Action
filter Filter

Returns

FluxzySetting

AddAlterationRules(params Rule[])

Add alteration rules

public FluxzySetting AddAlterationRules(params Rule[] rules)

Parameters

rules Rule[]

Returns

FluxzySetting

AddAlterationRules(IEnumerable<Rule>)

Add alteration rules

public FluxzySetting AddAlterationRules(IEnumerable<Rule> rules)

Parameters

rules IEnumerable<Rule>

Returns

FluxzySetting

AddAlterationRules(string)

Add alteration rules from a config file

public FluxzySetting AddAlterationRules(string plainConfiguration)

Parameters

plainConfiguration string

Returns

FluxzySetting

AddAlterationRulesForAny(Action)

Add alteration rules for any requests

public FluxzySetting AddAlterationRulesForAny(Action action)

Parameters

action Action

Returns

FluxzySetting

AddBoundAddress(IPAddress, int, bool?)

Append a new endpoint to the bound address list

public FluxzySetting AddBoundAddress(IPAddress boundAddress, int port, bool? @default = null)

Parameters

boundAddress IPAddress

Valid IPv4 or IPv6 address to listen to. This property accepts IpAddress.Any (0.0.0.0).

port int

Port number to listen to

default bool?

If this Endpoint is the default endpoint. When true, the automatic system proxy address will prioritize this endpoint

Returns

FluxzySetting

Exceptions

ArgumentOutOfRangeException

AddBoundAddress(IPEndPoint, bool?)

Append a new endpoint to the bound address list

public FluxzySetting AddBoundAddress(IPEndPoint endpoint, bool? @default = null)

Parameters

endpoint IPEndPoint

The IP address and port to listen to

default bool?

If this Endpoint is the default endpoint. When true, the automatic system proxy address will prioritize this endpoint

Returns

FluxzySetting

AddBoundAddress(string, int, bool?)

Append a new endpoint to the bound address list

public FluxzySetting AddBoundAddress(string boundAddress, int port, bool? @default = null)

Parameters

boundAddress string

Valid IPv4 or IPv6 address to listen to

port int

Port number to listen to

default bool?

If this Endpoint is the default endpoint. When true, the automatic system proxy address will prioritize this endpoint

Returns

FluxzySetting

Exceptions

ArgumentException
ArgumentOutOfRangeException

AddTunneledHosts(params string[])

Add hosts that fluxzy should not decrypt

public FluxzySetting AddTunneledHosts(params string[] hosts)

Parameters

hosts string[]

Returns

FluxzySetting

ClearAlterationRules()

Remove existing alteration rules

public FluxzySetting ClearAlterationRules()

Returns

FluxzySetting

ClearBoundAddresses()

Clear all bound addresses

public FluxzySetting ClearBoundAddresses()

Returns

FluxzySetting

ClearSaveFilter()

public FluxzySetting ClearSaveFilter()

Returns

FluxzySetting

CreateDefault()

Create a default setting for a fluxzy capture session. Fluxzy will listen on 127.0.0.1 on port 44344

public static FluxzySetting CreateDefault()

Returns

FluxzySetting

CreateDefault(IPAddress, int)

Create a default setting for a fluxzy capture session with provided address and port

public static FluxzySetting CreateDefault(IPAddress address, int port)

Parameters

address IPAddress
port int

Returns

FluxzySetting

SetArchivingPolicy(ArchivingPolicy)

Set archiving policy

public FluxzySetting SetArchivingPolicy(ArchivingPolicy archivingPolicy)

Parameters

archivingPolicy ArchivingPolicy

Returns

FluxzySetting

Exceptions

ArgumentNullException

SetAutoInstallCertificate(bool)

If true, fluxzy will automatically install the certificate in the user store. This call needs administrator/root privileges.

public FluxzySetting SetAutoInstallCertificate(bool value)

Parameters

value bool

Returns

FluxzySetting

SetBoundAddress(IPAddress, int)

Clear all bound addresses and set a new one

public FluxzySetting SetBoundAddress(IPAddress boundAddress, int port)

Parameters

boundAddress IPAddress

Valid IPv4 or IPv6 address to listen to. This property accepts IpAddress.Any (0.0.0.0).

port int

Port number to listen to

Returns

FluxzySetting

Exceptions

ArgumentOutOfRangeException

SetBoundAddress(string, int)

Clear all bound addresses and set a new one

public FluxzySetting SetBoundAddress(string boundAddress, int port)

Parameters

boundAddress string
port int

Returns

FluxzySetting

Exceptions

ArgumentException
ArgumentOutOfRangeException

SetByPassedHosts(params string[])

Set hosts that bypass the proxy

public FluxzySetting SetByPassedHosts(params string[] hosts)

Parameters

hosts string[]

Returns

FluxzySetting

SetCaCertificate(Certificate)

Change the default certificate used by fluxzy

public FluxzySetting SetCaCertificate(Certificate caCertificate)

Parameters

caCertificate Certificate

Returns

FluxzySetting

SetCertificateCacheDirectory(string)

Set the directory of the certificate cache.

public FluxzySetting SetCertificateCacheDirectory(string path)

Parameters

path string

Returns

FluxzySetting

SetCheckCertificateRevocation(bool)

If false, fluxzy will not check the revocation status of remote certificates.

public FluxzySetting SetCheckCertificateRevocation(bool value)

Parameters

value bool

Returns

FluxzySetting

SetConnectionPerHost(int)

Set the number of concurrent connection per host maintained by the connection pool excluding websocket connections. This option is ignored for H2 remote connection

public FluxzySetting SetConnectionPerHost(int connectionPerHost)

Parameters

connectionPerHost int

Returns

FluxzySetting

Exceptions

ArgumentOutOfRangeException

SetDisableCertificateCache(bool)

public FluxzySetting SetDisableCertificateCache(bool value)

Parameters

value bool

Returns

FluxzySetting

SetOutDirectory(string)

public FluxzySetting SetOutDirectory(string directoryName)

Parameters

directoryName string

Returns

FluxzySetting

SetSaveFilter(Filter)

public FluxzySetting SetSaveFilter(Filter saveFilter)

Parameters

saveFilter Filter

Returns

FluxzySetting

SetServerProtocols(SslProtocols)

Set the default protocols used by fluxzy

public FluxzySetting SetServerProtocols(SslProtocols protocols)

Parameters

protocols SslProtocols

Returns

FluxzySetting

SetSkipGlobalSslDecryption(bool)

Skip global ssl decryption. Fluxzy will performs only blind ssl tunneling. This option may disables several filters and actions based on clear text traffic.

public FluxzySetting SetSkipGlobalSslDecryption(bool value)

Parameters

value bool

Returns

FluxzySetting

SetVerbose(bool)

public FluxzySetting SetVerbose(bool value)

Parameters

value bool

Returns

FluxzySetting

UseBouncyCastleSslEngine()

Use the managed BouncyCastle engine

public FluxzySetting UseBouncyCastleSslEngine()

Returns

FluxzySetting

UseOsSslEngine()

Use the default SSL Engine provided by the operating system

public FluxzySetting UseOsSslEngine()

Returns

FluxzySetting