def snitch_start(): provider = Provider() daemon = provider.daemon() if not daemon.is_configured(): print("SnitchDNS Daemon is not configured - aborting.") return False print("SnitchDNS - Starting daemon...") return daemon.start()
def system(): provider = Provider() system = provider.system() daemon = provider.daemon() system.run_updates() return render_template( 'config/system/system.html', is_venv=system.is_virtual_environment(), flask=system.can_run_flask(), version=system.check_version(system.get_python_version(), '3.6'), daemon_running=daemon.is_running(), daemon_configured=daemon.is_configured() )
def system_daemon(): provider = Provider() daemon = provider.daemon() settings = provider.settings() # First check to see is everyoneis allowed to start the daemon. dns_daemon_start_everyone = settings.get('dns_daemon_start_everyone', False, type=bool) if not dns_daemon_start_everyone: # If it's not an admin, return to homepage. if not current_user.admin: flash('Access Denied', 'error') return redirect(url_for('home.index')) action = request.form['action'].strip() if not daemon.is_configured(): flash('DNS Daemon is not configured', 'error') return redirect(url_for('config.system')) elif action not in ['start', 'stop']: flash('Invalid action', 'error') return redirect(url_for('config.system')) if action == 'start': if daemon.start(): flash('DNS Daemon Started', 'success') else: flash('Could not start DNS Daemon', 'error') elif action == 'stop' and current_user.admin: # Only admins can stop the service. if daemon.stop(): flash('DNS Daemon Stopped', 'success') else: flash('Could not stop DNS Daemon', 'error') redirect_to = 'config.system' if current_user.admin else 'home.index' return redirect(url_for(redirect_to))