@remnawave/xtls-sdk
Version:
A Typescript SDK for XRAY (XTLS) Core GRPC Api
82 lines • 3.17 kB
TypeScript
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