49 lines
1.6 KiB
JavaScript
Raw Normal View History

import genericProxyHandler from "utils/proxies/generic";
import credentialedProxyHandler from "utils/proxies/credentialed";
import rutorrentProxyHandler from "utils/proxies/rutorrent";
import nzbgetProxyHandler from "utils/proxies/nzbget";
import npmProxyHandler from "utils/proxies/npm";
import transmissionProxyHandler from "utils/proxies/transmission";
const serviceProxyHandlers = {
// uses query param auth
emby: genericProxyHandler,
2022-09-05 08:19:50 +03:00
jellyfin: genericProxyHandler,
pihole: genericProxyHandler,
radarr: genericProxyHandler,
sonarr: genericProxyHandler,
2022-09-14 19:30:51 -07:00
lidarr: genericProxyHandler,
2022-09-11 19:49:18 -07:00
readarr: genericProxyHandler,
2022-09-14 16:15:26 -07:00
bazarr: genericProxyHandler,
speedtest: genericProxyHandler,
tautulli: genericProxyHandler,
traefik: genericProxyHandler,
2022-09-12 02:22:39 +01:00
sabnzbd: genericProxyHandler,
jackett: genericProxyHandler,
2022-09-12 10:59:56 +03:00
// uses X-API-Key (or similar) header auth
2022-09-11 04:39:40 +01:00
gotify: credentialedProxyHandler,
portainer: credentialedProxyHandler,
jellyseerr: credentialedProxyHandler,
2022-09-11 17:24:33 +03:00
overseerr: credentialedProxyHandler,
ombi: credentialedProxyHandler,
2022-09-12 10:59:56 +03:00
coinmarketcap: credentialedProxyHandler,
2022-09-12 17:56:04 +01:00
prowlarr: credentialedProxyHandler,
// super specific handlers
rutorrent: rutorrentProxyHandler,
nzbget: nzbgetProxyHandler,
npm: npmProxyHandler,
transmission: transmissionProxyHandler,
};
export default async function handler(req, res) {
const { type } = req.query;
const serviceProxyHandler = serviceProxyHandlers[type];
if (serviceProxyHandler) {
return serviceProxyHandler(req, res);
}
2022-09-07 16:53:24 +03:00
return res.status(403).json({ error: "Unkown proxy service type" });
}