@piarre/ts-freebox
Version:
50 lines (48 loc) • 1.6 kB
TypeScript
interface ConnectionStatus {
state: keyof typeof State;
type: keyof typeof Type;
media: keyof typeof Media;
/** Freebox IPv4 address
* NOTE: this field is only available when connection state is up
*/
ipv4: string;
/** Freebox IPv6 address
* NOTE: this field is only available when connection state is up
*/
ipv6: string;
/** current upload rate in byte/s */
rate_up: number;
/** current download rate in byte/s */
rate_down: number;
/** available upload bandwidth in bit/s */
bandwith_up: number;
/** available download bandwidth in bit/s */
bandwith_down: number;
/** total uploaded bytes since last connection */
bytes_up: number;
/** total downloaded bytes since last connection */
bytes_down: number;
/** Some customers share the same IPv4 and each customer is then assigned a port range.
* The first value is the first port of the assigned range and the second value is the last port (inclusive).
* All PortForwardingConfig must use ports in this range to be effective.
*/
ipv4_port_range: [number, number];
}
declare enum State {
going_up = "connection is initializing",
up = "connection is active",
going_down = "connection is about to become inactive",
down = "connection is inactive"
}
declare enum Type {
ethernet = "FTTH/ethernet",
rfc2684 = "xDSL (unbundled)",
pppoatm = "xDSL"
}
declare enum Media {
ftth = "FTTH",
ethernet = "ethernet",
xdsl = "xDSL",
backup_4g = "Internet Backup"
}
export type { ConnectionStatus };