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
ArchivingPolicy
Archiving policy
[JsonInclude]
public ArchivingPolicy ArchivingPolicy { get; }
Property Value
AutoInstallCertificate
When set to true, fluxzy will automatically install default certificate when starting.
[JsonInclude]
public bool AutoInstallCertificate { get; }
Property Value
BoundPoints
Proxy listen address
[JsonInclude]
public HashSet<ProxyBindPoint> BoundPoints { get; }
Property Value
BoundPointsDescription
Returns a friendly description of the bound points
public string BoundPointsDescription { get; }
Property Value
ByPassHost
Hosts that by pass proxy
public IReadOnlyCollection<string> ByPassHost { get; }
Property Value
ByPassHostFlat
[JsonInclude]
public string ByPassHostFlat { get; }
Property Value
CaCertificate
The CA certificate used for decryption
[JsonInclude]
public Certificate CaCertificate { get; }
Property Value
CaptureInterfaceName
[JsonInclude]
public string? CaptureInterfaceName { get; }
Property Value
CaptureRawPacket
True if fluxzy should capture raw packet matching exchanges
[JsonInclude]
public bool CaptureRawPacket { get; }
Property Value
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
CheckCertificateRevocation
Check whether server certificate is valid. Default value is true
[JsonInclude]
public bool CheckCertificateRevocation { get; }
Property Value
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
DisableCertificateCache
Do not use certificate cache. Regenerate certificate whenever asked
[JsonInclude]
public bool DisableCertificateCache { get; }
Property Value
GlobalSkipSslDecryption
Skip SSL decryption for any exchanges. This setting cannot be overriden by rules
[JsonInclude]
public bool GlobalSkipSslDecryption { get; }
Property Value
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
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
ServerProtocols
Ssl protocols for remote host connection
[JsonInclude]
public SslProtocols ServerProtocols { get; }
Property Value
UseBouncyCastle
Using bouncy castle for ssl streams instead of OsDefault (SChannel or OpenSSL)
[JsonInclude]
public bool UseBouncyCastle { get; }
Property Value
Verbose
Verbose mode
public bool Verbose { get; }
Property Value
Methods
AddAlterationRules(Action, Filter)
Add alteration rules from a filter and an action
public FluxzySetting AddAlterationRules(Action action, Filter filter)
Parameters
Returns
AddAlterationRules(params Rule[])
Add alteration rules
public FluxzySetting AddAlterationRules(params Rule[] rules)
Parameters
rules
Rule[]
Returns
AddAlterationRules(IEnumerable<Rule>)
Add alteration rules
public FluxzySetting AddAlterationRules(IEnumerable<Rule> rules)
Parameters
rules
IEnumerable<Rule>
Returns
AddAlterationRules(string)
Add alteration rules from a config file
public FluxzySetting AddAlterationRules(string plainConfiguration)
Parameters
plainConfiguration
string
Returns
AddAlterationRulesForAny(Action)
Add alteration rules for any requests
public FluxzySetting AddAlterationRulesForAny(Action action)
Parameters
action
Action
Returns
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
IPAddressValid IPv4 or IPv6 address to listen to. This property accepts IpAddress.Any (0.0.0.0).
port
intPort 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
Exceptions
AddBoundAddress(IPEndPoint, bool?)
Append a new endpoint to the bound address list
public FluxzySetting AddBoundAddress(IPEndPoint endpoint, bool? @default = null)
Parameters
endpoint
IPEndPointThe 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
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
stringValid IPv4 or IPv6 address to listen to
port
intPort 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
Exceptions
AddTunneledHosts(params string[])
Add hosts that fluxzy should not decrypt
public FluxzySetting AddTunneledHosts(params string[] hosts)
Parameters
hosts
string[]
Returns
ClearAlterationRules()
Remove existing alteration rules
public FluxzySetting ClearAlterationRules()
Returns
ClearBoundAddresses()
Clear all bound addresses
public FluxzySetting ClearBoundAddresses()
Returns
ClearSaveFilter()
public FluxzySetting ClearSaveFilter()
Returns
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
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
Returns
SetArchivingPolicy(ArchivingPolicy)
Set archiving policy
public FluxzySetting SetArchivingPolicy(ArchivingPolicy archivingPolicy)
Parameters
archivingPolicy
ArchivingPolicy
Returns
Exceptions
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
SetBoundAddress(IPAddress, int)
Clear all bound addresses and set a new one
public FluxzySetting SetBoundAddress(IPAddress boundAddress, int port)
Parameters
boundAddress
IPAddressValid IPv4 or IPv6 address to listen to. This property accepts IpAddress.Any (0.0.0.0).
port
intPort number to listen to
Returns
Exceptions
SetBoundAddress(string, int)
Clear all bound addresses and set a new one
public FluxzySetting SetBoundAddress(string boundAddress, int port)
Parameters
Returns
Exceptions
SetByPassedHosts(params string[])
Set hosts that bypass the proxy
public FluxzySetting SetByPassedHosts(params string[] hosts)
Parameters
hosts
string[]
Returns
SetCaCertificate(Certificate)
Change the default certificate used by fluxzy
public FluxzySetting SetCaCertificate(Certificate caCertificate)
Parameters
caCertificate
Certificate
Returns
SetCertificateCacheDirectory(string)
Set the directory of the certificate cache.
public FluxzySetting SetCertificateCacheDirectory(string path)
Parameters
path
string
Returns
SetCheckCertificateRevocation(bool)
If false, fluxzy will not check the revocation status of remote certificates.
public FluxzySetting SetCheckCertificateRevocation(bool value)
Parameters
value
bool
Returns
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
Exceptions
SetDisableCertificateCache(bool)
public FluxzySetting SetDisableCertificateCache(bool value)
Parameters
value
bool
Returns
SetOutDirectory(string)
public FluxzySetting SetOutDirectory(string directoryName)
Parameters
directoryName
string
Returns
SetSaveFilter(Filter)
public FluxzySetting SetSaveFilter(Filter saveFilter)
Parameters
saveFilter
Filter
Returns
SetServerProtocols(SslProtocols)
Set the default protocols used by fluxzy
public FluxzySetting SetServerProtocols(SslProtocols protocols)
Parameters
protocols
SslProtocols
Returns
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
SetVerbose(bool)
public FluxzySetting SetVerbose(bool value)
Parameters
value
bool
Returns
UseBouncyCastleSslEngine()
Use the managed BouncyCastle engine
public FluxzySetting UseBouncyCastleSslEngine()
Returns
UseOsSslEngine()
Use the default SSL Engine provided by the operating system
public FluxzySetting UseOsSslEngine()