0.2.3 • Published 2 years ago

@spacepumpkin/gx90-api v0.2.3

Weekly downloads
-
License
ISC
Repository
gitlab
Last release
2 years ago

GX90 API

A barebones WIP module for interfacing with a TPLink router running the GX90 firmware.

Install

npm i @spacepumpkin/gx90-api

Usage

CLI

This module provides a CLI for convenience and can be invoked with npx gx90 cli <COMMAND> <OPTS>.

Opts are given in the following form --KEY=VALUE (for example --password=hunter2)

KeyDefaultNotes
methodlocalAuthentication method. Supports both local login with "local" (default) or using TPLink ID with "cloud"
passwordPassword to log in with. Either router's admin creds or TPLink ID's password
emailYour TPLink ID's email address (only used if logging in wth TPLink ID)
hosthttp://tplinkwifi.netHostname of the router. TPLink routers prefer tplinkwifi.net but this might not be accessible if you've got custom DNS settings

As a module

import { login, getDevices } from '@spacepumpkin/gx90-api'

async function start() {
  const creds = await login('password') // Optionally specify the host in the second param (ie, http://192.168.0.1)
  const connectedDevices = await getDevices(creds)
}

start()

login

Logs in to the router using the admin password. Returns a credentials object used by all other methods.

getDevices

Gets an array of currently connected devices. This is used internally by the router to populate the network map.

Running tests

Tests are fully mocked out so no real network requests are made

TODO: Add a seperate test suite for interfacing with a real device

npm test

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.3-test4

2 years ago

0.0.3-test3

2 years ago

0.0.3-test2

2 years ago

0.0.3-test

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago