UNPKG

@remnawave/xtls-sdk

Version:

A Typescript SDK for XRAY (XTLS) Core GRPC Api

250 lines (249 loc) 9.06 kB
"use strict"; // Code generated by protoc-gen-ts_proto. DO NOT EDIT. // versions: // protoc-gen-ts_proto v2.11.2 // protoc v6.33.4 // source: proxy/dns/config.proto Object.defineProperty(exports, "__esModule", { value: true }); exports.Config = exports.DNSRuleConfig = exports.RuleAction = exports.protobufPackage = void 0; exports.ruleActionFromJSON = ruleActionFromJSON; exports.ruleActionToJSON = ruleActionToJSON; /* eslint-disable */ const wire_1 = require("@bufbuild/protobuf/wire"); const geodat_1 = require("../../common/geodata/geodat"); const destination_1 = require("../../common/net/destination"); const typeRegistry_1 = require("../../typeRegistry"); exports.protobufPackage = "xray.proxy.dns"; var RuleAction; (function (RuleAction) { RuleAction[RuleAction["Direct"] = 0] = "Direct"; RuleAction[RuleAction["Drop"] = 1] = "Drop"; RuleAction[RuleAction["Reject"] = 2] = "Reject"; RuleAction[RuleAction["Hijack"] = 3] = "Hijack"; RuleAction[RuleAction["UNRECOGNIZED"] = -1] = "UNRECOGNIZED"; })(RuleAction || (exports.RuleAction = RuleAction = {})); function ruleActionFromJSON(object) { switch (object) { case 0: case "Direct": return RuleAction.Direct; case 1: case "Drop": return RuleAction.Drop; case 2: case "Reject": return RuleAction.Reject; case 3: case "Hijack": return RuleAction.Hijack; case -1: case "UNRECOGNIZED": default: return RuleAction.UNRECOGNIZED; } } function ruleActionToJSON(object) { switch (object) { case RuleAction.Direct: return "Direct"; case RuleAction.Drop: return "Drop"; case RuleAction.Reject: return "Reject"; case RuleAction.Hijack: return "Hijack"; case RuleAction.UNRECOGNIZED: default: return "UNRECOGNIZED"; } } function createBaseDNSRuleConfig() { return { $type: "xray.proxy.dns.DNSRuleConfig", action: 0, qtype: [], domain: [] }; } exports.DNSRuleConfig = { $type: "xray.proxy.dns.DNSRuleConfig", encode(message, writer = new wire_1.BinaryWriter()) { if (message.action !== 0) { writer.uint32(8).int32(message.action); } writer.uint32(18).fork(); for (const v of message.qtype) { writer.int32(v); } writer.join(); for (const v of message.domain) { geodat_1.DomainRule.encode(v, writer.uint32(26).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const end = length === undefined ? reader.len : reader.pos + length; const message = createBaseDNSRuleConfig(); while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { case 1: { if (tag !== 8) { break; } message.action = reader.int32(); continue; } case 2: { if (tag === 16) { message.qtype.push(reader.int32()); continue; } if (tag === 18) { const end2 = reader.uint32() + reader.pos; while (reader.pos < end2) { message.qtype.push(reader.int32()); } continue; } break; } case 3: { if (tag !== 26) { break; } message.domain.push(geodat_1.DomainRule.decode(reader, reader.uint32())); continue; } } if ((tag & 7) === 4 || tag === 0) { break; } reader.skip(tag & 7); } return message; }, fromJSON(object) { return { $type: exports.DNSRuleConfig.$type, action: isSet(object.action) ? ruleActionFromJSON(object.action) : 0, qtype: globalThis.Array.isArray(object?.qtype) ? object.qtype.map((e) => globalThis.Number(e)) : [], domain: globalThis.Array.isArray(object?.domain) ? object.domain.map((e) => geodat_1.DomainRule.fromJSON(e)) : [], }; }, toJSON(message) { const obj = {}; if (message.action !== 0) { obj.action = ruleActionToJSON(message.action); } if (message.qtype?.length) { obj.qtype = message.qtype.map((e) => Math.round(e)); } if (message.domain?.length) { obj.domain = message.domain.map((e) => geodat_1.DomainRule.toJSON(e)); } return obj; }, create(base) { return exports.DNSRuleConfig.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseDNSRuleConfig(); message.action = object.action ?? 0; message.qtype = object.qtype?.map((e) => e) || []; message.domain = object.domain?.map((e) => geodat_1.DomainRule.fromPartial(e)) || []; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.DNSRuleConfig.$type, exports.DNSRuleConfig); function createBaseConfig() { return { $type: "xray.proxy.dns.Config", userLevel: 0, rule: [], server: undefined }; } exports.Config = { $type: "xray.proxy.dns.Config", encode(message, writer = new wire_1.BinaryWriter()) { if (message.userLevel !== 0) { writer.uint32(8).uint32(message.userLevel); } for (const v of message.rule) { exports.DNSRuleConfig.encode(v, writer.uint32(18).fork()).join(); } if (message.server !== undefined) { destination_1.Endpoint.encode(message.server, writer.uint32(26).fork()).join(); } return writer; }, decode(input, length) { const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input); const 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.userLevel = reader.uint32(); continue; } case 2: { if (tag !== 18) { break; } message.rule.push(exports.DNSRuleConfig.decode(reader, reader.uint32())); continue; } case 3: { if (tag !== 26) { break; } message.server = destination_1.Endpoint.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, userLevel: isSet(object.userLevel) ? globalThis.Number(object.userLevel) : isSet(object.user_level) ? globalThis.Number(object.user_level) : 0, rule: globalThis.Array.isArray(object?.rule) ? object.rule.map((e) => exports.DNSRuleConfig.fromJSON(e)) : [], server: isSet(object.server) ? destination_1.Endpoint.fromJSON(object.server) : undefined, }; }, toJSON(message) { const obj = {}; if (message.userLevel !== 0) { obj.userLevel = Math.round(message.userLevel); } if (message.rule?.length) { obj.rule = message.rule.map((e) => exports.DNSRuleConfig.toJSON(e)); } if (message.server !== undefined) { obj.server = destination_1.Endpoint.toJSON(message.server); } return obj; }, create(base) { return exports.Config.fromPartial(base ?? {}); }, fromPartial(object) { const message = createBaseConfig(); message.userLevel = object.userLevel ?? 0; message.rule = object.rule?.map((e) => exports.DNSRuleConfig.fromPartial(e)) || []; message.server = (object.server !== undefined && object.server !== null) ? destination_1.Endpoint.fromPartial(object.server) : undefined; return message; }, }; typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config); function isSet(value) { return value !== null && value !== undefined; }