@piarre/ts-freebox
Version:
51 lines (49 loc) • 2.04 kB
text/typescript
interface ConnectionConfig {
/** should the Freebox respond to external ping requests */
ping: boolean;
/** is the admin password secure enough to enable remote access */
is_secure_pass: boolean;
/** enable/disable HTTP remote access */
remote_access: boolean;
/** port number to use for remote HTTP access */
remote_access_port: number;
/** This field indicate the minimum possible value for remote_access_port (see ConnectionStatus ipv4_port_range) */
remote_access_min_port: number;
/** This field indicate the maximum possible value for remote_access_port (see ConnectionStatus ipv4_port_range) */
remote_access_max_port: number;
/** IPv4 to use for remote access (can be missing if connection is down) */
remote_access_ip: string;
/** is remote access enabled for apps, or share link */
api_remote_access: boolean;
/** enable/disable Wake-on-lan proxy */
wol: boolean;
/** is ads blocking feature enabled */
adblock: boolean;
/** if set to true adblock setting has never been set by the user */
adblock_not_set: boolean;
/** if false, user has disabled new token request. New apps can’t request a new token. Apps that already have a token are still allowed */
allow_token_request: boolean;
sip_alg: keyof typeof SipAlg;
}
interface IPv6ConnectionConfiguration {
/** is IPv6 enabled */
ipv6_enabled: boolean;
/** is IPv6 firewall enabled */
ipv6_firewall: boolean;
/** Freebox IPv6 link local address */
ipv6ll: string;
/** list of IPv6 delegations */
delegations: Delegation[];
}
interface Delegation {
/** IPv6 prefix */
prefix: string;
/** the next hop for the prefix */
next_hop: string;
}
declare enum SipAlg {
disabled = "Fully disable SIP ALG",
direct_media = "Enable SIP ALG, RTP only allowed between SIP UA",
any_media = "Enable SIP ALG, RTP allowed between any host (dangerous for untrusted hosts)"
}
export type { ConnectionConfig, IPv6ConnectionConfiguration };