Search Results for

    Show / Hide Table of Contents

    Class ProxyProfileSettings

    The full bundle of settings one ProxyProfile applies to a ProxyServer as a single atomic assignment via Profile. Deliberately a plain data bundle, not a type with behavior: applying it is ProxyServer's job (see Profile's setter), so this type has no back-reference and no side effects of its own, per the plan's "Constraints on the policy layer" section.

    Inheritance
    object
    ProxyProfileSettings
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Titanium.Web.Proxy.Options
    Assembly: Titanium.Web.Proxy.dll
    Syntax
    public sealed class ProxyProfileSettings

    Properties

    | Edit this page View Source

    Balanced

    Balanced: today's shipped values, unchanged for existing traffic. Every resource family is enforced (not observed) because Observe still allocates and would leave the OOM paths live by default; TLS 1.2/1.3 only; no outbound destination blocking; no admission cap; no deadlines beyond what already ships disabled today.

    Certificate cache bounds are pinned explicitly here (rather than inherited implicitly from Default) so this profile's real-world memory behavior stays fixed even if the shared default's value is retuned later: 1024 in-memory entries (roughly 10 MB, comfortably above single-session desktop/dev browsing), unbounded on-disk entries (disk is cheap and a warm cache avoids repeat certificate generation across restarts for a trusted, single-user deployment).

    Declaration
    public static ProxyProfileSettings Balanced { get; }
    Property Value
    Type Description
    ProxyProfileSettings
    | Edit this page View Source

    BlockPrivateNetworkDestinations

    Whether outbound connections to private/link-local/metadata addresses are blocked.

    Declaration
    public bool BlockPrivateNetworkDestinations { get; }
    Property Value
    Type Description
    bool
    | Edit this page View Source

    ClientHeaderTimeoutSeconds

    Seconds to wait for a client to finish sending the request line and headers. 0 disables the deadline.

    Declaration
    public int ClientHeaderTimeoutSeconds { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    IdleReadTimeoutSeconds

    Seconds of idle time allowed while reading from the origin. 0 disables the deadline.

    Declaration
    public int IdleReadTimeoutSeconds { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    IdleWriteTimeoutSeconds

    Seconds of idle time allowed while writing to the origin. 0 disables the deadline.

    Declaration
    public int IdleWriteTimeoutSeconds { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    LegacyCompatible

    Opt-in for 4.x migrators: permits legacy TLS and relaxes the non-memory-bounding families to Observe. BodyBudget and DecompressionRatio stay enforced even here, since Observe cannot protect against exhaustion; framing remains enforce-only, as it always is, independent of any profile.

    "Legacy TLS" here means TLS 1.0/1.1 in addition to 1.2/1.3: SSL 2.0/3.0 are not offered because modern .NET's SslStream no longer negotiates them regardless of what SslProtocols flags are requested.

    Declaration
    public static ProxyProfileSettings LegacyCompatible { get; }
    Property Value
    Type Description
    ProxyProfileSettings
    | Edit this page View Source

    MaxConcurrentClientConnections

    Global admission cap applied to MaxConcurrentClientConnections. null disables the global admission gate, matching today's shipped default.

    Declaration
    public int? MaxConcurrentClientConnections { get; }
    Property Value
    Type Description
    int?
    | Edit this page View Source

    PolicyModes

    Which resource-bound families are enforced, observed, or disabled.

    Declaration
    public ProxyPolicyModes PolicyModes { get; }
    Property Value
    Type Description
    ProxyPolicyModes
    | Edit this page View Source

    PublicFacing

    Opt-in for deployments exposed to untrusted clients: Balanced plus outbound destination blocking and finite admission/deadline values, none of which are bounded by default under Balanced.

    Certificate cache bounds are larger than Balanced in both dimensions: 4096 in-memory entries (~40 MB), since many concurrent untrusted clients legitimately touch far more distinct origins than one desktop session, and thrashing certificate generation under a too-small bound is itself a DoS vector. Unlike Balanced, the on-disk cache is also bounded (50,000 entries): untrusted clients can freely enumerate hostnames, and an unbounded on-disk cache would otherwise be a disk-exhaustion vector that Balanced's trusted, single-user assumption does not have to defend against.

    Declaration
    public static ProxyProfileSettings PublicFacing { get; }
    Property Value
    Type Description
    ProxyProfileSettings
    | Edit this page View Source

    RequestTimeoutSeconds

    Total seconds allowed for a single request/response exchange after BeforeRequest returns. 0 disables the deadline.

    Declaration
    public int RequestTimeoutSeconds { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    ResourceLimits

    Header shape, body/decompression budgets, and concurrency/abuse-rate ceilings.

    Declaration
    public ProxyResourceLimits ResourceLimits { get; }
    Property Value
    Type Description
    ProxyResourceLimits
    | Edit this page View Source

    ResponseHeaderTimeoutSeconds

    Seconds to wait for the origin to send response status line and headers. 0 disables the deadline.

    Declaration
    public int ResponseHeaderTimeoutSeconds { get; }
    Property Value
    Type Description
    int
    | Edit this page View Source

    SupportedSslProtocols

    TLS protocol versions negotiated with clients and, unless overridden separately, origins.

    Declaration
    public SslProtocols SupportedSslProtocols { get; }
    Property Value
    Type Description
    SslProtocols

    Methods

    | Edit this page View Source

    For(ProxyProfile)

    Returns the shipped bundle for profile.

    Declaration
    public static ProxyProfileSettings For(ProxyProfile profile)
    Parameters
    Type Name Description
    ProxyProfile profile
    Returns
    Type Description
    ProxyProfileSettings
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX