surgio
Version:
Generating rules for Surge, Clash, Quantumult like a PRO
51 lines • 2.09 kB
JavaScript
;
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