UNPKG

router-toolkit

Version:

A npm module for managing routers and access points

38 lines (37 loc) 1.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axios_1 = __importDefault(require("axios")); const Router_1 = __importDefault(require("../Common/Router")); const crypto_js_1 = __importDefault(require("crypto-js")); // import fetch from 'node-fetch'; class ZTEv1 extends Router_1.default { constructor(host, port, username, password) { super(host, port, username, password); } async login() { const initData = (await axios_1.default.get(`http://${this.host}:${this.port}`)).data; const sessToken = initData.split('Frm_Loginchecktoken", "')[1].split('"')[0]; const loginToken = initData.split('Frm_Logintoken", "')[1].split('"')[0]; const pwdRandom = String(Math.round(Math.random() * 89999999) + 10000000); const encodedPassword = crypto_js_1.default.SHA256(this.password + pwdRandom).toString(); // const res = fetch(`http://${this.host}:${this.port}`, { // method: 'POST', // body: new URLSearchParams({ // action: 'login', // Username: this.username, // Password: encodedPassword, // Frm_Logintoken: loginToken, // UserRandomNum: pwdRandom, // Frm_Loginchecktoken: sessToken, // }), // redirect: 'error', // }).catch((err) => console.log(err)); } async getWlans() { const cookie = await this.login(); } } exports.default = ZTEv1;