Merge pull request 'formated code' (#13) from formated-code into main
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

Reviewed-on: https://gitea.home.com:3000/TolaMironcenko/openrouter/pulls/13
This commit was merged in pull request #13.
This commit is contained in:
wt committed 2025-02-13 12:27:14 +03:00
commit c86d4d77ba
46 files changed
+23674 -22776

No files matched your search

+46
View File
@@ -0,0 +1,46 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
tab_width = 8
trim_trailing_whitespace = true
insert_final_newline = true
[DEVELOPERS]
indent_style = tab
indent_size = tab
[Config*.in*]
indent_style = tab
indent_size = tab
[linux/Config.ext.in]
indent_style = tab
indent_size = tab
[Makefile*]
indent_style = tab
indent_size = tab
[*.mk]
indent_style = tab
indent_size = tab
[*.patch]
trim_trailing_whitespace = false
[S{0..9}{0..9}*]
indent_style = tab
indent_size = tab
[*.adoc]
trim_trailing_whitespace = false
[*.{c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,inl,ipp,tlh,tli}]
cpp_indent_case_contents_when_block = true
cpp_new_line_before_open_brace_namespace = new_line
cpp_new_line_before_open_brace_function = new_line
+30 -6
View File
@@ -1,13 +1,37 @@
CXX=g++ CXX=g++
STRIP=strip STRIP=strip
CXXFLAGS=-Wall -I src/libs -I src -std=c++20 CXXFLAGS=-Wall -I src/libs -I src -std=c++20
SOURCES=src/openrouter.cpp src/security/cors.cpp src/settings/telnet/enabled.cpp src/settings/telnet/port.cpp src/settings/ssh/status.cpp src/settings/ssh/keys.cpp src/settings/ssh/port.cpp src/settings/ssh/server.cpp src/settings/dns/enabled.cpp src/settings/dns/servers.cpp src/settings/dns/local_domains.cpp src/settings/wifi/status.cpp src/settings/wifi/name.cpp src/settings/wifi/password.cpp src/settings/wifi/qr.cpp src/settings/wifi/channel.cpp src/settings/ftp/ftp.cpp src/system/reboot/reboot.cpp src/system/syslog/syslog.cpp src/system/uptime/uptime.cpp src/OpenRouter/OpenRouter.cpp src/auth/auth.cpp src/libs/QR-Code-generator/qrcodegen.cpp src/libs/QR-Code-generator/qrtosvg.cpp SOURCES=src/openrouter.cpp \
TARGET=bin/openrouter src/security/cors.cpp \
src/settings/telnet/enabled.cpp \
src/settings/telnet/port.cpp \
src/settings/ssh/status.cpp \
src/settings/ssh/keys.cpp \
src/settings/ssh/port.cpp \
src/settings/ssh/server.cpp \
src/settings/dns/enabled.cpp \
src/settings/dns/servers.cpp \
src/settings/dns/local_domains.cpp \
src/settings/wifi/status.cpp \
src/settings/wifi/name.cpp \
src/settings/wifi/password.cpp \
src/settings/wifi/qr.cpp \
src/settings/wifi/channel.cpp \
src/settings/ftp/ftp.cpp \
src/system/reboot/reboot.cpp \
src/system/syslog/syslog.cpp \
src/system/uptime/uptime.cpp \
src/OpenRouter/OpenRouter.cpp \
src/auth/auth.cpp \
src/libs/QR-Code-generator/qrcodegen.cpp \
src/libs/QR-Code-generator/qrtosvg.cpp
TARGET=build/openrouter
default: all default: all
all: build all: build
.PHONY: build
build: build:
@if [ ! -d bin ]; then \ @if [ ! -d build ]; then \
mkdir bin; \ mkdir build; \
fi fi
$(CXX) -o $(TARGET) $(SOURCES) $(CXXFLAGS) $(CXX) -o $(TARGET) $(SOURCES) $(CXXFLAGS)
$(STRIP) $(TARGET) $(STRIP) $(TARGET)
@@ -15,7 +39,7 @@ clean:
@if [ -f $(TARGET) ]; then \ @if [ -f $(TARGET) ]; then \
rm -v $(TARGET); \ rm -v $(TARGET); \
fi fi
install: install:
@if [ ! -f /usr/bin/openrouter ]; then \ @if [ ! -f /usr/bin/openrouter ]; then \
install -v $(TARGET) /usr/bin/openrouter; \ install -v $(TARGET) /usr/bin/openrouter; \
@@ -32,4 +56,4 @@ uninstall:
fi fi
@if [ -f /usr/bin/openrouter ]; then \ @if [ -f /usr/bin/openrouter ]; then \
rm -v /usr/bin/openrouter; \ rm -v /usr/bin/openrouter; \
fi fi
+31 -36
View File
@@ -1,44 +1,39 @@
project('openrouter', 'cpp', default_options : ['cpp_std=c++20', 'cpp_args=-Wall']) project('openrouter', 'cpp', default_options: ['cpp_std=c++20', 'cpp_args=-Wall'])
include_dirs = include_directories('src', 'src/libs') include_dirs = include_directories('src', 'src/libs')
executable( executable(
'openrouter', 'openrouter',
'src/openrouter.cpp', 'src/openrouter.cpp',
'src/security/cors.cpp', 'src/security/cors.cpp',
'src/settings/telnet/enabled.cpp',
'src/settings/telnet/port.cpp',
'src/settings/ssh/status.cpp',
'src/settings/ssh/keys.cpp',
'src/settings/ssh/port.cpp',
'src/settings/ssh/server.cpp',
'src/settings/dns/enabled.cpp', 'src/settings/telnet/enabled.cpp',
'src/settings/dns/servers.cpp', 'src/settings/telnet/port.cpp',
'src/settings/dns/local_domains.cpp',
'src/settings/wifi/status.cpp', 'src/settings/ssh/status.cpp',
'src/settings/wifi/name.cpp', 'src/settings/ssh/keys.cpp',
'src/settings/wifi/password.cpp', 'src/settings/ssh/port.cpp',
'src/settings/wifi/qr.cpp', 'src/settings/ssh/server.cpp',
'src/settings/wifi/channel.cpp',
'src/settings/ftp/ftp.cpp', 'src/settings/dns/enabled.cpp',
'src/settings/dns/servers.cpp',
'src/settings/dns/local_domains.cpp',
'src/system/reboot/reboot.cpp', 'src/settings/wifi/status.cpp',
'src/system/syslog/syslog.cpp', 'src/settings/wifi/name.cpp',
'src/system/uptime/uptime.cpp', 'src/settings/wifi/password.cpp',
'src/OpenRouter/OpenRouter.cpp', 'src/settings/wifi/qr.cpp',
'src/auth/auth.cpp', 'src/settings/wifi/channel.cpp',
'src/libs/QR-Code-generator/qrcodegen.cpp',
'src/libs/QR-Code-generator/qrtosvg.cpp', 'src/settings/ftp/ftp.cpp',
include_directories: include_dirs,
install: true 'src/system/reboot/reboot.cpp',
'src/system/syslog/syslog.cpp',
'src/system/uptime/uptime.cpp',
'src/OpenRouter/OpenRouter.cpp',
'src/auth/auth.cpp',
'src/libs/QR-Code-generator/qrcodegen.cpp',
'src/libs/QR-Code-generator/qrtosvg.cpp',
include_directories: include_dirs,
install: true,
) )
install_subdir( install_subdir('src/web', install_dir: 'share/openrouter')
'src/web',
install_dir: 'share/openrouter'
)
+2 -2
View File
@@ -58,10 +58,10 @@ OpenRouter::OpenRouter()
OpenRouter::~OpenRouter() = default; OpenRouter::~OpenRouter() = default;
int OpenRouter::serve(const std::string &ip, int port, int socket_flags) int OpenRouter::serve(const std::string& ip, int port, int socket_flags)
{ {
std::cout << GREEN << "Starting" << RESET << " server on [ " << YELLOW std::cout << GREEN << "Starting" << RESET << " server on [ " << YELLOW
<< "0.0.0.0" << RESET << ":" << CYAN << "43244" << RESET << " ]" << std::endl; << "0.0.0.0" << RESET << ":" << CYAN << "43244" << RESET << " ]" << std::endl;
syslog(LOG_INFO, "openrouter administration software started."); syslog(LOG_INFO, "openrouter administration software started.");
this->srv.listen(ip, port, socket_flags); this->srv.listen(ip, port, socket_flags);
+1 -1
View File
@@ -14,7 +14,7 @@ private:
public: public:
OpenRouter(); OpenRouter();
~OpenRouter(); ~OpenRouter();
int serve(const std::string &ip, int port, int socket_flags = 0); int serve(const std::string& ip, int port, int socket_flags = 0);
}; };
#endif // OPENROUTER_HPP #endif // OPENROUTER_HPP
+2 -2
View File
@@ -4,7 +4,7 @@
#include <httplib.h> #include <httplib.h>
#include <json.hpp> #include <json.hpp>
static bool check_body(const httplib::Request &request) static bool check_body(const httplib::Request& request)
{ {
if (request.body.empty()) if (request.body.empty())
return false; return false;
@@ -14,4 +14,4 @@ static bool check_body(const httplib::Request &request)
return true; return true;
} }
#endif // HELPERS_HPP #endif // HELPERS_HPP
+1 -1
View File
@@ -130,4 +130,4 @@ public:
} }
}; };
#endif // CONFIG_MANAGER_HPP #endif // CONFIG_MANAGER_HPP
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+26 -25
View File
@@ -2,29 +2,30 @@
#include <sstream> #include <sstream>
#include <climits> #include <climits>
std::string toSvgString(const qrcodegen::QrCode &qr, int border) { std::string toSvgString(const qrcodegen::QrCode& qr, int border)
if (border < 0) {
throw std::domain_error("Border must be non-negative"); if (border < 0)
if (border > INT_MAX / 2 || border * 2 > INT_MAX - qr.getSize()) throw std::domain_error("Border must be non-negative");
throw std::overflow_error("Border too large"); if (border > INT_MAX / 2 || border * 2 > INT_MAX - qr.getSize())
throw std::overflow_error("Border too large");
std::ostringstream sb;
sb << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; std::ostringstream sb;
sb << "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n"; sb << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
sb << "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 "; sb << "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n";
sb << (qr.getSize() + border * 2) << " " << (qr.getSize() + border * 2) << "\" stroke=\"none\">\n"; sb << "<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" viewBox=\"0 0 ";
sb << "\t<rect width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n"; sb << (qr.getSize() + border * 2) << " " << (qr.getSize() + border * 2) << "\" stroke=\"none\">\n";
sb << "\t<path d=\""; sb << "\t<rect width=\"100%\" height=\"100%\" fill=\"#FFFFFF\"/>\n";
for (int y = 0; y < qr.getSize(); y++) { sb << "\t<path d=\"";
for (int x = 0; x < qr.getSize(); x++) { for (int y = 0; y < qr.getSize(); y++) {
if (qr.getModule(x, y)) { for (int x = 0; x < qr.getSize(); x++) {
if (x != 0 || y != 0) if (qr.getModule(x, y)) {
sb << " "; if (x != 0 || y != 0)
sb << "M" << (x + border) << "," << (y + border) << "h1v1h-1z"; sb << " ";
} sb << "M" << (x + border) << "," << (y + border) << "h1v1h-1z";
} }
} }
sb << "\" fill=\"#000000\"/>\n"; }
sb << "</svg>\n"; sb << "\" fill=\"#000000\"/>\n";
return sb.str(); sb << "</svg>\n";
return sb.str();
} }
+2 -2
View File
@@ -4,6 +4,6 @@
#include <string> #include <string>
#include "qrcodegen.hpp" #include "qrcodegen.hpp"
std::string toSvgString(const qrcodegen::QrCode &qr, int border); std::string toSvgString(const qrcodegen::QrCode& qr, int border);
#endif // RTOSVG_HPP #endif // RTOSVG_HPP
+1 -1
View File
@@ -74,4 +74,4 @@
#define ON_ICYAN "\033[0;106m" // CYAN #define ON_ICYAN "\033[0;106m" // CYAN
#define ON_IWHITE "\033[0;107m" // WHITE #define ON_IWHITE "\033[0;107m" // WHITE
#endif // C_COLORS_H #endif // C_COLORS_H
+9567 -8854
View File
File diff suppressed because it is too large. Load diff
+12512 -12452
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -3,4 +3,4 @@
#define AUTH_SERVICE "http://localhost:43243" #define AUTH_SERVICE "http://localhost:43243"
#endif // ROUTES_HPP #endif // ROUTES_HPP
+1 -1
View File
@@ -5,7 +5,7 @@ namespace api
{ {
namespace security namespace security
{ {
void set_cors_headers(const httplib::Request &request, httplib::Response &response) void set_cors_headers(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << " " << std::endl; std::cout << GREEN << request.path << " " << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+1 -1
View File
@@ -10,7 +10,7 @@ namespace api
namespace security namespace security
{ {
// function to set cors headers // function to set cors headers
void set_cors_headers(const httplib::Request &request, httplib::Response &response); void set_cors_headers(const httplib::Request& request, httplib::Response& response);
} }
} }
+7 -7
View File
@@ -9,16 +9,16 @@ namespace api
{ {
namespace dns namespace dns
{ {
void get_dns(const httplib::Request &request, httplib::Response &response); void get_dns(const httplib::Request& request, httplib::Response& response);
void set_dns(const httplib::Request &request, httplib::Response &response); void set_dns(const httplib::Request& request, httplib::Response& response);
void get_dns_servers(const httplib::Request &request, httplib::Response &response); void get_dns_servers(const httplib::Request& request, httplib::Response& response);
void set_dns_servers(const httplib::Request &request, httplib::Response &response); void set_dns_servers(const httplib::Request& request, httplib::Response& response);
void get_local_domains(const httplib::Request &request, httplib::Response &response); void get_local_domains(const httplib::Request& request, httplib::Response& response);
void set_local_domains(const httplib::Request &request, httplib::Response &response); void set_local_domains(const httplib::Request& request, httplib::Response& response);
} }
} }
} }
#endif // DNS_HPP #endif // DNS_HPP
+2 -2
View File
@@ -15,7 +15,7 @@ namespace api
{ {
namespace dns namespace dns
{ {
void get_dns(const httplib::Request &request, httplib::Response &response) void get_dns(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -37,7 +37,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_dns(const httplib::Request &request, httplib::Response &response) void set_dns(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+2 -2
View File
@@ -13,7 +13,7 @@ namespace api
{ {
namespace dns namespace dns
{ {
void get_local_domains(const httplib::Request &request, httplib::Response &response) void get_local_domains(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -36,7 +36,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_local_domains(const httplib::Request &request, httplib::Response &response) void set_local_domains(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+3 -3
View File
@@ -13,7 +13,7 @@ namespace api
{ {
namespace dns namespace dns
{ {
void get_dns_servers(const httplib::Request &request, httplib::Response &response) void get_dns_servers(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -36,7 +36,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_dns_servers(const httplib::Request &request, httplib::Response &response) void set_dns_servers(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -54,7 +54,7 @@ namespace api
} }
std::ofstream dnsserversfile("/etc/dnsmasq.conf.d/resolv.conf"); std::ofstream dnsserversfile("/etc/dnsmasq.conf.d/resolv.conf");
nlohmann::json servers = json_body["servers"]; nlohmann::json servers = json_body["servers"];
for (const nlohmann::json_abi_v3_11_3::json &server : servers) for (const nlohmann::json_abi_v3_11_3::json& server : servers)
{ {
std::string srv = server; std::string srv = server;
if (server == "") if (server == "")
+2 -2
View File
@@ -15,7 +15,7 @@ namespace api
{ {
namespace ftp namespace ftp
{ {
void get_ftp(const httplib::Request &request, httplib::Response &response) void get_ftp(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -37,7 +37,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_ftp(const httplib::Request &request, httplib::Response &response) void set_ftp(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+3 -3
View File
@@ -9,10 +9,10 @@ namespace api
{ {
namespace ftp namespace ftp
{ {
void get_ftp(const httplib::Request &request, httplib::Response &response); void get_ftp(const httplib::Request& request, httplib::Response& response);
void set_ftp(const httplib::Request &request, httplib::Response &response); void set_ftp(const httplib::Request& request, httplib::Response& response);
} }
} }
} }
#endif // FTP_HPP #endif // FTP_HPP
+1 -1
View File
@@ -7,4 +7,4 @@
#include <settings/ftp/ftp.hpp> #include <settings/ftp/ftp.hpp>
#include <settings/dns/dns.hpp> #include <settings/dns/dns.hpp>
#endif // SETTINGS_HPP #endif // SETTINGS_HPP
+2 -2
View File
@@ -15,7 +15,7 @@ namespace api
{ {
namespace ssh namespace ssh
{ {
void get_ssh_keys(const httplib::Request &request, httplib::Response &response) void get_ssh_keys(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -38,7 +38,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_ssh_keys(const httplib::Request &request, httplib::Response &response) void set_ssh_keys(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+6 -4
View File
@@ -20,7 +20,7 @@ namespace api
{ {
namespace ssh namespace ssh
{ {
void get_ssh_port(const httplib::Request &request, httplib::Response &response) void get_ssh_port(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -42,7 +42,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_ssh_port(const httplib::Request &request, httplib::Response &response) void set_ssh_port(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -76,7 +76,8 @@ namespace api
if (get_ssh_server() == DROPBEAR_SSH) if (get_ssh_server() == DROPBEAR_SSH)
{ {
systemrequest << "sed -i \"s/DROPBEAR_PORT=" << old_ssh_port << "/DROPBEAR_PORT=" << new_ssh_port << "/g\" /etc/default/dropbear"; systemrequest << "sed -i \"s/DROPBEAR_PORT=" << old_ssh_port << "/DROPBEAR_PORT=" << new_ssh_port << "/g\" /etc/default/dropbear";
} else if (get_ssh_server() == OPENSSH_SSH) }
else if (get_ssh_server() == OPENSSH_SSH)
{ {
systemrequest << "sed -i \"/Port " << old_ssh_port << "/s//Port " << new_ssh_port << "/\" /etc/ssh/sshd_config"; systemrequest << "sed -i \"/Port " << old_ssh_port << "/s//Port " << new_ssh_port << "/\" /etc/ssh/sshd_config";
} }
@@ -85,7 +86,8 @@ namespace api
if (get_ssh_server() == OPENSSH_SSH) if (get_ssh_server() == OPENSSH_SSH)
{ {
system("rc restart ssh"); system("rc restart ssh");
} else if (get_ssh_server() == DROPBEAR_SSH) }
else if (get_ssh_server() == DROPBEAR_SSH)
{ {
system("rc restart dropbear"); system("rc restart dropbear");
} }
+8 -7
View File
@@ -9,7 +9,7 @@
#define SSH_SERVER_REQUIRED_STRING R"({"required":"[token,server]"})" #define SSH_SERVER_REQUIRED_STRING R"({"required":"[token,server]"})"
namespace api namespace api
{ {
namespace settings namespace settings
{ {
@@ -20,7 +20,7 @@ namespace api
return config::config.getConfig()["settings"]["ssh"]["server"]; return config::config.getConfig()["settings"]["ssh"]["server"];
} }
std::string set_ssh_server(std::string &server) std::string set_ssh_server(std::string& server)
{ {
config::config.setConfig(std::string("../config.json")); config::config.setConfig(std::string("../config.json"));
nlohmann::json new_config = config::config.getConfig(); nlohmann::json new_config = config::config.getConfig();
@@ -30,7 +30,7 @@ namespace api
return config::config.getConfig()["settings"]["ssh"]["server"]; return config::config.getConfig()["settings"]["ssh"]["server"];
} }
void get_ssh_server_http(const httplib::Request &request, httplib::Response &response) void get_ssh_server_http(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -50,7 +50,7 @@ namespace api
responsedata << R"({"server":")" << get_ssh_server() << R"("})"; responsedata << R"({"server":")" << get_ssh_server() << R"("})";
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_ssh_server_http(const httplib::Request &request, httplib::Response &response) void set_ssh_server_http(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -75,13 +75,14 @@ namespace api
std::stringstream responsedata; std::stringstream responsedata;
std::string server = json_body["server"]; std::string server = json_body["server"];
std::string new_server = set_ssh_server(server); std::string new_server = set_ssh_server(server);
if (new_server == DROPBEAR_SSH) if (new_server == DROPBEAR_SSH)
{ {
system("rc stop ssh"); system("rc stop ssh");
system("rc del ssh"); system("rc del ssh");
system("rc start dropbear"); system("rc start dropbear");
system("rc add dropbear"); system("rc add dropbear");
} else if (new_server == OPENSSH_SSH) { }
else if (new_server == OPENSSH_SSH) {
system("rc stop dropbear"); system("rc stop dropbear");
system("rc del dropbear"); system("rc del dropbear");
system("rc start ssh"); system("rc start ssh");
@@ -92,4 +93,4 @@ namespace api
} }
} }
} }
} }
+9 -9
View File
@@ -13,19 +13,19 @@ namespace api
namespace ssh namespace ssh
{ {
std::string get_ssh_server(); std::string get_ssh_server();
std::string set_ssh_server(std::string &server); std::string set_ssh_server(std::string& server);
void get_ssh_server_http(const httplib::Request &request, httplib::Response &response); void get_ssh_server_http(const httplib::Request& request, httplib::Response& response);
void set_ssh_server_http(const httplib::Request &request, httplib::Response &response); void set_ssh_server_http(const httplib::Request& request, httplib::Response& response);
void get_ssh_status(const httplib::Request &request, httplib::Response &response); void get_ssh_status(const httplib::Request& request, httplib::Response& response);
void set_ssh_status(const httplib::Request &request, httplib::Response &response); void set_ssh_status(const httplib::Request& request, httplib::Response& response);
void get_ssh_keys(const httplib::Request &request, httplib::Response &response); void get_ssh_keys(const httplib::Request& request, httplib::Response& response);
void set_ssh_keys(const httplib::Request &request, httplib::Response &response); void set_ssh_keys(const httplib::Request& request, httplib::Response& response);
void get_ssh_port(const httplib::Request &request, httplib::Response &response); void get_ssh_port(const httplib::Request& request, httplib::Response& response);
void set_ssh_port(const httplib::Request &request, httplib::Response &response); void set_ssh_port(const httplib::Request& request, httplib::Response& response);
} }
} }
} }
+8 -6
View File
@@ -15,7 +15,7 @@ namespace api
{ {
namespace ssh namespace ssh
{ {
void get_ssh_status(const httplib::Request &request, httplib::Response &response) void get_ssh_status(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -37,7 +37,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_ssh_status(const httplib::Request &request, httplib::Response &response) void set_ssh_status(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -62,11 +62,12 @@ namespace api
bool new_ssh_status = json_body["status"]; bool new_ssh_status = json_body["status"];
if (!new_ssh_status) if (!new_ssh_status)
{ {
if (get_ssh_server() == DROPBEAR_SSH) if (get_ssh_server() == DROPBEAR_SSH)
{ {
system("rc stop dropbear"); system("rc stop dropbear");
system("rc del dropbear"); system("rc del dropbear");
} else if (get_ssh_server() == OPENSSH_SSH) { }
else if (get_ssh_server() == OPENSSH_SSH) {
system("rc stop ssh"); system("rc stop ssh");
system("rc del ssh"); system("rc del ssh");
} }
@@ -74,11 +75,12 @@ namespace api
} }
else else
{ {
if (get_ssh_server() == DROPBEAR_SSH) if (get_ssh_server() == DROPBEAR_SSH)
{ {
system("rc start dropbear"); system("rc start dropbear");
system("rc add dropbear"); system("rc add dropbear");
} else if (get_ssh_server() == OPENSSH_SSH) { }
else if (get_ssh_server() == OPENSSH_SSH) {
system("rc start ssh"); system("rc start ssh");
system("rc add ssh"); system("rc add ssh");
} }
+2 -2
View File
@@ -19,7 +19,7 @@ namespace api
{ {
namespace telnet namespace telnet
{ {
void get_telnet(const httplib::Request &request, httplib::Response &response) void get_telnet(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -41,7 +41,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_telnet(const httplib::Request &request, httplib::Response &response) void set_telnet(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+2 -2
View File
@@ -19,7 +19,7 @@ namespace api
{ {
namespace telnet namespace telnet
{ {
void get_telnet_port(const httplib::Request &request, httplib::Response &response) void get_telnet_port(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -41,7 +41,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_telnet_port(const httplib::Request &request, httplib::Response &response) void set_telnet_port(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+4 -4
View File
@@ -9,11 +9,11 @@ namespace api
{ {
namespace telnet namespace telnet
{ {
void get_telnet(const httplib::Request &request, httplib::Response &response); void get_telnet(const httplib::Request& request, httplib::Response& response);
void set_telnet(const httplib::Request &request, httplib::Response &response); void set_telnet(const httplib::Request& request, httplib::Response& response);
void get_telnet_port(const httplib::Request &request, httplib::Response &response); void get_telnet_port(const httplib::Request& request, httplib::Response& response);
void set_telnet_port(const httplib::Request &request, httplib::Response &response); void set_telnet_port(const httplib::Request& request, httplib::Response& response);
} }
} }
} }
+2 -2
View File
@@ -19,7 +19,7 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_channel(const httplib::Request &request, httplib::Response &response) void get_wifi_channel(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -41,7 +41,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_wifi_channel(const httplib::Request &request, httplib::Response &response) void set_wifi_channel(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+3 -3
View File
@@ -19,7 +19,7 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_name(const httplib::Request &request, httplib::Response &response) void get_wifi_name(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -41,7 +41,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_wifi_name(const httplib::Request &request, httplib::Response &response) void set_wifi_name(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -110,4 +110,4 @@ namespace api
} }
} }
} }
} }
+2 -2
View File
@@ -19,7 +19,7 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_password(const httplib::Request &request, httplib::Response &response) void get_wifi_password(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -41,7 +41,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_wifi_password(const httplib::Request &request, httplib::Response &response) void set_wifi_password(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+1 -1
View File
@@ -14,7 +14,7 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_qr(const httplib::Request &request, httplib::Response &response) void get_wifi_qr(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+2 -2
View File
@@ -15,7 +15,7 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_status(const httplib::Request &request, httplib::Response &response) void get_wifi_status(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
@@ -37,7 +37,7 @@ namespace api
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
} }
void set_wifi_status(const httplib::Request &request, httplib::Response &response) void set_wifi_status(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+10 -10
View File
@@ -11,21 +11,21 @@ namespace api
{ {
namespace wifi namespace wifi
{ {
void get_wifi_status(const httplib::Request &request, httplib::Response &response); void get_wifi_status(const httplib::Request& request, httplib::Response& response);
void set_wifi_status(const httplib::Request &request, httplib::Response &response); void set_wifi_status(const httplib::Request& request, httplib::Response& response);
void get_wifi_name(const httplib::Request &request, httplib::Response &response); void get_wifi_name(const httplib::Request& request, httplib::Response& response);
void set_wifi_name(const httplib::Request &request, httplib::Response &response); void set_wifi_name(const httplib::Request& request, httplib::Response& response);
void get_wifi_password(const httplib::Request &request, httplib::Response &response); void get_wifi_password(const httplib::Request& request, httplib::Response& response);
void set_wifi_password(const httplib::Request &request, httplib::Response &response); void set_wifi_password(const httplib::Request& request, httplib::Response& response);
void get_wifi_qr(const httplib::Request &request, httplib::Response &response); void get_wifi_qr(const httplib::Request& request, httplib::Response& response);
void get_wifi_channel(const httplib::Request &request, httplib::Response &response); void get_wifi_channel(const httplib::Request& request, httplib::Response& response);
void set_wifi_channel(const httplib::Request &request, httplib::Response &response); void set_wifi_channel(const httplib::Request& request, httplib::Response& response);
} }
} }
} }
#endif // WIFI_HPP #endif // WIFI_HPP
+1 -1
View File
@@ -8,7 +8,7 @@ namespace api
{ {
namespace system namespace system
{ {
void reboot(const httplib::Request &request, httplib::Response &response) void reboot(const httplib::Request& request, httplib::Response& response)
{ {
std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; std::cout << GREEN << request.path << RESET << " " << request.method << std::endl;
response.set_header("Access-Control-Allow-Origin", "*"); response.set_header("Access-Control-Allow-Origin", "*");
+1 -1
View File
@@ -7,7 +7,7 @@ namespace api
{ {
namespace system namespace system
{ {
void reboot(const httplib::Request &request, httplib::Response &response); void reboot(const httplib::Request& request, httplib::Response& response);
} }
} }
+1 -1
View File
@@ -11,7 +11,7 @@ namespace api
{ {
namespace system namespace system
{ {
void get_syslog(const httplib::Request &request, httplib::Response &response) void get_syslog(const httplib::Request& request, httplib::Response& response)
{ {
std::stringstream responsedata; std::stringstream responsedata;
std::ifstream syslogfile(SYSLOG_FILE); std::ifstream syslogfile(SYSLOG_FILE);
+2 -2
View File
@@ -7,8 +7,8 @@ namespace api
{ {
namespace system namespace system
{ {
void get_syslog(const httplib::Request &request, httplib::Response &response); void get_syslog(const httplib::Request& request, httplib::Response& response);
} }
} }
#endif // SYSLOG_HPP #endif // SYSLOG_HPP
+1 -1
View File
@@ -7,4 +7,4 @@
#include <system/syslog/syslog.hpp> #include <system/syslog/syslog.hpp>
#include <system/reboot/reboot.hpp> #include <system/reboot/reboot.hpp>
#endif // SYSTEM_HPP #endif // SYSTEM_HPP
+7 -7
View File
@@ -9,7 +9,7 @@ namespace api
{ {
namespace system namespace system
{ {
void get_uptime(const httplib::Request &request, httplib::Response &response) void get_uptime(const httplib::Request& request, httplib::Response& response)
{ {
#ifdef __linux__ #ifdef __linux__
struct sysinfo x; struct sysinfo x;
@@ -21,12 +21,12 @@ namespace api
// << std::endl; // << std::endl;
std::stringstream responsedata; std::stringstream responsedata;
responsedata << R"({"uptime":{"hour":")" responsedata << R"({"uptime":{"hour":")"
<< static_cast<unsigned long long>(x.uptime) / 3600ULL << static_cast<unsigned long long>(x.uptime) / 3600ULL
<< R"(","minute":")" << R"(","minute":")"
<< static_cast<unsigned long long>(x.uptime) / 60ULL % 60ULL << static_cast<unsigned long long>(x.uptime) / 60ULL % 60ULL
<< R"(","second":")" << R"(","second":")"
<< static_cast<unsigned long long>(x.uptime) % 60ULL << static_cast<unsigned long long>(x.uptime) % 60ULL
<< R"("}})"; << R"("}})";
response.set_content(responsedata.str(), JSON_TYPE); response.set_content(responsedata.str(), JSON_TYPE);
return; return;
} }
+2 -2
View File
@@ -7,8 +7,8 @@ namespace api
{ {
namespace system namespace system
{ {
void get_uptime(const httplib::Request &request, httplib::Response &response); void get_uptime(const httplib::Request& request, httplib::Response& response);
} }
} }
#endif // UPTIME_HPP #endif // UPTIME_HPP
+1 -1
View File
@@ -9,4 +9,4 @@
#define PLAIN_TEXT_TYPE "text/plain" #define PLAIN_TEXT_TYPE "text/plain"
#define SVG_TYPE "image/svg+xml" #define SVG_TYPE "image/svg+xml"
#endif // TYPES_H #endif // TYPES_H