import BaseProvider from "./baseProvider.js"; import { OnBeforeRequestDetailsType, OnRequestDetailsType } from "../types.js"; import { isDomain, isIp } from "../util.js"; export default class ServerProvider extends BaseProvider { async shouldHandleRequest( details: OnBeforeRequestDetailsType ): Promise { const dns = await this.resolveDns(details); if (dns && (isDomain(dns) || isIp(dns))) { return true; } return false; } async handleProxy(details: OnRequestDetailsType): Promise { const dns = await this.resolveDns(details); if (isIp(dns) || isDomain(dns)) { return { type: "http", host: dns, port: 80 }; } return false; } }