diff --git a/src/main/services/open-web-torrent.ts b/src/main/services/open-web-torrent.ts deleted file mode 100644 index fde5922d..00000000 --- a/src/main/services/open-web-torrent.ts +++ /dev/null @@ -1,45 +0,0 @@ -import axios, { AxiosResponse } from "axios"; -import { Agent } from "https"; - -type OpenWebTorrentResponse = - | { - seeds: number; - peers: number; - } - | { - error: { - code: number; - message: string; - }; - }; - -const httpsAgent = new Agent({ - rejectUnauthorized: false, -}); -const axiosRef = axios.create({ - baseURL: "https://checker.openwebtorrent.com", - httpsAgent, -}); - -export const openWebTorrent = { - transformResponseError(response: AxiosResponse) { - if ("error" in response.data) { - throw new Error(response.data.error.message); - } - - return response.data; - }, - async getSeedersAndPeers(magnet: string) { - const endpoint = "/check"; - const params = new URLSearchParams(); - params.append("magnet", magnet); - - const response = await axiosRef.get(endpoint, { params }); - const { seeds, peers } = this.transformResponseError(response); - - return { - seeders: seeds, - peers: peers, - }; - }, -}; diff --git a/src/main/services/web-torrent-data.ts b/src/main/services/web-torrent-data.ts new file mode 100644 index 00000000..e15dbdff --- /dev/null +++ b/src/main/services/web-torrent-data.ts @@ -0,0 +1,20 @@ +import WebTorrentHealth from "webtorrent-health"; + +type WebTorrentHealthData = { + seeds: number; + peers: number; +}; + +export const webTorrentData = { + async getSeedersAndPeers(magnet: string) { + return new Promise((resolve, reject) => { + WebTorrentHealth(magnet, (err: Error, data: WebTorrentHealthData) => { + if (err) { + reject(err); + } else { + resolve(data); + } + }); + }); + }, +};