diff options
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 19 | ||||
| -rw-r--r-- | gui/src/main/default-settings.ts | 3 | ||||
| -rw-r--r-- | gui/src/renderer/redux/settings/reducers.ts | 3 | ||||
| -rw-r--r-- | gui/src/shared/daemon-rpc-types.ts | 6 |
4 files changed, 30 insertions, 1 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index f328329d81..e264ef75e3 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -388,6 +388,11 @@ export class DaemonRpc { grpcTypes.ObfuscationSettings.SelectedObfuscation.OFF, ); break; + case ObfuscationType.shadowsocks: + grpcObfuscationSettings.setSelectedObfuscation( + grpcTypes.ObfuscationSettings.SelectedObfuscation.SHADOWSOCKS, + ); + break; case ObfuscationType.udp2tcp: grpcObfuscationSettings.setSelectedObfuscation( grpcTypes.ObfuscationSettings.SelectedObfuscation.UDP2TCP, @@ -403,7 +408,13 @@ export class DaemonRpc { grpcObfuscationSettings.setUdp2tcp(grpcUdp2tcpSettings); } - grpcObfuscationSettings.setShadowsocks(new grpcTypes.ShadowsocksSettings()); + if (obfuscationSettings.shadowsocksSettings) { + const shadowsocksSettings = new grpcTypes.ShadowsocksSettings(); + if (obfuscationSettings.shadowsocksSettings.port !== 'any') { + shadowsocksSettings.setPort(obfuscationSettings.shadowsocksSettings.port.only); + } + grpcObfuscationSettings.setShadowsocks(shadowsocksSettings); + } await this.call<grpcTypes.ObfuscationSettings, Empty>( this.client.setObfuscationSettings, @@ -1470,6 +1481,9 @@ function convertFromObfuscationSettings( case grpcTypes.ObfuscationSettings.SelectedObfuscation.UDP2TCP: selectedObfuscationType = ObfuscationType.udp2tcp; break; + case grpcTypes.ObfuscationSettings.SelectedObfuscation.SHADOWSOCKS: + selectedObfuscationType = ObfuscationType.shadowsocks; + break; } return { @@ -1477,6 +1491,9 @@ function convertFromObfuscationSettings( udp2tcpSettings: obfuscationSettings?.udp2tcp ? { port: convertFromConstraint(obfuscationSettings.udp2tcp.port) } : { port: 'any' }, + shadowsocksSettings: obfuscationSettings?.shadowsocks + ? { port: convertFromConstraint(obfuscationSettings.shadowsocks.port) } + : { port: 'any' }, }; } diff --git a/gui/src/main/default-settings.ts b/gui/src/main/default-settings.ts index e942a535b6..e11a7434e1 100644 --- a/gui/src/main/default-settings.ts +++ b/gui/src/main/default-settings.ts @@ -74,6 +74,9 @@ export function getDefaultSettings(): ISettings { udp2tcpSettings: { port: 'any', }, + shadowsocksSettings: { + port: 'any', + }, }, customLists: [], apiAccessMethods: getDefaultApiAccessMethods(), diff --git a/gui/src/renderer/redux/settings/reducers.ts b/gui/src/renderer/redux/settings/reducers.ts index eae413fe22..6eb595467b 100644 --- a/gui/src/renderer/redux/settings/reducers.ts +++ b/gui/src/renderer/redux/settings/reducers.ts @@ -188,6 +188,9 @@ const initialState: ISettingsReduxState = { udp2tcpSettings: { port: 'any', }, + shadowsocksSettings: { + port: 'any', + }, }, customLists: [], apiAccessMethods: getDefaultApiAccessMethods(), diff --git a/gui/src/shared/daemon-rpc-types.ts b/gui/src/shared/daemon-rpc-types.ts index ed588ff811..40c692e1ba 100644 --- a/gui/src/shared/daemon-rpc-types.ts +++ b/gui/src/shared/daemon-rpc-types.ts @@ -451,15 +451,21 @@ export type Udp2TcpObfuscationSettings = { port: Constraint<number>; }; +export type ShadowsocksSettings = { + port: Constraint<number>; +}; + export enum ObfuscationType { auto, off, udp2tcp, + shadowsocks, } export type ObfuscationSettings = { selectedObfuscation: ObfuscationType; udp2tcpSettings: Udp2TcpObfuscationSettings; + shadowsocksSettings: ShadowsocksSettings; }; export interface IBridgeConstraints { |
