|
@@ -129,35 +129,14 @@
|
|
|
datepickerList: [{ name: 'Gregorian (Standard)', value: 'gregorian' }, { name: 'Jalalian (شمسی)', value: 'jalalian' }],
|
|
datepickerList: [{ name: 'Gregorian (Standard)', value: 'gregorian' }, { name: 'Jalalian (شمسی)', value: 'jalalian' }],
|
|
|
remarkSample: '',
|
|
remarkSample: '',
|
|
|
defaultFragment: {
|
|
defaultFragment: {
|
|
|
- tag: "fragment",
|
|
|
|
|
- protocol: "freedom",
|
|
|
|
|
- settings: {
|
|
|
|
|
- domainStrategy: "AsIs",
|
|
|
|
|
- fragment: {
|
|
|
|
|
- packets: "tlshello",
|
|
|
|
|
- length: "100-200",
|
|
|
|
|
- interval: "10-20",
|
|
|
|
|
- maxSplit: "300-400"
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- streamSettings: {
|
|
|
|
|
- sockopt: {
|
|
|
|
|
- tcpKeepAliveIdle: 100,
|
|
|
|
|
- tcpMptcp: true,
|
|
|
|
|
- penetrate: true
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- defaultNoises: {
|
|
|
|
|
- tag: "noises",
|
|
|
|
|
- protocol: "freedom",
|
|
|
|
|
- settings: {
|
|
|
|
|
- domainStrategy: "AsIs",
|
|
|
|
|
- noises: [
|
|
|
|
|
- { type: "rand", packet: "10-20", delay: "10-16", applyTo: "ip" },
|
|
|
|
|
- ],
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ packets: "tlshello",
|
|
|
|
|
+ length: "100-200",
|
|
|
|
|
+ interval: "10-20",
|
|
|
|
|
+ maxSplit: "300-400"
|
|
|
},
|
|
},
|
|
|
|
|
+ defaultNoises: [
|
|
|
|
|
+ { type: "rand", packet: "10-20", delay: "10-16", applyTo: "ip" }
|
|
|
|
|
+ ],
|
|
|
defaultMux: {
|
|
defaultMux: {
|
|
|
enabled: true,
|
|
enabled: true,
|
|
|
concurrency: 8,
|
|
concurrency: 8,
|
|
@@ -451,41 +430,41 @@
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
fragmentPackets: {
|
|
fragmentPackets: {
|
|
|
- get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).settings.fragment.packets : ""; },
|
|
|
|
|
|
|
+ get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).packets : ""; },
|
|
|
set: function (v) {
|
|
set: function (v) {
|
|
|
if (v != "") {
|
|
if (v != "") {
|
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
|
- newFragment.settings.fragment.packets = v;
|
|
|
|
|
|
|
+ newFragment.packets = v;
|
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
fragmentLength: {
|
|
fragmentLength: {
|
|
|
- get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).settings.fragment.length : ""; },
|
|
|
|
|
|
|
+ get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).length : ""; },
|
|
|
set: function (v) {
|
|
set: function (v) {
|
|
|
if (v != "") {
|
|
if (v != "") {
|
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
|
- newFragment.settings.fragment.length = v;
|
|
|
|
|
|
|
+ newFragment.length = v;
|
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
fragmentInterval: {
|
|
fragmentInterval: {
|
|
|
- get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).settings.fragment.interval : ""; },
|
|
|
|
|
|
|
+ get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).interval : ""; },
|
|
|
set: function (v) {
|
|
set: function (v) {
|
|
|
if (v != "") {
|
|
if (v != "") {
|
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
|
- newFragment.settings.fragment.interval = v;
|
|
|
|
|
|
|
+ newFragment.interval = v;
|
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
fragmentMaxSplit: {
|
|
fragmentMaxSplit: {
|
|
|
- get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).settings.fragment.maxSplit : ""; },
|
|
|
|
|
|
|
+ get: function () { return this.fragment ? JSON.parse(this.allSetting.subJsonFragment).maxSplit : ""; },
|
|
|
set: function (v) {
|
|
set: function (v) {
|
|
|
if (v != "") {
|
|
if (v != "") {
|
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
newFragment = JSON.parse(this.allSetting.subJsonFragment);
|
|
|
- newFragment.settings.fragment.maxSplit = v;
|
|
|
|
|
|
|
+ newFragment.maxSplit = v;
|
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
this.allSetting.subJsonFragment = JSON.stringify(newFragment);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -504,13 +483,11 @@
|
|
|
},
|
|
},
|
|
|
noisesArray: {
|
|
noisesArray: {
|
|
|
get() {
|
|
get() {
|
|
|
- return this.noises ? JSON.parse(this.allSetting.subJsonNoises).settings.noises : [];
|
|
|
|
|
|
|
+ return this.noises ? JSON.parse(this.allSetting.subJsonNoises) : [];
|
|
|
},
|
|
},
|
|
|
set(value) {
|
|
set(value) {
|
|
|
if (this.noises) {
|
|
if (this.noises) {
|
|
|
- const newNoises = JSON.parse(this.allSetting.subJsonNoises);
|
|
|
|
|
- newNoises.settings.noises = value;
|
|
|
|
|
- this.allSetting.subJsonNoises = JSON.stringify(newNoises);
|
|
|
|
|
|
|
+ this.allSetting.subJsonNoises = JSON.stringify(value);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|