diff options
Diffstat (limited to 'web')
| -rw-r--r-- | web/assets/js/model/outbound.js | 11 | ||||
| -rw-r--r-- | web/html/form/outbound.html | 8 | ||||
| -rw-r--r-- | web/html/settings.html | 9 | ||||
| -rw-r--r-- | web/html/settings/panel/subscription/json.html | 12 |
4 files changed, 36 insertions, 4 deletions
diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js index a42c400d..ce110a73 100644 --- a/web/assets/js/model/outbound.js +++ b/web/assets/js/model/outbound.js @@ -919,12 +919,14 @@ Outbound.FreedomSettings.Fragment = class extends CommonClass { constructor( packets = '1-3', length = '', - interval = '' + interval = '', + maxSplit = '' ) { super(); this.packets = packets; this.length = length; this.interval = interval; + this.maxSplit = maxSplit; } static fromJson(json = {}) { @@ -932,6 +934,7 @@ Outbound.FreedomSettings.Fragment = class extends CommonClass { json.packets, json.length, json.interval, + json.maxSplit ); } }; @@ -940,12 +943,14 @@ Outbound.FreedomSettings.Noise = class extends CommonClass { constructor( type = 'rand', packet = '10-20', - delay = '10-16' + delay = '10-16', + applyTo = 'ip' ) { super(); this.type = type; this.packet = packet; this.delay = delay; + this.applyTo = applyTo; } static fromJson(json = {}) { @@ -953,6 +958,7 @@ Outbound.FreedomSettings.Noise = class extends CommonClass { json.type, json.packet, json.delay, + json.applyTo ); } @@ -961,6 +967,7 @@ Outbound.FreedomSettings.Noise = class extends CommonClass { type: this.type, packet: this.packet, delay: this.delay, + applyTo: this.applyTo }; } }; diff --git a/web/html/form/outbound.html b/web/html/form/outbound.html index eed7316d..0b75ba27 100644 --- a/web/html/form/outbound.html +++ b/web/html/form/outbound.html @@ -42,6 +42,9 @@ <a-form-item label='Interval'> <a-input v-model.trim="outbound.settings.fragment.interval"></a-input> </a-form-item> + <a-form-item label='Max Split'> + <a-input v-model.trim="outbound.settings.fragment.maxSplit"></a-input> + </a-form-item> </template> <!-- Switch for Noises --> @@ -75,6 +78,11 @@ <a-form-item label='Delay'> <a-input v-model.trim="noise.delay"></a-input> </a-form-item> + <a-form-item label='Apply To'> + <a-select v-model="noise.applyTo" :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option v-for="s in ['ip','ipv4','ipv6']" :value="s">[[ s ]]</a-select-option> + </a-select> + </a-form-item> </a-form> </template> </template> diff --git a/web/html/settings.html b/web/html/settings.html index c7fa9bd8..3b6e81a1 100644 --- a/web/html/settings.html +++ b/web/html/settings.html @@ -207,7 +207,7 @@ settings: { domainStrategy: "AsIs", noises: [ - { type: "rand", packet: "10-20", delay: "10-16" }, + { type: "rand", packet: "10-20", delay: "10-16", applyTo: "ip" }, ], }, }, @@ -397,7 +397,7 @@ } }, addNoise() { - const newNoise = { type: "rand", packet: "10-20", delay: "10-16" }; + const newNoise = { type: "rand", packet: "10-20", delay: "10-16", applyTo: "ip" }; this.noisesArray = [...this.noisesArray, newNoise]; }, removeNoise(index) { @@ -420,6 +420,11 @@ updatedNoises[index] = { ...updatedNoises[index], delay: value }; this.noisesArray = updatedNoises; }, + updateNoiseApplyTo(index, value) { + const updatedNoises = [...this.noisesArray]; + updatedNoises[index] = { ...updatedNoises[index], applyTo: value }; + this.noisesArray = updatedNoises; + }, }, computed: { fragment: { diff --git a/web/html/settings/panel/subscription/json.html b/web/html/settings/panel/subscription/json.html index a3729984..c8575e38 100644 --- a/web/html/settings/panel/subscription/json.html +++ b/web/html/settings/panel/subscription/json.html @@ -90,6 +90,18 @@ placeholder="10-20"></a-input> </template> </a-setting-list-item> + <a-setting-list-item paddings="small"> + <template #title>ApplyTo</template> + <template #control> + <a-select :value="noise.applyTo" :style="{ width: '100%' }" + :dropdown-class-name="themeSwitcher.currentTheme" + @change="(value) => updateNoiseApplyTo(index, value)"> + <a-select-option :value="p" :label="p" v-for="p in ['ip', 'ipv4', 'ipv6']" :key="p"> + <span>[[ p ]]</span> + </a-select-option> + </a-select> + </template> + </a-setting-list-item> <a-space direction="horizontal" :style="{ padding: '10px 20px' }"> <a-button v-if="noisesArray.length > 1" type="danger" @click="removeNoise(index)">Remove</a-button> |
