UNPKG

@localzet/xtls-sdk

Version:

TypeScript SDK for XRAY/AURA Core

604 lines (603 loc) 22.4 kB
"use strict"; // Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.2.7 // protoc v5.28.3 // source: proxy/freedom/config.proto Object.defineProperty(exports, "__esModule", { value: true }); exports.Config = exports.Noise = exports.Fragment = exports.DestinationOverride = exports.Config_DomainStrategy = exports.protobufPackage = void 0; exports.config_DomainStrategyFromJSON = config_DomainStrategyFromJSON; exports.config_DomainStrategyToJSON = config_DomainStrategyToJSON; /* eslint-disable */ const wire_1 = require("@bufbuild/protobuf/wire"); const server_spec_1 = require("../../common/protocol/server_spec"); const typeRegistry_1 = require("../../typeRegistry"); exports.protobufPackage = 'xray.proxy.freedom'; var Config_DomainStrategy; (function (Config_DomainStrategy) { Config_DomainStrategy[Config_DomainStrategy["AS_IS"] = 0] = "AS_IS"; Config_DomainStrategy[Config_DomainStrategy["USE_IP"] = 1] = "USE_IP"; Config_DomainStrategy[Config_DomainStrategy["USE_IP4"] = 2] = "USE_IP4"; Config_DomainStrategy[Config_DomainStrategy["USE_IP6"] = 3] = "USE_IP6"; Config_DomainStrategy[Config_DomainStrategy["USE_IP46"] = 4] = "USE_IP46"; Config_DomainStrategy[Config_DomainStrategy["USE_IP64"] = 5] = "USE_IP64"; Config_DomainStrategy[Config_DomainStrategy["FORCE_IP"] = 6] = "FORCE_IP"; Config_DomainStrategy[Config_DomainStrategy["FORCE_IP4"] = 7] = "FORCE_IP4"; Config_DomainStrategy[Config_DomainStrategy["FORCE_IP6"] = 8] = "FORCE_IP6"; Config_DomainStrategy[Config_DomainStrategy["FORCE_IP46"] = 9] = "FORCE_IP46"; Config_DomainStrategy[Config_DomainStrategy["FORCE_IP64"] = 10] = "FORCE_IP64"; Config_DomainStrategy[Config_DomainStrategy["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(Config_DomainStrategy || (exports.Config_DomainStrategy = Config_DomainStrategy = {})); function config_DomainStrategyFromJSON(object) { switch (object) { case 0: case 'AS_IS': return Config_DomainStrategy.AS_IS; case 1: case 'USE_IP': return Config_DomainStrategy.USE_IP; case 2: case 'USE_IP4': return Config_DomainStrategy.USE_IP4; case 3: case 'USE_IP6': return Config_DomainStrategy.USE_IP6; case 4: case 'USE_IP46': return Config_DomainStrategy.USE_IP46; case 5: case 'USE_IP64': return Config_DomainStrategy.USE_IP64; case 6: case 'FORCE_IP': return Config_DomainStrategy.FORCE_IP; case 7: case 'FORCE_IP4': return Config_DomainStrategy.FORCE_IP4; case 8: case 'FORCE_IP6': return Config_DomainStrategy.FORCE_IP6; case 9: case 'FORCE_IP46': return Config_DomainStrategy.FORCE_IP46; case 10: case 'FORCE_IP64': return Config_DomainStrategy.FORCE_IP64; case -1: case 'UNRECOGNIZED': default: return Config_DomainStrategy.UNRECOGNIZED; } } function config_DomainStrategyToJSON(object) { switch (object) { case Config_DomainStrategy.AS_IS: return 'AS_IS'; case Config_DomainStrategy.USE_IP: return 'USE_IP'; case Config_DomainStrategy.USE_IP4: return 'USE_IP4'; case Config_DomainStrategy.USE_IP6: return 'USE_IP6'; case Config_DomainStrategy.USE_IP46: return 'USE_IP46'; case Config_DomainStrategy.USE_IP64: return 'USE_IP64'; case Config_DomainStrategy.FORCE_IP: return 'FORCE_IP'; case Config_DomainStrategy.FORCE_IP4: return 'FORCE_IP4'; case Config_DomainStrategy.FORCE_IP6: return 'FORCE_IP6'; case Config_DomainStrategy.FORCE_IP46: return 'FORCE_IP46'; case Config_DomainStrategy.FORCE_IP64: return 'FORCE_IP64'; case Config_DomainStrategy.UNRECOGNIZED: default: return 'UNRECOGNIZED'; } } function createBaseDestinationOverride() { return { $type: 'xray.proxy.freedom.DestinationOverride', server: undefined }; } exports.DestinationOverride = { $type: 'xray.proxy.freedom.DestinationOverride', encode(message, writer = new wire_1.BinaryWriter()) { if (message.server !== undefined) { server_spec_1.ServerEndpoint.encode(message.server, writer.uint32(10).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDestinationOverride(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 10) { break; } message.server = server_spec_1.ServerEndpoint.decode(reader, reader.uint32()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.DestinationOverride.$type, server: isSet(object.server) ? server_spec_1.ServerEndpoint.fromJSON(object.server) : undefined, }; }, toJSON(message) { const obj = {}; if (message.server !== undefined) { obj.server = server_spec_1.ServerEndpoint.toJSON(message.server); } return obj; }, create(base) { return exports.DestinationOverride.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseDestinationOverride(); message.server = (object.server !== undefined && object.server !== null) ? server_spec_1.ServerEndpoint.fromPartial(object.server) : undefined; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.DestinationOverride.$type, exports.DestinationOverride); function createBaseFragment() { return { $type: 'xray.proxy.freedom.Fragment', packetsFrom: 0, packetsTo: 0, lengthMin: 0, lengthMax: 0, intervalMin: 0, intervalMax: 0, }; } exports.Fragment = { $type: 'xray.proxy.freedom.Fragment', encode(message, writer = new wire_1.BinaryWriter()) { if (message.packetsFrom !== 0) { writer.uint32(8).uint64(message.packetsFrom); } if (message.packetsTo !== 0) { writer.uint32(16).uint64(message.packetsTo); } if (message.lengthMin !== 0) { writer.uint32(24).uint64(message.lengthMin); } if (message.lengthMax !== 0) { writer.uint32(32).uint64(message.lengthMax); } if (message.intervalMin !== 0) { writer.uint32(40).uint64(message.intervalMin); } if (message.intervalMax !== 0) { writer.uint32(48).uint64(message.intervalMax); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseFragment(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.packetsFrom = longToNumber(reader.uint64()); continue; } case 2: { if (tag !== 16) { break; } message.packetsTo = longToNumber(reader.uint64()); continue; } case 3: { if (tag !== 24) { break; } message.lengthMin = longToNumber(reader.uint64()); continue; } case 4: { if (tag !== 32) { break; } message.lengthMax = longToNumber(reader.uint64()); continue; } case 5: { if (tag !== 40) { break; } message.intervalMin = longToNumber(reader.uint64()); continue; } case 6: { if (tag !== 48) { break; } message.intervalMax = longToNumber(reader.uint64()); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.Fragment.$type, packetsFrom: isSet(object.packetsFrom) ? globalThis.Number(object.packetsFrom) : 0, packetsTo: isSet(object.packetsTo) ? globalThis.Number(object.packetsTo) : 0, lengthMin: isSet(object.lengthMin) ? globalThis.Number(object.lengthMin) : 0, lengthMax: isSet(object.lengthMax) ? globalThis.Number(object.lengthMax) : 0, intervalMin: isSet(object.intervalMin) ? globalThis.Number(object.intervalMin) : 0, intervalMax: isSet(object.intervalMax) ? globalThis.Number(object.intervalMax) : 0, }; }, toJSON(message) { const obj = {}; if (message.packetsFrom !== 0) { obj.packetsFrom = Math.round(message.packetsFrom); } if (message.packetsTo !== 0) { obj.packetsTo = Math.round(message.packetsTo); } if (message.lengthMin !== 0) { obj.lengthMin = Math.round(message.lengthMin); } if (message.lengthMax !== 0) { obj.lengthMax = Math.round(message.lengthMax); } if (message.intervalMin !== 0) { obj.intervalMin = Math.round(message.intervalMin); } if (message.intervalMax !== 0) { obj.intervalMax = Math.round(message.intervalMax); } return obj; }, create(base) { return exports.Fragment.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseFragment(); message.packetsFrom = object.packetsFrom ?? 0; message.packetsTo = object.packetsTo ?? 0; message.lengthMin = object.lengthMin ?? 0; message.lengthMax = object.lengthMax ?? 0; message.intervalMin = object.intervalMin ?? 0; message.intervalMax = object.intervalMax ?? 0; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Fragment.$type, exports.Fragment); function createBaseNoise() { return { $type: 'xray.proxy.freedom.Noise', lengthMin: 0, lengthMax: 0, delayMin: 0, delayMax: 0, packet: new Uint8Array(0), }; } exports.Noise = { $type: 'xray.proxy.freedom.Noise', encode(message, writer = new wire_1.BinaryWriter()) { if (message.lengthMin !== 0) { writer.uint32(8).uint64(message.lengthMin); } if (message.lengthMax !== 0) { writer.uint32(16).uint64(message.lengthMax); } if (message.delayMin !== 0) { writer.uint32(24).uint64(message.delayMin); } if (message.delayMax !== 0) { writer.uint32(32).uint64(message.delayMax); } if (message.packet.length !== 0) { writer.uint32(42).bytes(message.packet); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseNoise(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.lengthMin = longToNumber(reader.uint64()); continue; } case 2: { if (tag !== 16) { break; } message.lengthMax = longToNumber(reader.uint64()); continue; } case 3: { if (tag !== 24) { break; } message.delayMin = longToNumber(reader.uint64()); continue; } case 4: { if (tag !== 32) { break; } message.delayMax = longToNumber(reader.uint64()); continue; } case 5: { if (tag !== 42) { break; } message.packet = reader.bytes(); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.Noise.$type, lengthMin: isSet(object.lengthMin) ? globalThis.Number(object.lengthMin) : 0, lengthMax: isSet(object.lengthMax) ? globalThis.Number(object.lengthMax) : 0, delayMin: isSet(object.delayMin) ? globalThis.Number(object.delayMin) : 0, delayMax: isSet(object.delayMax) ? globalThis.Number(object.delayMax) : 0, packet: isSet(object.packet) ? bytesFromBase64(object.packet) : new Uint8Array(0), }; }, toJSON(message) { const obj = {}; if (message.lengthMin !== 0) { obj.lengthMin = Math.round(message.lengthMin); } if (message.lengthMax !== 0) { obj.lengthMax = Math.round(message.lengthMax); } if (message.delayMin !== 0) { obj.delayMin = Math.round(message.delayMin); } if (message.delayMax !== 0) { obj.delayMax = Math.round(message.delayMax); } if (message.packet.length !== 0) { obj.packet = base64FromBytes(message.packet); } return obj; }, create(base) { return exports.Noise.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseNoise(); message.lengthMin = object.lengthMin ?? 0; message.lengthMax = object.lengthMax ?? 0; message.delayMin = object.delayMin ?? 0; message.delayMax = object.delayMax ?? 0; message.packet = object.packet ?? new Uint8Array(0); return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Noise.$type, exports.Noise); function createBaseConfig() { return { $type: 'xray.proxy.freedom.Config', domainStrategy: 0, destinationOverride: undefined, userLevel: 0, fragment: undefined, proxyProtocol: 0, noises: [], }; } exports.Config = { $type: 'xray.proxy.freedom.Config', encode(message, writer = new wire_1.BinaryWriter()) { if (message.domainStrategy !== 0) { writer.uint32(8).int32(message.domainStrategy); } if (message.destinationOverride !== undefined) { exports.DestinationOverride.encode(message.destinationOverride, writer.uint32(26).fork()).join(); } if (message.userLevel !== 0) { writer.uint32(32).uint32(message.userLevel); } if (message.fragment !== undefined) { exports.Fragment.encode(message.fragment, writer.uint32(42).fork()).join(); } if (message.proxyProtocol !== 0) { writer.uint32(48).uint32(message.proxyProtocol); } for (const v of message.noises) { exports.Noise.encode(v, writer.uint32(58).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); let end = length === undefined ? reader.len : reader.pos + length; const message = createBaseConfig(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.domainStrategy = reader.int32(); continue; } case 3: { if (tag !== 26) { break; } message.destinationOverride = exports.DestinationOverride.decode(reader, reader.uint32()); continue; } case 4: { if (tag !== 32) { break; } message.userLevel = reader.uint32(); continue; } case 5: { if (tag !== 42) { break; } message.fragment = exports.Fragment.decode(reader, reader.uint32()); continue; } case 6: { if (tag !== 48) { break; } message.proxyProtocol = reader.uint32(); continue; } case 7: { if (tag !== 58) { break; } message.noises.push(exports.Noise.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.Config.$type, domainStrategy: isSet(object.domainStrategy) ? config_DomainStrategyFromJSON(object.domainStrategy) : 0, destinationOverride: isSet(object.destinationOverride) ? exports.DestinationOverride.fromJSON(object.destinationOverride) : undefined, userLevel: isSet(object.userLevel) ? globalThis.Number(object.userLevel) : 0, fragment: isSet(object.fragment) ? exports.Fragment.fromJSON(object.fragment) : undefined, proxyProtocol: isSet(object.proxyProtocol) ? globalThis.Number(object.proxyProtocol) : 0, noises: globalThis.Array.isArray(object?.noises) ? object.noises.map((e) => exports.Noise.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.domainStrategy !== 0) { obj.domainStrategy = config_DomainStrategyToJSON(message.domainStrategy); } if (message.destinationOverride !== undefined) { obj.destinationOverride = exports.DestinationOverride.toJSON(message.destinationOverride); } if (message.userLevel !== 0) { obj.userLevel = Math.round(message.userLevel); } if (message.fragment !== undefined) { obj.fragment = exports.Fragment.toJSON(message.fragment); } if (message.proxyProtocol !== 0) { obj.proxyProtocol = Math.round(message.proxyProtocol); } if (message.noises?.length) { obj.noises = message.noises.map((e) => exports.Noise.toJSON(e)); } return obj; }, create(base) { return exports.Config.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseConfig(); message.domainStrategy = object.domainStrategy ?? 0; message.destinationOverride = (object.destinationOverride !== undefined && object.destinationOverride !== null) ? exports.DestinationOverride.fromPartial(object.destinationOverride) : undefined; message.userLevel = object.userLevel ?? 0; message.fragment = (object.fragment !== undefined && object.fragment !== null) ? exports.Fragment.fromPartial(object.fragment) : undefined; message.proxyProtocol = object.proxyProtocol ?? 0; message.noises = object.noises?.map((e) => exports.Noise.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config); function bytesFromBase64(b64) { if (globalThis.Buffer) { return Uint8Array.from(globalThis.Buffer.from(b64, 'base64')); } else { const bin = globalThis.atob(b64); const arr = new Uint8Array(bin.length); for (let i = 0; i < bin.length; ++i) { arr[i] = bin.charCodeAt(i); } return arr; } } function base64FromBytes(arr) { if (globalThis.Buffer) { return globalThis.Buffer.from(arr).toString('base64'); } else { const bin = []; arr.forEach((byte) => { bin.push(globalThis.String.fromCharCode(byte)); }); return globalThis.btoa(bin.join('')); } } function longToNumber(int64) { 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) { return value !== null && value !== undefined; }