// Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.10.1 // protoc v6.32.1 // source: proxy/trojan/config.proto /* eslint-disable */ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { ServerEndpoint } from "../../common/protocol/server_spec"; import { User } from "../../common/protocol/user"; import { messageTypeRegistry } from "../../typeRegistry"; export const protobufPackage = "xray.proxy.trojan"; export interface Account { $type: "xray.proxy.trojan.Account"; password: string; } export interface Fallback { $type: "xray.proxy.trojan.Fallback"; name: string; alpn: string; path: string; type: string; dest: string; xver: number; } export interface ClientConfig { $type: "xray.proxy.trojan.ClientConfig"; server: ServerEndpoint | undefined; } export interface ServerConfig { $type: "xray.proxy.trojan.ServerConfig"; users: User[]; fallbacks: Fallback[]; } function createBaseAccount(): Account { return { $type: "xray.proxy.trojan.Account", password: "" }; } export const Account: MessageFns = { $type: "xray.proxy.trojan.Account" as const, encode(message: Account, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.password !== "") { writer.uint32(10).string(message.password); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Account { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseAccount(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.password = reader.string(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): Account { return { $type: Account.$type, password: isSet(object.password) ? globalThis.String(object.password) : "" }; }, toJSON(message: Account): unknown { const obj: any = {}; if (message.password !== "") { obj.password = message.password; } return obj; }, create(base?: DeepPartial): Account { return Account.fromPartial(base ?? {}); }, fromPartial(object: DeepPartial): Account { const message = createBaseAccount(); message.password = object.password ?? ""; return message; }, }; messageTypeRegistry.set(Account.$type, Account); function createBaseFallback(): Fallback { return { $type: "xray.proxy.trojan.Fallback", name: "", alpn: "", path: "", type: "", dest: "", xver: 0 }; } export const Fallback: MessageFns = { $type: "xray.proxy.trojan.Fallback" as const, encode(message: Fallback, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.name !== "") { writer.uint32(10).string(message.name); } if (message.alpn !== "") { writer.uint32(18).string(message.alpn); } if (message.path !== "") { writer.uint32(26).string(message.path); } if (message.type !== "") { writer.uint32(34).string(message.type); } if (message.dest !== "") { writer.uint32(42).string(message.dest); } if (message.xver !== 0) { writer.uint32(48).uint64(message.xver); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): Fallback { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFallback(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.name = reader.string(); continue; } case 2: { if (tag !== 18) { break; } message.alpn = reader.string(); continue; } case 3: { if (tag !== 26) { break; } message.path = reader.string(); continue; } case 4: { if (tag !== 34) { break; } message.type = reader.string(); continue; } case 5: { if (tag !== 42) { break; } message.dest = reader.string(); continue; } case 6: { if (tag !== 48) { break; } message.xver = longToNumber(reader.uint64()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): Fallback { return { $type: Fallback.$type, name: isSet(object.name) ? globalThis.String(object.name) : "", alpn: isSet(object.alpn) ? globalThis.String(object.alpn) : "", path: isSet(object.path) ? globalThis.String(object.path) : "", type: isSet(object.type) ? globalThis.String(object.type) : "", dest: isSet(object.dest) ? globalThis.String(object.dest) : "", xver: isSet(object.xver) ? globalThis.Number(object.xver) : 0, }; }, toJSON(message: Fallback): unknown { const obj: any = {}; if (message.name !== "") { obj.name = message.name; } if (message.alpn !== "") { obj.alpn = message.alpn; } if (message.path !== "") { obj.path = message.path; } if (message.type !== "") { obj.type = message.type; } if (message.dest !== "") { obj.dest = message.dest; } if (message.xver !== 0) { obj.xver = Math.round(message.xver); } return obj; }, create(base?: DeepPartial): Fallback { return Fallback.fromPartial(base ?? {}); }, fromPartial(object: DeepPartial): Fallback { const message = createBaseFallback(); message.name = object.name ?? ""; message.alpn = object.alpn ?? ""; message.path = object.path ?? ""; message.type = object.type ?? ""; message.dest = object.dest ?? ""; message.xver = object.xver ?? 0; return message; }, }; messageTypeRegistry.set(Fallback.$type, Fallback); function createBaseClientConfig(): ClientConfig { return { $type: "xray.proxy.trojan.ClientConfig", server: undefined }; } export const ClientConfig: MessageFns = { $type: "xray.proxy.trojan.ClientConfig" as const, encode(message: ClientConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { if (message.server !== undefined) { ServerEndpoint.encode(message.server, writer.uint32(10).fork()).join(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ClientConfig { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseClientConfig(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.server = ServerEndpoint.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ClientConfig { return { $type: ClientConfig.$type, server: isSet(object.server) ? ServerEndpoint.fromJSON(object.server) : undefined, }; }, toJSON(message: ClientConfig): unknown { const obj: any = {}; if (message.server !== undefined) { obj.server = ServerEndpoint.toJSON(message.server); } return obj; }, create(base?: DeepPartial): ClientConfig { return ClientConfig.fromPartial(base ?? {}); }, fromPartial(object: DeepPartial): ClientConfig { const message = createBaseClientConfig(); message.server = (object.server !== undefined && object.server !== null) ? ServerEndpoint.fromPartial(object.server) : undefined; return message; }, }; messageTypeRegistry.set(ClientConfig.$type, ClientConfig); function createBaseServerConfig(): ServerConfig { return { $type: "xray.proxy.trojan.ServerConfig", users: [], fallbacks: [] }; } export const ServerConfig: MessageFns = { $type: "xray.proxy.trojan.ServerConfig" as const, encode(message: ServerConfig, writer: BinaryWriter = new BinaryWriter()): BinaryWriter { for (const v of message.users) { User.encode(v!, writer.uint32(10).fork()).join(); } for (const v of message.fallbacks) { Fallback.encode(v!, writer.uint32(18).fork()).join(); } return writer; }, decode(input: BinaryReader | Uint8Array, length?: number): ServerConfig { const reader = input instanceof BinaryReader ? input : new BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseServerConfig(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.users.push(User.decode(reader, reader.uint32())); continue; } case 2: { if (tag !== 18) { break; } message.fallbacks.push(Fallback.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object: any): ServerConfig { return { $type: ServerConfig.$type, users: globalThis.Array.isArray(object?.users) ? object.users.map((e: any) => User.fromJSON(e)) : [], fallbacks: globalThis.Array.isArray(object?.fallbacks) ? object.fallbacks.map((e: any) => Fallback.fromJSON(e)) : [], }; }, toJSON(message: ServerConfig): unknown { const obj: any = {}; if (message.users?.length) { obj.users = message.users.map((e) => User.toJSON(e)); } if (message.fallbacks?.length) { obj.fallbacks = message.fallbacks.map((e) => Fallback.toJSON(e)); } return obj; }, create(base?: DeepPartial): ServerConfig { return ServerConfig.fromPartial(base ?? {}); }, fromPartial(object: DeepPartial): ServerConfig { const message = createBaseServerConfig(); message.users = object.users?.map((e) => User.fromPartial(e)) || []; message.fallbacks = object.fallbacks?.map((e) => Fallback.fromPartial(e)) || []; return message; }, }; messageTypeRegistry.set(ServerConfig.$type, ServerConfig); type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial } : Partial; function longToNumber(int64: { toString(): string }): number { const num = globalThis.Number(int64.toString()); if (num > globalThis.Number.MAX_SAFE_INTEGER) { throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); } if (num < globalThis.Number.MIN_SAFE_INTEGER) { throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER"); } return num; } function isSet(value: any): boolean { return value !== null && value !== undefined; } export interface MessageFns { 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; fromPartial(object: DeepPartial): T; }