diff --git a/frontend/src/models/outbound.js b/frontend/src/models/outbound.js
index fc3dfe39..c696bc07 100644
--- a/frontend/src/models/outbound.js
+++ b/frontend/src/models/outbound.js
@@ -748,6 +748,9 @@ export class SockoptStreamSettings extends CommonClass {
penetrate = false,
addressPortStrategy = Address_Port_Strategy.NONE,
trustedXForwardedFor = [],
+ mark = 0,
+ interfaceName = "",
+
) {
super();
this.dialerProxy = dialerProxy;
@@ -757,6 +760,9 @@ export class SockoptStreamSettings extends CommonClass {
this.penetrate = penetrate;
this.addressPortStrategy = addressPortStrategy;
this.trustedXForwardedFor = trustedXForwardedFor;
+ this.mark = mark;
+ this.interfaceName = interfaceName;
+
}
static fromJson(json = {}) {
@@ -768,7 +774,9 @@ export class SockoptStreamSettings extends CommonClass {
json.tcpMptcp,
json.penetrate,
json.addressPortStrategy,
- json.trustedXForwardedFor || []
+ json.trustedXForwardedFor || [],
+ json.mark ?? 0,
+ json.interface ?? "",
);
}
@@ -779,7 +787,9 @@ export class SockoptStreamSettings extends CommonClass {
tcpKeepAliveInterval: this.tcpKeepAliveInterval,
tcpMptcp: this.tcpMptcp,
penetrate: this.penetrate,
- addressPortStrategy: this.addressPortStrategy
+ addressPortStrategy: this.addressPortStrategy,
+ mark: this.mark,
+ interface: this.interfaceName,
};
if (this.trustedXForwardedFor && this.trustedXForwardedFor.length > 0) {
result.trustedXForwardedFor = this.trustedXForwardedFor;
diff --git a/frontend/src/pages/xray/OutboundFormModal.vue b/frontend/src/pages/xray/OutboundFormModal.vue
index b8c72aa3..30990b4c 100644
--- a/frontend/src/pages/xray/OutboundFormModal.vue
+++ b/frontend/src/pages/xray/OutboundFormModal.vue
@@ -988,6 +988,12 @@ function regenerateWgKeys() {
+
+
+
+
+
+