Prepare Build and Testing executable binary / Prepare-Build-Testing-With-Make (push) Has been cancelled
Prepare Build and Testing executable binary / Prepare-Build-Testing-With-CMake (push) Has been cancelled
Prepare Build and Testing executable binary / Prepare-Build-Testing-With-Meson (push) Has been cancelled
69 lines
3.5 KiB
C++
69 lines
3.5 KiB
C++
#include <OpenRouter/OpenRouter.hpp>
|
|
#include <colors.h>
|
|
#include <settings/settings.hpp>
|
|
#include <system/system.hpp>
|
|
#include <syslog.h>
|
|
#include <security/cors.hpp>
|
|
|
|
OpenRouter::OpenRouter()
|
|
{
|
|
this->srv.Post("/api/settings/telnet/get", api::settings::telnet::get_telnet);
|
|
this->srv.Post("/api/settings/telnet/set", api::settings::telnet::set_telnet);
|
|
this->srv.Post("/api/settings/telnet/port/get", api::settings::telnet::get_telnet_port);
|
|
this->srv.Post("/api/settings/telnet/port/set", api::settings::telnet::set_telnet_port);
|
|
|
|
this->srv.Post("/api/settings/ssh/status/get", api::settings::ssh::get_ssh_status);
|
|
this->srv.Post("/api/settings/ssh/status/set", api::settings::ssh::set_ssh_status);
|
|
this->srv.Post("/api/settings/ssh/keys/get", api::settings::ssh::get_ssh_keys);
|
|
this->srv.Post("/api/settings/ssh/keys/set", api::settings::ssh::set_ssh_keys);
|
|
this->srv.Post("/api/settings/ssh/port/get", api::settings::ssh::get_ssh_port);
|
|
this->srv.Post("/api/settings/ssh/port/set", api::settings::ssh::set_ssh_port);
|
|
this->srv.Post("/api/settings/ssh/server/get", api::settings::ssh::get_ssh_server_http);
|
|
this->srv.Post("/api/settings/ssh/server/set", api::settings::ssh::set_ssh_server_http);
|
|
|
|
this->srv.Post("/api/settings/dns/get", api::settings::dns::get_dns);
|
|
this->srv.Post("/api/settings/dns/set", api::settings::dns::set_dns);
|
|
this->srv.Post("/api/settings/dns/servers/get", api::settings::dns::get_dns_servers);
|
|
this->srv.Post("/api/settings/dns/servers/set", api::settings::dns::set_dns_servers);
|
|
this->srv.Post("/api/settings/dns/domains/get", api::settings::dns::get_local_domains);
|
|
this->srv.Post("/api/settings/dns/domains/set", api::settings::dns::set_local_domains);
|
|
|
|
this->srv.Post("/api/settings/ftp/get", api::settings::ftp::get_ftp);
|
|
this->srv.Post("/api/settings/ftp/set", api::settings::ftp::set_ftp);
|
|
|
|
this->srv.Post("/api/settings/wifi/status/get", api::settings::wifi::get_wifi_status);
|
|
this->srv.Post("/api/settings/wifi/status/set", api::settings::wifi::set_wifi_status);
|
|
this->srv.Post("/api/settings/wifi/name/get", api::settings::wifi::get_wifi_name);
|
|
this->srv.Post("/api/settings/wifi/name/set", api::settings::wifi::set_wifi_name);
|
|
this->srv.Post("/api/settings/wifi/password/get", api::settings::wifi::get_wifi_password);
|
|
this->srv.Post("/api/settings/wifi/password/set", api::settings::wifi::set_wifi_password);
|
|
this->srv.Post("/api/settings/wifi/qr/get", api::settings::wifi::get_wifi_qr);
|
|
this->srv.Post("/api/settings/wifi/channel/get", api::settings::wifi::get_wifi_channel);
|
|
this->srv.Post("/api/settings/wifi/channel/set", api::settings::wifi::set_wifi_channel);
|
|
|
|
this->srv.Post("/api/reboot", api::system::reboot);
|
|
|
|
this->srv.Get("/api/syslog", api::system::get_syslog);
|
|
#ifdef __linux__
|
|
this->srv.Get("/api/uptime", api::system::get_uptime);
|
|
#endif // __linux__
|
|
|
|
this->srv.Options("/(.*)", api::security::set_cors_headers);
|
|
|
|
this->srv.set_mount_point("/", "../src/web");
|
|
this->srv.set_mount_point("/js", "../src/web/js");
|
|
this->srv.set_mount_point("/css", "../src/web/css");
|
|
}
|
|
|
|
OpenRouter::~OpenRouter() = default;
|
|
|
|
int OpenRouter::serve(const std::string &ip, int port, int socket_flags)
|
|
{
|
|
std::cout << GREEN << "Starting" << RESET << " server on [ " << YELLOW
|
|
<< "0.0.0.0" << RESET << ":" << CYAN << "43244" << RESET << " ]" << std::endl;
|
|
|
|
syslog(LOG_INFO, "openrouter administration software started.");
|
|
this->srv.listen(ip, port, socket_flags);
|
|
return 0;
|
|
}
|