Skip to content
API Documentation
BastionGuard™
wizard_setup.hpp
Go to the documentation of this file.
1/*
2 * BastionGuard™
3 * Copyright (C) 2025–2026 Calogero Scarnà
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, version 3.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <https://www.gnu.org/licenses/>.
16 *
17 * BastionGuard™ is a trademark of Calogero Scarnà.
18 * The BastionGuard™ name and branding are not licensed under the GPL.
19 */
20
21
22#pragma once
23
24#include <string>
25#include <vector>
26
27namespace BastionGuard::wizard {
28
29 void gen_resolv_commands(std::vector<std::string>& out);
30 void gen_firewall_commands(std::vector<std::string>& out);
31 void gen_cert_commands(std::vector<std::string>& out);
32 void gen_web_commands(std::vector<std::string>& out, int http_port, int https_port);
33 void gen_blacklist_commands(std::vector<std::string>& out, const std::string& packaged_blacklist);
34
35 bool run_all_elevated_steps(const std::vector<std::string>& commands, std::string* out_log = nullptr);
36
37 bool run_wizard_setup(const std::vector<std::string>& options);
38
39
42
45
46 bool setup_certificates();
47
48
49 bool install_phishing_blacklist(const std::string& src, const std::string& dst);
50
51
52 bool install_native_host(const std::string& src_host, const std::string& extension_id);
53
54 bool install_system_ca(const std::string& ca_crt_path);
55
56} // namespace BastionGuard::wizard
bool run_all_elevated_steps(const std::vector< std::string > &commands, std::string *out_log)
bool install_system_ca(const std::string &ca_crt_path)
bool run_wizard_setup(const std::vector< std::string > &options)
void gen_web_commands(std::vector< std::string > &out, int http_port, int https_port)
void gen_resolv_commands(std::vector< std::string > &out)
void gen_cert_commands(std::vector< std::string > &out)
bool install_native_host(const std::string &, const std::string &extension_id)
bool install_phishing_blacklist(const std::string &src, const std::string &dst)
void gen_blacklist_commands(std::vector< std::string > &out, const std::string &packaged_blacklist)
void gen_firewall_commands(std::vector< std::string > &out)