UNPKG

fritzbox-api

Version:

Straightforward, lightweight and extendable Node.js library to communicate with FRITZ!Box devices

62 lines (43 loc) 1.85 kB
<h1 align="center">fritzbox-api</h1> <p align="center"> <em>Node.js library to control FRITZ!Box devices using JavaScript ES6.</em> </p> <p align="center"> <a href="examples">Examples</a> · <a href="src">Source</a> · <a href="LICENSE">License</a> </p> <p align="center"> <a href="https://github.com/aoephtua/fritzbox-api/blob/main/LICENSE"> <img src="https://img.shields.io/badge/License-MIT-blue.svg?label=license" alt="license" /> </a>&nbsp; <a href="https://www.npmjs.com/package/fritzbox-api"> <img src="https://img.shields.io/npm/v/fritzbox-api?label=npm" alt="npm" /> </a>&nbsp; <a href="https://www.npmjs.com/package/fritzbox-api"> <img src="https://img.shields.io/npm/dw/fritzbox-api?label=downloads" alt="downloads" /> </a> </p> ## Introduction Straightforward, lightweight and extendable Node.js library to communicate with FRITZ!Box devices. Full compatibility with PBKDF2 (from FRITZ!OS 7.24) for more secure authentication process is implemented. Backwards compatibility with MD5 is supported. The algorithm is automatically selected based on the version of the challenge. Flexible data accessing by parameterizing data.lua endpoint. API can return JSON response for every single WebUI page. ## Installing Using npm: $ npm install fritzbox-api Once the package is installed, you can import the class: ```javascript import FritzBoxApi from 'fritzbox-api'; ``` ## Usage ```javascript const fritzBoxApi = new FritzBoxApi({ url: 'http://192.168.178.1' }); if (await fritzBoxApi.login('username', 'password')) { const data = await fritzBoxApi.getData({ page: 'overview' }); } ``` See [examples](examples) to get an insight. ## License This project is licensed under [MIT](LICENSE).