@remnawave/xtls-sdk
Version:
A Typescript SDK for XRAY (XTLS) Core GRPC Api
250 lines (249 loc) • 9.06 kB
JavaScript
;
// 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;
}