UNPKG

@herbertgao/surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

388 lines (387 loc) 15.7 kB
import { z } from 'zod'; export declare const ClashCoreValidator: z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>; export declare const RemoteSnippetValidator: z.ZodObject<{ name: z.ZodString; url: z.ZodString; surgioSnippet: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; url: string; surgioSnippet?: boolean | undefined; }, { name: string; url: string; surgioSnippet?: boolean | undefined; }>; export declare const ClashConfigValidator: z.ZodObject<{ enableTuic: z.ZodOptional<z.ZodBoolean>; enableShadowTls: z.ZodOptional<z.ZodBoolean>; enableHysteria2: z.ZodOptional<z.ZodBoolean>; enableVless: z.ZodOptional<z.ZodBoolean>; clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>; }, "strip", z.ZodTypeAny, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }>; export declare const SurgeConfigValidator: z.ZodObject<{ resolveHostname: z.ZodOptional<z.ZodBoolean>; vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }>; export declare const SurfboardConfigValidator: z.ZodObject<{ vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>; export declare const QuantumultXConfigValidator: z.ZodObject<{ vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>; export declare const SurgioConfigValidator: z.ZodObject<{ artifacts: z.ZodArray<z.ZodObject<{ name: z.ZodString; template: z.ZodString; templateType: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"default">, z.ZodLiteral<"json">]>>; extendTemplate: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodUnknown], z.ZodUnknown>, z.ZodUnknown>>; provider: z.ZodString; categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; combineProviders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; customParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; customFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>; destDir: z.ZodOptional<z.ZodString>; downloadUrl: z.ZodOptional<z.ZodString>; templateString: z.ZodOptional<z.ZodString>; subscriptionUserInfoProvider: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { name: string; template: string; templateType: "default" | "json"; provider: string; extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined; categories?: string[] | undefined; combineProviders?: string[] | undefined; customParams?: Record<string, any> | undefined; customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined; destDir?: string | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }, { name: string; template: string; provider: string; templateType?: "default" | "json" | undefined; extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined; categories?: string[] | undefined; combineProviders?: string[] | undefined; customParams?: Record<string, any> | undefined; customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined; destDir?: string | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }>, "many">; remoteSnippets: z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; url: z.ZodString; surgioSnippet: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; url: string; surgioSnippet?: boolean | undefined; }, { name: string; url: string; surgioSnippet?: boolean | undefined; }>, "many">>; urlBase: z.ZodOptional<z.ZodString>; upload: z.ZodOptional<z.ZodObject<{ prefix: z.ZodOptional<z.ZodString>; region: z.ZodOptional<z.ZodString>; endpoint: z.ZodOptional<z.ZodString>; bucket: z.ZodString; accessKeyId: z.ZodString; accessKeySecret: z.ZodString; }, "strip", z.ZodTypeAny, { bucket: string; accessKeyId: string; accessKeySecret: string; endpoint?: string | undefined; prefix?: string | undefined; region?: string | undefined; }, { bucket: string; accessKeyId: string; accessKeySecret: string; endpoint?: string | undefined; prefix?: string | undefined; region?: string | undefined; }>>; binPath: z.ZodOptional<z.ZodObject<{ shadowsocksr: z.ZodString; }, "strip", z.ZodTypeAny, { shadowsocksr: string; }, { shadowsocksr: string; }>>; flags: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>, z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodType<RegExp, z.ZodTypeDef, RegExp>]>, "many">]>>>; surgeConfig: z.ZodOptional<z.ZodObject<{ resolveHostname: z.ZodOptional<z.ZodBoolean>; vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }, { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; }>>; surfboardConfig: z.ZodOptional<z.ZodObject<{ vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>>; quantumultXConfig: z.ZodOptional<z.ZodObject<{ vmessAEAD: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { vmessAEAD?: boolean | undefined; }, { vmessAEAD?: boolean | undefined; }>>; clashConfig: z.ZodOptional<z.ZodObject<{ enableTuic: z.ZodOptional<z.ZodBoolean>; enableShadowTls: z.ZodOptional<z.ZodBoolean>; enableHysteria2: z.ZodOptional<z.ZodBoolean>; enableVless: z.ZodOptional<z.ZodBoolean>; clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>; }, "strip", z.ZodTypeAny, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }, { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; }>>; gateway: z.ZodOptional<z.ZodObject<{ accessToken: z.ZodOptional<z.ZodString>; viewerToken: z.ZodOptional<z.ZodString>; auth: z.ZodOptional<z.ZodBoolean>; cookieMaxAge: z.ZodOptional<z.ZodNumber>; useCacheOnError: z.ZodOptional<z.ZodBoolean>; passRequestUserAgent: z.ZodOptional<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | undefined; }, { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | undefined; }>>; checkHostname: z.ZodOptional<z.ZodBoolean>; resolveHostname: z.ZodOptional<z.ZodBoolean>; proxyTestUrl: z.ZodOptional<z.ZodString>; proxyTestInterval: z.ZodOptional<z.ZodNumber>; internetTestUrl: z.ZodOptional<z.ZodString>; internetTestInterval: z.ZodOptional<z.ZodNumber>; customFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<(nodeConfig: import("../types").PossibleNodeConfigType) => boolean, z.ZodTypeDef, (nodeConfig: import("../types").PossibleNodeConfigType) => boolean>, z.ZodType<{ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>; readonly supportSort: true; }, z.ZodTypeDef, { readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>; readonly supportSort: true; }>]>>>; customParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>; analytics: z.ZodOptional<z.ZodBoolean>; cache: z.ZodOptional<z.ZodObject<{ type: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"redis">, z.ZodLiteral<"default">]>>; redisUrl: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { type?: "default" | "redis" | undefined; redisUrl?: string | undefined; }, { type?: "default" | "redis" | undefined; redisUrl?: string | undefined; }>>; }, "strip", z.ZodTypeAny, { artifacts: { name: string; template: string; templateType: "default" | "json"; provider: string; extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined; categories?: string[] | undefined; combineProviders?: string[] | undefined; customParams?: Record<string, any> | undefined; customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined; destDir?: string | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }[]; customParams?: Record<string, any> | undefined; customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | { readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>; readonly supportSort: true; }> | undefined; resolveHostname?: boolean | undefined; surgeConfig?: { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; } | undefined; surfboardConfig?: { vmessAEAD?: boolean | undefined; } | undefined; quantumultXConfig?: { vmessAEAD?: boolean | undefined; } | undefined; clashConfig?: { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; } | undefined; binPath?: { shadowsocksr: string; } | undefined; remoteSnippets?: { name: string; url: string; surgioSnippet?: boolean | undefined; }[] | undefined; urlBase?: string | undefined; upload?: { bucket: string; accessKeyId: string; accessKeySecret: string; endpoint?: string | undefined; prefix?: string | undefined; region?: string | undefined; } | undefined; flags?: Record<string, string | RegExp | (string | RegExp)[]> | undefined; gateway?: { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | undefined; } | undefined; checkHostname?: boolean | undefined; proxyTestUrl?: string | undefined; proxyTestInterval?: number | undefined; internetTestUrl?: string | undefined; internetTestInterval?: number | undefined; analytics?: boolean | undefined; cache?: { type?: "default" | "redis" | undefined; redisUrl?: string | undefined; } | undefined; }, { artifacts: { name: string; template: string; provider: string; templateType?: "default" | "json" | undefined; extendTemplate?: ((args_0: unknown, ...args: unknown[]) => unknown) | undefined; categories?: string[] | undefined; combineProviders?: string[] | undefined; customParams?: Record<string, any> | undefined; customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined; destDir?: string | undefined; downloadUrl?: string | undefined; templateString?: string | undefined; subscriptionUserInfoProvider?: string | undefined; }[]; customParams?: Record<string, any> | undefined; customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | { readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>; readonly supportSort: true; }> | undefined; resolveHostname?: boolean | undefined; surgeConfig?: { resolveHostname?: boolean | undefined; vmessAEAD?: boolean | undefined; } | undefined; surfboardConfig?: { vmessAEAD?: boolean | undefined; } | undefined; quantumultXConfig?: { vmessAEAD?: boolean | undefined; } | undefined; clashConfig?: { enableTuic?: boolean | undefined; enableShadowTls?: boolean | undefined; enableHysteria2?: boolean | undefined; enableVless?: boolean | undefined; clashCore?: "clash" | "clash.meta" | "stash" | undefined; } | undefined; binPath?: { shadowsocksr: string; } | undefined; remoteSnippets?: { name: string; url: string; surgioSnippet?: boolean | undefined; }[] | undefined; urlBase?: string | undefined; upload?: { bucket: string; accessKeyId: string; accessKeySecret: string; endpoint?: string | undefined; prefix?: string | undefined; region?: string | undefined; } | undefined; flags?: Record<string, string | RegExp | (string | RegExp)[]> | undefined; gateway?: { accessToken?: string | undefined; viewerToken?: string | undefined; auth?: boolean | undefined; cookieMaxAge?: number | undefined; useCacheOnError?: boolean | undefined; passRequestUserAgent?: boolean | undefined; } | undefined; checkHostname?: boolean | undefined; proxyTestUrl?: string | undefined; proxyTestInterval?: number | undefined; internetTestUrl?: string | undefined; internetTestInterval?: number | undefined; analytics?: boolean | undefined; cache?: { type?: "default" | "redis" | undefined; redisUrl?: string | undefined; } | undefined; }>;