router-toolkit
Version:
A npm module for managing routers and access points
38 lines (37 loc) • 1.61 kB
JavaScript
;
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;