surgio
Version:
Generating rules for Surge, Clash, Quantumult like a PRO
54 lines • 3.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.V2rayNSubscribeProvider = exports.TrojanProvider = exports.SsdProvider = exports.ShadowsocksSubscribeProvider = exports.ShadowsocksrSubscribeProvider = exports.ShadowsocksJsonSubscribeProvider = exports.CustomProvider = exports.ClashProvider = exports.BlackSSLProvider = void 0;
exports.getProvider = getProvider;
const types_1 = require("../types");
const BlackSSLProvider_1 = __importDefault(require("./BlackSSLProvider"));
exports.BlackSSLProvider = BlackSSLProvider_1.default;
const ClashProvider_1 = __importDefault(require("./ClashProvider"));
exports.ClashProvider = ClashProvider_1.default;
const CustomProvider_1 = __importDefault(require("./CustomProvider"));
exports.CustomProvider = CustomProvider_1.default;
const ShadowsocksJsonSubscribeProvider_1 = __importDefault(require("./ShadowsocksJsonSubscribeProvider"));
exports.ShadowsocksJsonSubscribeProvider = ShadowsocksJsonSubscribeProvider_1.default;
const ShadowsocksrSubscribeProvider_1 = __importDefault(require("./ShadowsocksrSubscribeProvider"));
exports.ShadowsocksrSubscribeProvider = ShadowsocksrSubscribeProvider_1.default;
const ShadowsocksSubscribeProvider_1 = __importDefault(require("./ShadowsocksSubscribeProvider"));
exports.ShadowsocksSubscribeProvider = ShadowsocksSubscribeProvider_1.default;
const SsdProvider_1 = __importDefault(require("./SsdProvider"));
exports.SsdProvider = SsdProvider_1.default;
const TrojanProvider_1 = __importDefault(require("./TrojanProvider"));
exports.TrojanProvider = TrojanProvider_1.default;
const V2rayNSubscribeProvider_1 = __importDefault(require("./V2rayNSubscribeProvider"));
exports.V2rayNSubscribeProvider = V2rayNSubscribeProvider_1.default;
async function getProvider(name, config) {
if (typeof config === 'function') {
config = await config();
}
switch (config.type) {
case types_1.SupportProviderEnum.BlackSSL:
return new BlackSSLProvider_1.default(name, config);
case types_1.SupportProviderEnum.ShadowsocksJsonSubscribe:
return new ShadowsocksJsonSubscribeProvider_1.default(name, config);
case types_1.SupportProviderEnum.ShadowsocksSubscribe:
return new ShadowsocksSubscribeProvider_1.default(name, config);
case types_1.SupportProviderEnum.ShadowsocksrSubscribe:
return new ShadowsocksrSubscribeProvider_1.default(name, config);
case types_1.SupportProviderEnum.Custom:
return new CustomProvider_1.default(name, config);
case types_1.SupportProviderEnum.V2rayNSubscribe:
return new V2rayNSubscribeProvider_1.default(name, config);
case types_1.SupportProviderEnum.Clash:
return new ClashProvider_1.default(name, config);
case types_1.SupportProviderEnum.Ssd:
return new SsdProvider_1.default(name, config);
case types_1.SupportProviderEnum.Trojan:
return new TrojanProvider_1.default(name, config);
default:
throw new Error(`Unsupported provider type: ${config.type}`);
}
}
//# sourceMappingURL=index.js.map