freedom redirect

Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
This commit is contained in:
mhsanaei 2024-09-02 10:23:10 +02:00
parent f0165c1ad8
commit f2ebe128cc
2 changed files with 10 additions and 1 deletions

View file

@ -864,12 +864,14 @@ Outbound.FreedomSettings = class extends CommonClass {
constructor( constructor(
domainStrategy = '', domainStrategy = '',
timeout = '', timeout = '',
redirect = '',
fragment = {}, fragment = {},
noise = {} noise = {}
) { ) {
super(); super();
this.domainStrategy = domainStrategy; this.domainStrategy = domainStrategy;
this.timeout = timeout; this.timeout = timeout;
this.redirect = redirect;
this.fragment = fragment; this.fragment = fragment;
this.noise = noise; this.noise = noise;
} }
@ -878,6 +880,7 @@ Outbound.FreedomSettings = class extends CommonClass {
return new Outbound.FreedomSettings( return new Outbound.FreedomSettings(
json.domainStrategy, json.domainStrategy,
json.timeout, json.timeout,
json.redirect,
json.fragment ? Outbound.FreedomSettings.Fragment.fromJson(json.fragment) : undefined, json.fragment ? Outbound.FreedomSettings.Fragment.fromJson(json.fragment) : undefined,
json.noise ? Outbound.FreedomSettings.Noise.fromJson(json.noise) : undefined, json.noise ? Outbound.FreedomSettings.Noise.fromJson(json.noise) : undefined,
); );
@ -887,6 +890,7 @@ Outbound.FreedomSettings = class extends CommonClass {
return { return {
domainStrategy: ObjectUtil.isEmpty(this.domainStrategy) ? undefined : this.domainStrategy, domainStrategy: ObjectUtil.isEmpty(this.domainStrategy) ? undefined : this.domainStrategy,
timeout: this.timeout, timeout: this.timeout,
redirect: this.redirect,
fragment: Object.keys(this.fragment).length === 0 ? undefined : this.fragment, fragment: Object.keys(this.fragment).length === 0 ? undefined : this.fragment,
noise: Object.keys(this.noise).length === 0 ? undefined : this.noise, noise: Object.keys(this.noise).length === 0 ? undefined : this.noise,
}; };

View file

@ -25,8 +25,13 @@
<a-form-item label='Timeout'> <a-form-item label='Timeout'>
<a-input-number v-model.number="outbound.settings.timeout" min="0" ></a-input-number> <a-input-number v-model.number="outbound.settings.timeout" min="0" ></a-input-number>
</a-form-item> </a-form-item>
<a-form-item label='Redirect'>
<a-input v-model="outbound.settings.redirect"></a-input>
</a-form-item>
<a-form-item label='Fragment'> <a-form-item label='Fragment'>
<a-switch :checked="Object.keys(outbound.settings.fragment).length >0" @change="checked => outbound.settings.fragment = checked ? new Outbound.FreedomSettings.Fragment() : {}"></a-switch> <a-switch :checked="Object.keys(outbound.settings.fragment).length >0"
@change="checked => outbound.settings.fragment = checked ? new Outbound.FreedomSettings.Fragment() : {}">
</a-switch>
</a-form-item> </a-form-item>
<template v-if="Object.keys(outbound.settings.fragment).length >0"> <template v-if="Object.keys(outbound.settings.fragment).length >0">
<a-form-item label='Packets'> <a-form-item label='Packets'>