UNPKG

eufy-security-client-fork

Version:

Client to comunicate with Eufy-Security devices

51 lines (50 loc) 3.81 kB
import { Socket } from "dgram"; import * as NodeRSA from "node-rsa"; import { P2PMessageParts, P2PMessageState, P2PQueueMessage } from "./interfaces"; import { CommandType, VideoCodec } from "./types"; import { Address } from "./models"; import { DeviceType } from "../http/types"; export declare const MAGIC_WORD = "XZYH"; export declare const isPrivateIp: (ip: string) => boolean; export declare const getLocalIpAddress: (init?: string) => string; export declare const buildLookupWithKeyPayload: (socket: Socket, p2pDid: string, dskKey: string) => Buffer; export declare const buildLookupWithKeyPayload2: (p2pDid: string, dskKey: string) => Buffer; export declare const buildLookupWithKeyPayload3: (p2pDid: string, address: Address, data: Buffer) => Buffer; export declare const buildCheckCamPayload: (p2pDid: string) => Buffer; export declare const buildCheckCamPayload2: (p2pDid: string, data: Buffer) => Buffer; export declare const buildIntCommandPayload: (value: number, strValue?: string, channel?: number) => Buffer; export declare const buildStringTypeCommandPayload: (strValue: string, strValueSub: string, channel?: number) => Buffer; export declare const buildIntStringCommandPayload: (value: number, valueSub?: number, strValue?: string, strValueSub?: string, channel?: number) => Buffer; export declare const sendMessage: (socket: Socket, address: { host: string; port: number; }, msgID: Buffer, payload?: Buffer) => Promise<number>; export declare const hasHeader: (msg: Buffer, searchedType: Buffer) => boolean; export declare const buildCommandHeader: (seqNumber: number, commandType: CommandType, p2pDataTypeHeader?: Buffer | null) => Buffer; export declare const buildCommandWithStringTypePayload: (value: string, channel?: number) => Buffer; export declare const sortP2PMessageParts: (messages: P2PMessageParts) => Buffer; export declare const getRSAPrivateKey: (pem: string) => NodeRSA; export declare const getNewRSAPrivateKey: () => NodeRSA; export declare const decryptAESData: (hexkey: string, data: Buffer) => Buffer; export declare const findStartCode: (data: Buffer) => boolean; export declare const isIFrame: (data: Buffer) => boolean; export declare const decryptLockAESData: (key: string, iv: string, data: Buffer) => Buffer; export declare const encryptLockAESData: (key: string, iv: string, data: Buffer) => Buffer; export declare const generateBasicLockAESKey: (adminID: string, stationSN: string) => string; export declare const generateLockSequence: (deviceType: DeviceType) => number; export declare const encodeLockPayload: (data: string) => Buffer; export declare const getLockVectorBytes: (data: string) => string; export declare const decodeLockPayload: (data: Buffer) => string; export declare const decodeBase64: (data: string) => Buffer; export declare const eslTimestamp: (timestamp_in_sec?: number) => number[]; export declare const generateAdvancedLockAESKey: () => string; export declare const getVideoCodec: (data: Buffer) => VideoCodec; export declare const checkT8420: (serialNumber: string) => boolean; export declare const buildVoidCommandPayload: (channel?: number) => Buffer; export declare function isP2PQueueMessage(type: P2PQueueMessage | P2PMessageState): type is P2PQueueMessage; export declare const encryptPayloadData: (data: string | Buffer, key: Buffer, iv: Buffer) => Buffer; export declare const decryptPayloadData: (data: Buffer, key: Buffer, iv: Buffer) => Buffer; export declare const eufyKDF: (key: Buffer) => Buffer; export declare const getAdvancedLockKey: (key: string, publicKey: string) => string; export declare const buildTalkbackAudioFrameHeader: (audioData: Buffer, channel?: number) => Buffer; export declare const decodeP2PCloudIPs: (data: string) => Array<Address>;