mirror of
https://github.com/karl0ss/homepage.git
synced 2025-05-03 22:13:39 +01:00
initial lint fixes
This commit is contained in:
parent
c9258a08ae
commit
6a854ce66c
@ -1,10 +1,12 @@
|
|||||||
/* eslint-disable no-underscore-dangle */
|
/* eslint-disable no-underscore-dangle */
|
||||||
import crypto from 'crypto';
|
import crypto from 'crypto';
|
||||||
import querystring from 'querystring';
|
import querystring from 'querystring';
|
||||||
|
import { sha256, uniqueRid, validateRid, createEncryptionToken, decrypt, encrypt } from "./tools"
|
||||||
|
|
||||||
import getServiceWidget from "utils/config/service-helpers";
|
import getServiceWidget from "utils/config/service-helpers";
|
||||||
import { httpProxy } from "utils/proxy/http";
|
import { httpProxy } from "utils/proxy/http";
|
||||||
import createLogger from "utils/logger";
|
import createLogger from "utils/logger";
|
||||||
import { sha256, uniqueRid, validateRid, createEncryptionToken, decrypt, encrypt } from "./tools"
|
|
||||||
|
|
||||||
const proxyName = "jdownloaderProxyHandler";
|
const proxyName = "jdownloaderProxyHandler";
|
||||||
const logger = createLogger(proxyName);
|
const logger = createLogger(proxyName);
|
||||||
@ -26,9 +28,7 @@ async function getWidget(req) {
|
|||||||
|
|
||||||
async function login(loginSecret, deviceSecret, params) {
|
async function login(loginSecret, deviceSecret, params) {
|
||||||
const rid = uniqueRid();
|
const rid = uniqueRid();
|
||||||
const path = '/my/connect' +
|
const path = `/my/connect?${querystring.stringify(Object.assign({}, params, { rid }))}`;
|
||||||
'?' +
|
|
||||||
querystring.stringify(Object.assign({}, params, { rid }));
|
|
||||||
const signature = crypto
|
const signature = crypto
|
||||||
.createHmac('sha256', loginSecret)
|
.createHmac('sha256', loginSecret)
|
||||||
.update(path)
|
.update(path)
|
||||||
@ -63,16 +63,14 @@ async function login(loginSecret, deviceSecret, params) {
|
|||||||
|
|
||||||
async function getDevice(serverEncryptionToken, deviceName, params) {
|
async function getDevice(serverEncryptionToken, deviceName, params) {
|
||||||
const rid = uniqueRid();
|
const rid = uniqueRid();
|
||||||
const path = '/my/listdevices' +
|
const path = `/my/listdevices?${querystring.stringify(Object.assign({}, params, { rid }))}`;
|
||||||
'?' +
|
|
||||||
querystring.stringify(Object.assign({}, params, { rid }));
|
|
||||||
const signature = crypto
|
const signature = crypto
|
||||||
.createHmac('sha256', serverEncryptionToken)
|
.createHmac('sha256', serverEncryptionToken)
|
||||||
.update(path)
|
.update(path)
|
||||||
.digest('hex');
|
.digest('hex');
|
||||||
const url = `${new URL(`https://api.jdownloader.org${path}&signature=${signature}`)}`
|
const url = `${new URL(`https://api.jdownloader.org${path}&signature=${signature}`)}`
|
||||||
|
|
||||||
const [status, contentType, data] = await httpProxy(url, {
|
const [status, , data] = await httpProxy(url, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json',
|
'Content-Type': 'application/json',
|
||||||
@ -86,13 +84,11 @@ async function getDevice(serverEncryptionToken, deviceName, params) {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
const decryptedData = JSON.parse(decrypt(data.toString(), serverEncryptionToken))
|
const decryptedData = JSON.parse(decrypt(data.toString(), serverEncryptionToken))
|
||||||
const filteredDevice = decryptedData.list.filter(function (device) {
|
const filteredDevice = decryptedData.list.filter(device => device.name === deviceName);
|
||||||
return device.name == deviceName;
|
|
||||||
});
|
|
||||||
return [status, filteredDevice[0].id];
|
return [status, filteredDevice[0].id];
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error("Error decoding jdownloader API data. Data: %s", data.toString());
|
logger.error("Error decoding jdownloader API data. Data: %s", data.toString());
|
||||||
return [status, None];
|
return [status, null];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -109,8 +105,8 @@ function createBody(rid, query, params) {
|
|||||||
async function queryPackages(deviceEncryptionToken, deviceId, sessionToken, params) {
|
async function queryPackages(deviceEncryptionToken, deviceId, sessionToken, params) {
|
||||||
const rid = uniqueRid();
|
const rid = uniqueRid();
|
||||||
const body = encrypt(JSON.stringify(createBody(rid, '/downloadsV2/queryPackages', params)), deviceEncryptionToken);
|
const body = encrypt(JSON.stringify(createBody(rid, '/downloadsV2/queryPackages', params)), deviceEncryptionToken);
|
||||||
const url = `${new URL('https://api.jdownloader.org/t_' + encodeURI(sessionToken) + '_' + encodeURI(deviceId) + '/downloadsV2/queryPackages')}`
|
const url = `${new URL(`https://api.jdownloader.org/t_${encodeURI(sessionToken)}_${encodeURI(deviceId)}/downloadsV2/queryPackages`)}`
|
||||||
const [status, contentType, data] = await httpProxy(url, {
|
const [status, , data] = await httpProxy(url, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
body,
|
body,
|
||||||
});
|
});
|
||||||
@ -125,7 +121,7 @@ async function queryPackages(deviceEncryptionToken, deviceId, sessionToken, para
|
|||||||
return decryptedData.data;
|
return decryptedData.data;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error("Error decoding JDRss jdownloader data. Data: %s", data.toString());
|
logger.error("Error decoding JDRss jdownloader data. Data: %s", data.toString());
|
||||||
return [status, None];
|
return [status, null];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -141,8 +137,8 @@ export default async function jdownloaderProxyHandler(req, res) {
|
|||||||
const username = widget.username
|
const username = widget.username
|
||||||
const password = widget.password
|
const password = widget.password
|
||||||
const appKey = "homepage"
|
const appKey = "homepage"
|
||||||
const loginSecret = sha256(username + password + 'server')
|
const loginSecret = sha256(`${username}${password}server`)
|
||||||
const deviceSecret = sha256(username + password + 'device')
|
const deviceSecret = sha256(`${username}${password}device`)
|
||||||
const email = username;
|
const email = username;
|
||||||
|
|
||||||
const loginData = await login(loginSecret, deviceSecret, {
|
const loginData = await login(loginSecret, deviceSecret, {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user