diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html
index 98ace054..e6295e6b 100644
--- a/web/html/xui/xray.html
+++ b/web/html/xui/xray.html
@@ -794,7 +794,7 @@
if(reverseTypeObj.length == 0) Reflect.deleteProperty(newTemplateSettings.reverse, oldData.type+'s');
if(Object.keys(newTemplateSettings.reverse).length === 0) Reflect.deleteProperty(newTemplateSettings, 'reverse');
- newRules = newTemplateSettings.routing.rules.filter(r => r.outboundTag != oldtag && (r.inboundTag && !r.inboundTag.includes(oldtag)));
+ newRules = newTemplateSettings.routing.rules.filter(r => r.outboundTag != oldData.tag && (r.inboundTag && !r.inboundTag.includes(oldData.tag)));
newTemplateSettings.routing.rules = newRules;
this.templateSettings = newTemplateSettings;
diff --git a/web/html/xui/xray_reverse_modal.html b/web/html/xui/xray_reverse_modal.html
index 1af232cd..fa708b74 100644
--- a/web/html/xui/xray_reverse_modal.html
+++ b/web/html/xui/xray_reverse_modal.html
@@ -102,8 +102,8 @@
reverseModal.rules[1].type = 'field';
if(reverseModal.reverse.type == 'bridge'){
- reverseModal.rules[0].inboundTag.push(reverseModal.reverse.tag);
- reverseModal.rules[1].inboundTag.push(reverseModal.reverse.tag);
+ reverseModal.rules[0].inboundTag = [reverseModal.reverse.tag];
+ reverseModal.rules[1].inboundTag = [reverseModal.reverse.tag];
} else {
reverseModal.rules[0].outboundTag = reverseModal.reverse.tag;
reverseModal.rules[1].outboundTag = reverseModal.reverse.tag;
@@ -123,7 +123,9 @@
};
reverse;
rules0 = rules.filter(r => r.domain != null);
+ if(rules0.length == 0) rules0 = [{ outboundTag: '', domain: ["full:" + this.reverse.domain], inboundTag: []}];
rules1 = rules.filter(r => r.domain == null);
+ if(rules1.length == 0) rules1 = [{ outboundTag: '', inboundTag: []}];
this.rules = [];
this.rules.push({
domain: rules0[0].domain,