@herbertgao/surgio
Version:
Generating rules for Surge, Clash, Quantumult like a PRO
26 lines • 1.19 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WireguardNodeConfigValidator = void 0;
const zod_1 = require("zod");
const types_1 = require("../types");
const common_1 = require("./common");
const WireguardPeerConfigValidator = zod_1.z.object({
publicKey: zod_1.z.string(),
endpoint: zod_1.z.string().includes(':'),
allowedIps: zod_1.z.string().optional(),
keepalive: zod_1.z.number().optional(),
presharedKey: zod_1.z.string().optional(),
reservedBits: zod_1.z.array(zod_1.z.number()).optional(),
});
exports.WireguardNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
type: zod_1.z.literal(types_1.NodeTypeEnum.Wireguard),
selfIp: zod_1.z.string().ip({ version: 'v4' }),
selfIpV6: zod_1.z.string().ip({ version: 'v6' }).optional(),
preferIpv6: zod_1.z.boolean().optional(),
privateKey: zod_1.z.string(),
mtu: zod_1.z.number().optional(),
dnsServers: zod_1.z.array(zod_1.z.string().ip()).nonempty().optional(),
peers: zod_1.z.array(WireguardPeerConfigValidator).nonempty(),
reservedBits: zod_1.z.array(zod_1.z.number()).optional(),
});
//# sourceMappingURL=wireguard.js.map