kaven-utils - v6.2.0
    Preparing search index...

    Interface IRelayProxyClientConfig

    A single relay client entry in IRelayProxyConfig.CLIENTS.

    6.1.8

    2026-07-28

    interface IRelayProxyClientConfig {
        CERT_FILE?: string;
        CONNECT_TO_HOST?: string;
        CONNECT_TO_PORT?: number;
        CONNECT_TO_TLS?: boolean;
        DIAL_HOST?: string;
        DIAL_PORT?: number;
        ENABLE?: boolean;
        ID?: string;
        LISTEN_HOST?: string;
        LISTEN_PORT?: number;
        LOCAL_PROXY_HOST?: string;
        LOCAL_PROXY_PORT?: number;
        LOCAL_PROXY_TYPE_LIST?: ("http" | "socks4" | "socks5" | RelayProxyType)[];
        TARGET_ID_LIST?: string[];
        TCP_HOLE_PUNCH?: boolean;
        TCP_HOLE_PUNCH_TIMEOUT?: number;
        TYPE:
            | "proxy-origin"
            | "proxy-target"
            | "forward-listen"
            | "forward-dial"
            | RelayProxyClientType;
    }
    Index
    CERT_FILE?: string

    Path to a client-specific cert.json holding the public CA certificate, pinned public server certificate, public client certificate, and client private key (caCert, serverCert, clientCert, and clientKey). Never distribute the CA private key or server private key to clients.

    When the relay server runs in the same process (SERVER_TLS: true), this can be omitted — the server's cert set is reused. A client-only process can receive the automatically generated client/ bundle and point CERT_FILE at its metadata file. Replacing the relay server certificate requires updating serverCert on every client.

    CONNECT_TO_HOST?: string

    Host of the relay server this client connects to. Defaults to the locally started server's host when omitted.

    CONNECT_TO_PORT?: number

    Port of the relay server this client connects to. Defaults to the locally started server's port when omitted.

    CONNECT_TO_TLS?: boolean

    When true, connect to the relay server over TLS. Must match the server's SERVER_TLS setting.

    DIAL_HOST?: string

    (forward-dial only) Destination host the forward dialer connects to on demand.

    DIAL_PORT?: number

    (forward-dial only) Destination port the forward dialer connects to on demand.

    ENABLE?: boolean

    Whether this client is enabled.

    ID?: string

    A name this dialer advertises so listeners with a matching TARGET_ID_LIST can select it. When omitted the dialer is anonymous.

    LISTEN_HOST?: string

    (forward-listen only) Host the forward listener binds to. Connections here are forwarded verbatim to the paired forward-dial peer.

    LISTEN_PORT?: number

    (forward-listen only) Port the forward listener binds to. 0 selects a free port.

    LOCAL_PROXY_HOST?: string

    (proxy-origin only) Host the local proxy listener binds to.

    LOCAL_PROXY_PORT?: number

    (proxy-origin only) Port the local proxy listener binds to. 0 selects a free port.

    LOCAL_PROXY_TYPE_LIST?: ("http" | "socks4" | "socks5" | RelayProxyType)[]

    (proxy-origin only) Proxy protocols accepted by the local listener. Defaults to HTTP, SOCKS4, and SOCKS5 on the same port.

    TARGET_ID_LIST?: string[]

    Names of the dialer clients this listener may tunnel to. The listener waits for a dialer that advertised (via ID) one of these names and binds to it. When empty/omitted, it binds to the first peer that joins.

    TCP_HOLE_PUNCH?: boolean

    Try to establish a direct TCP transport to the selected peer. Failed attempts automatically continue through the relay server.

    TCP_HOLE_PUNCH_TIMEOUT?: number

    Maximum time in milliseconds allowed for a direct TCP attempt. Defaults to 3000.

    TYPE:
        | "proxy-origin"
        | "proxy-target"
        | "forward-listen"
        | "forward-dial"
        | RelayProxyClientType

    The role this client plays. Accepts the enum member or its raw string value so config files parsed from JSON work directly.