widget refactoring

This commit is contained in:
Ben Phelps 2022-09-26 00:35:54 +03:00
parent 03fa2f86d7
commit 035dd25ece
29 changed files with 851 additions and 10 deletions

View file

@ -0,0 +1,30 @@
import RuTorrent from "rutorrent-promise";
import getServiceWidget from "utils/service-helpers";
export default async function rutorrentProxyHandler(req, res) {
const { group, service } = req.query;
if (group && service) {
const widget = await getServiceWidget(group, service);
if (widget) {
const constructedUrl = new URL(widget.url);
const rutorrent = new RuTorrent({
host: constructedUrl.hostname,
port: constructedUrl.port,
path: constructedUrl.pathname,
ssl: constructedUrl.protocol === "https:",
username: widget.username,
password: widget.password,
});
const data = await rutorrent.get(["d.get_down_rate", "d.get_up_rate", "d.get_state"]);
return res.status(200).send(data);
}
}
return res.status(400).json({ error: "Invalid proxy service type" });
}