def cleanup_config(self, vpn_service: str, keep_dnsmasq=True): if self.is_connman(): return resolver = self._resolver() if keep_dnsmasq: resolver.reset_hook(self.vpn_hook_cfg) elif FileHelper.is_readable(self.origin_resolv_cfg): logger.info(f'Restore System DNS config file...') FileHelper.backup(self.origin_resolv_cfg, DNSResolver.DNS_SYSTEM_FILE) FileHelper.rm(self.vpn_resolv_cfg) resolver.restore_config(vpn_service, keep_dnsmasq) resolver.restart(_all=not keep_dnsmasq, keep_dnsmasq=keep_dnsmasq)
def create_config(self, vpn_service: str, auto_connman_dhcp: bool): if self.is_connman(): FileHelper.write_file(self.connman_dhcp, str(auto_connman_dhcp)) return if not FileHelper.is_readable(self.origin_resolv_cfg): logger.info( f'Backup System DNS config file to [{self.origin_resolv_cfg}]...' ) FileHelper.backup(DNSResolver.DNS_SYSTEM_FILE, self.origin_resolv_cfg, remove=False) if not FileHelper.is_readable(self.origin_resolv_cfg): logger.error( f'Not found origin DNS config file [{self.origin_resolv_cfg}]') sys.exit(ErrorCode.FILE_CORRUPTED) if not FileHelper.is_readable(self.vpn_hook_cfg): FileHelper.touch(self.vpn_hook_cfg, 0o0644) self._resolver().setup(vpn_service, self.origin_resolv_cfg, self.vpn_resolv_cfg, self.vpn_hook_cfg) self._resolver().restart(_all=True)