UNPKG

surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

51 lines 2.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.VlessNodeConfigValidator = exports.VlessECHPortsValidator = exports.VlessXHTTPOptsValidator = exports.VlessRealityOptsValidator = exports.VlessNetworkValidator = void 0; const zod_1 = require("zod"); const types_1 = require("../types"); const common_1 = require("./common"); const vmess_1 = require("./vmess"); exports.VlessNetworkValidator = zod_1.z.union([ zod_1.z.literal('tcp'), zod_1.z.literal('ws'), zod_1.z.literal('h2'), zod_1.z.literal('http'), zod_1.z.literal('grpc'), zod_1.z.literal('xhttp'), zod_1.z.literal('quic'), zod_1.z.literal('httpupgrade'), ]); exports.VlessRealityOptsValidator = zod_1.z.object({ publicKey: zod_1.z.string(), shortId: zod_1.z.ostring(), spiderX: zod_1.z.ostring(), }); exports.VlessXHTTPOptsValidator = zod_1.z .object({ path: zod_1.z.string(), }) .passthrough(); exports.VlessECHPortsValidator = zod_1.z.record(zod_1.z.any()); exports.VlessNodeConfigValidator = common_1.TlsNodeConfigValidator.extend({ type: zod_1.z.literal(types_1.NodeTypeEnum.Vless), hostname: zod_1.z.string(), port: common_1.PortValidator, method: zod_1.z.literal('none'), uuid: zod_1.z.string().uuid(), network: exports.VlessNetworkValidator.default('tcp'), udpRelay: zod_1.z.oboolean(), flow: zod_1.z.ostring(), encryption: zod_1.z.ostring(), wsOpts: vmess_1.VmessWSOptsValidator.optional(), h2Opts: vmess_1.VmessH2OptsValidator.optional(), httpOpts: vmess_1.VmessHttpOptsValidator.optional(), grpcOpts: vmess_1.VmessGRPCOptsValidator.optional(), xhttpOpts: exports.VlessXHTTPOptsValidator.optional(), echOpts: exports.VlessECHPortsValidator.optional(), packetEncoding: zod_1.z.ostring(), quicOpts: vmess_1.VmessQuicOptsValidator.optional(), httpUpgradeOpts: vmess_1.VmessHttpUpgradeOptsValidator.optional(), realityOpts: exports.VlessRealityOptsValidator.optional(), multiplex: common_1.MultiplexValidator.optional(), }); //# sourceMappingURL=vless.js.map