summaryrefslogtreecommitdiffhomepage
path: root/gui/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'gui/src/main')
-rw-r--r--gui/src/main/daemon-rpc.ts13
-rw-r--r--gui/src/main/index.ts8
2 files changed, 21 insertions, 0 deletions
diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts
index 130651c200..c7f4ce8608 100644
--- a/gui/src/main/daemon-rpc.ts
+++ b/gui/src/main/daemon-rpc.ts
@@ -48,6 +48,7 @@ import {
ProxySettings,
VoucherResponse,
TunnelProtocol,
+ IDnsOptions,
} from '../shared/daemon-rpc-types';
import * as managementInterface from './management_interface/management_interface_grpc_pb';
@@ -452,6 +453,14 @@ export class DaemonRpc {
};
}
+ public async setDnsOptions(dns: IDnsOptions): Promise<void> {
+ const dnsOptions = new grpcTypes.DnsOptions();
+ dnsOptions.setCustom(dns.custom);
+ dnsOptions.setAddressesList(dns.addresses);
+
+ await this.call<grpcTypes.DnsOptions, Empty>(this.client.setDnsOptions, dnsOptions);
+ }
+
public async verifyWireguardKey(): Promise<boolean> {
const response = await this.callEmpty<BoolValue>(this.client.verifyWireguardKey);
return response.getValue();
@@ -1029,6 +1038,10 @@ function convertFromTunnelOptions(tunnelOptions: grpcTypes.TunnelOptions.AsObjec
generic: {
enableIpv6: tunnelOptions.generic!.enableIpv6,
},
+ dns: {
+ custom: tunnelOptions.dnsOptions?.custom ?? false,
+ addresses: tunnelOptions.dnsOptions?.addressesList ?? [],
+ },
};
}
diff --git a/gui/src/main/index.ts b/gui/src/main/index.ts
index 514fa4b4e8..d780e8e128 100644
--- a/gui/src/main/index.ts
+++ b/gui/src/main/index.ts
@@ -15,6 +15,7 @@ import {
DaemonEvent,
IAccountData,
IAppVersionInfo,
+ IDnsOptions,
ILocation,
IRelayList,
ISettings,
@@ -137,6 +138,10 @@ class ApplicationMain {
wireguard: {
mtu: undefined,
},
+ dns: {
+ custom: false,
+ addresses: [],
+ },
},
};
private guiSettings = new GuiSettings();
@@ -984,6 +989,9 @@ class ApplicationMain {
IpcMainEventChannel.settings.handleUpdateBridgeSettings((bridgeSettings: BridgeSettings) => {
return this.daemonRpc.setBridgeSettings(bridgeSettings);
});
+ IpcMainEventChannel.settings.handleDnsOptions((dns: IDnsOptions) => {
+ return this.daemonRpc.setDnsOptions(dns);
+ });
IpcMainEventChannel.autoStart.handleSet((autoStart: boolean) => {
return this.setAutoStart(autoStart);
});