UNPKG

@remnawave/xtls-sdk

Version:

A Typescript SDK for XRAY (XTLS) Core GRPC Api

82 lines 3.17 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { IPRule } from "../../common/geodata/geodat"; import { Network } from "../../common/net/network"; import { PortList } from "../../common/net/port"; import { ServerEndpoint } from "../../common/protocol/server_spec"; import { DomainStrategy } from "../../transport/internet/config"; export declare const protobufPackage = "xray.proxy.freedom"; export declare enum RuleAction { Allow = 0, Block = 1, UNRECOGNIZED = -1 } export declare function ruleActionFromJSON(object: any): RuleAction; export declare function ruleActionToJSON(object: RuleAction): string; export interface DestinationOverride { $type: "xray.proxy.freedom.DestinationOverride"; server: ServerEndpoint | undefined; } export interface Fragment { $type: "xray.proxy.freedom.Fragment"; packetsFrom: number; packetsTo: number; lengthMin: number; lengthMax: number; intervalMin: number; intervalMax: number; maxSplitMin: number; maxSplitMax: number; } export interface Noise { $type: "xray.proxy.freedom.Noise"; lengthMin: number; lengthMax: number; delayMin: number; delayMax: number; packet: Uint8Array; applyTo: string; } export interface Range { $type: "xray.proxy.freedom.Range"; min: number; max: number; } export interface FinalRuleConfig { $type: "xray.proxy.freedom.FinalRuleConfig"; action: RuleAction; networks: Network[]; portList: PortList | undefined; ip: IPRule[]; blockDelay: Range | undefined; } export interface Config { $type: "xray.proxy.freedom.Config"; domainStrategy: DomainStrategy; destinationOverride: DestinationOverride | undefined; userLevel: number; fragment: Fragment | undefined; proxyProtocol: number; noises: Noise[]; finalRules: FinalRuleConfig[]; } export declare const DestinationOverride: MessageFns<DestinationOverride, "xray.proxy.freedom.DestinationOverride">; export declare const Fragment: MessageFns<Fragment, "xray.proxy.freedom.Fragment">; export declare const Noise: MessageFns<Noise, "xray.proxy.freedom.Noise">; export declare const Range: MessageFns<Range, "xray.proxy.freedom.Range">; export declare const FinalRuleConfig: MessageFns<FinalRuleConfig, "xray.proxy.freedom.FinalRuleConfig">; export declare const Config: MessageFns<Config, "xray.proxy.freedom.Config">; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in Exclude<keyof T, "$type">]?: DeepPartial<T[K]>; } : Partial<T>; export interface MessageFns<T, V extends string> { readonly $type: V; encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create(base?: DeepPartial<T>): T; fromPartial(object: DeepPartial<T>): T; } export {}; //# sourceMappingURL=config.d.ts.map