diff --git a/src/openrouter.cpp b/src/openrouter.cpp index ace1a18..d8b6ad5 100644 --- a/src/openrouter.cpp +++ b/src/openrouter.cpp @@ -7,6 +7,7 @@ #include "settings/ftp/ftp.hpp" #include "reboot/reboot.hpp" #include "syslog/syslog.hpp" +#include #define CORS_ENABLE #include "security/cors.hpp" @@ -38,7 +39,7 @@ int main() { srv.Post("/api/reboot", reboot); - srv.Get("/api/syslog", syslog); + srv.Get("/api/syslog", get_syslog); srv.Options("/(.*)", set_cors_headers); @@ -49,6 +50,7 @@ int main() { 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."); srv.listen("0.0.0.0", 80); return 0; } diff --git a/src/settings/dns/enabled.cpp b/src/settings/dns/enabled.cpp index 694cf91..cff5975 100644 --- a/src/settings/dns/enabled.cpp +++ b/src/settings/dns/enabled.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include #define DNS_REQUIRED_STRING R"({"required":"[token,enabled]"})" @@ -78,9 +79,11 @@ void set_dns(const httplib::Request &request, httplib::Response &response) { if (new_dns_enabled == "0") { system("/etc/init.d/dnsmasq stop"); system("rm /etc/rc.d/60dnsmasq"); + syslog(LOG_INFO, "DNS is disabled"); } else { system("/etc/init.d/dnsmasq restart"); system("ln -sv /etc/init.d/dnsmasq /etc/rc.d/60dnsmasq"); + syslog(LOG_INFO, "DNS is enabled"); } dnsfileout << stoi(new_dns_enabled); dnsfileout.close(); diff --git a/src/settings/dns/local_domains.cpp b/src/settings/dns/local_domains.cpp index 1c789c4..8c71681 100644 --- a/src/settings/dns/local_domains.cpp +++ b/src/settings/dns/local_domains.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include void get_local_domains(const httplib::Request &request, httplib::Response &response) { std::cout << GREEN << request.path << RESET << " " << request.method << std::endl; @@ -92,6 +93,7 @@ void set_local_domains(const httplib::Request &request, httplib::Response &respo } domainsfile.close(); system("/etc/init.d/dnsmasq restart"); + syslog(LOG_INFO, "DNS local domains changed"); std::string responsedata = R"({"success":"true"})"; response.set_content(responsedata, JSON_TYPE); } diff --git a/src/settings/dns/servers.cpp b/src/settings/dns/servers.cpp index cca2d85..0f1dbc7 100644 --- a/src/settings/dns/servers.cpp +++ b/src/settings/dns/servers.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include // #define DNS_REQUIRED_STRING R"({"required":"[token,enabled]"})" @@ -90,6 +91,7 @@ void set_dns_servers(const httplib::Request &request, httplib::Response &respons } dnsserversfile.close(); system("/etc/init.d/dnsmasq restart"); + syslog(LOG_INFO, "DNS servers changed"); std::string responsedata = R"({"success":"true"})"; response.set_content(responsedata, JSON_TYPE); } diff --git a/src/settings/ftp/ftp.cpp b/src/settings/ftp/ftp.cpp index 69f32c4..589b51b 100644 --- a/src/settings/ftp/ftp.cpp +++ b/src/settings/ftp/ftp.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include #define FTP_REQUIRED_STRING R"({"required":"[token,enabled]"})" @@ -78,9 +79,11 @@ void set_ftp(const httplib::Request &request, httplib::Response &response) { if (new_ftp_enabled == "0") { system("/etc/init.d/ftp stop"); system("rm /etc/rc.d/90ftp"); + syslog(LOG_INFO, "Ftp is disabled"); } else { system("/etc/init.d/ftp start"); system("ln -sv /etc/init.d/ftp /etc/rc.d/90ftp"); + syslog(LOG_INFO, "Ftp is enabled"); } ftpfileout << stoi(new_ftp_enabled); ftpfileout.close(); diff --git a/src/settings/ssh/keys.cpp b/src/settings/ssh/keys.cpp index 1e4f7e6..2335ef5 100644 --- a/src/settings/ssh/keys.cpp +++ b/src/settings/ssh/keys.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include #define KEYS_PATH "/root/.ssh/authorized_keys" @@ -87,6 +88,7 @@ void set_ssh_keys(const httplib::Request &request, httplib::Response &response) } keysfile.close(); system("/etc/init.d/ssh restart"); + syslog(LOG_INFO, "SSH keys changed"); std::string responsedata = R"({"success":"true"})"; response.set_content(responsedata, JSON_TYPE); } diff --git a/src/settings/ssh/port.cpp b/src/settings/ssh/port.cpp index 0e89975..8ebe46b 100644 --- a/src/settings/ssh/port.cpp +++ b/src/settings/ssh/port.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #define SSH_PORT_REQUIRED_STRING R"({"required":"[token,port]"})" #define SSH_PORT_PATH "/etc/openrouter/ssh/port" @@ -90,6 +91,8 @@ void set_ssh_port(const httplib::Request &request, httplib::Response &response) std::cout << systemrequest.str() << std::endl; system(systemrequest.str().c_str()); system("/etc/init.d/ssh restart"); + std::string syslogstring = "SSH port changed to " + new_ssh_port; + syslog(LOG_INFO, syslogstring.c_str()); std::ifstream sshportfile(SSH_PORT_PATH); int ssh_port; sshportfile >> ssh_port; diff --git a/src/settings/ssh/status.cpp b/src/settings/ssh/status.cpp index 27e12ed..b85612c 100644 --- a/src/settings/ssh/status.cpp +++ b/src/settings/ssh/status.cpp @@ -3,6 +3,7 @@ #include #include "../../routes.hpp" #include "../../types.hpp" +#include #define SSH_REQUIRED_STRING R"({"required":"[token,status]"})" @@ -77,9 +78,11 @@ void set_ssh_status(const httplib::Request &request, httplib::Response &response if (new_ssh_status == "0") { system("/etc/init.d/ssh stop"); system("rm /etc/rc.d/75ssh"); + syslog(LOG_INFO, "SSH is disabled"); } else { system("/etc/init.d/ssh start"); system("ln -sv /etc/init.d/ssh /etc/rc.d/75ssh"); + syslog(LOG_INFO, "SSH is enabled"); } sshfileout << stoi(new_ssh_status); sshfileout.close(); diff --git a/src/settings/telnet/enabled.cpp b/src/settings/telnet/enabled.cpp index 55858de..2eede11 100644 --- a/src/settings/telnet/enabled.cpp +++ b/src/settings/telnet/enabled.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #define TELNET_REQUIRED_STRING R"({"required":"[token,enabled]"})" @@ -82,9 +83,11 @@ void set_telnet(const httplib::Request &request, httplib::Response &response) { if (new_telnet_enabled == "0") { system("/etc/init.d/telnet stop"); system("rm /etc/rc.d/70telnet"); + syslog(LOG_INFO, "Telnet is disabled"); } else { system("/etc/init.d/telnet start"); system("ln -sv /etc/init.d/telnet /etc/rc.d/70telnet"); + syslog(LOG_INFO, "Telnet is enabled"); } telnetfileout << stoi(new_telnet_enabled); telnetfileout.close(); diff --git a/src/settings/telnet/port.cpp b/src/settings/telnet/port.cpp index f8cdd6a..86411d1 100644 --- a/src/settings/telnet/port.cpp +++ b/src/settings/telnet/port.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #define TELNET_PORT_REQUIRED_STRING R"({"required":"[token,port]"})" @@ -82,6 +83,8 @@ void set_telnet_port(const httplib::Request &request, httplib::Response &respons telnetportfileout << stoi(new_telnet_port); telnetportfileout.close(); system("/etc/init.d/telnet restart"); + std::string syslogstring = "Telnet port changed to " + new_telnet_port; + syslog(LOG_INFO, syslogstring.c_str()); std::ifstream telnetportfile("/etc/openrouter/telnet/port"); int telnet_port; telnetportfile >> telnet_port; diff --git a/src/syslog/syslog.cpp b/src/syslog/syslog.cpp index 1807fa3..1fad8a7 100644 --- a/src/syslog/syslog.cpp +++ b/src/syslog/syslog.cpp @@ -10,7 +10,7 @@ #define SYSLOG_FILE "/var/log/messages" -void syslog(const httplib::Request &request, httplib::Response &response) { +void get_syslog(const httplib::Request &request, httplib::Response &response) { std::stringstream responsedata; std::ifstream syslogfile(SYSLOG_FILE); responsedata << syslogfile.rdbuf(); diff --git a/src/syslog/syslog.hpp b/src/syslog/syslog.hpp index 1c9f18b..fd676c0 100644 --- a/src/syslog/syslog.hpp +++ b/src/syslog/syslog.hpp @@ -3,6 +3,6 @@ #include -void syslog(const httplib::Request &request, httplib::Response &response); +void get_syslog(const httplib::Request &request, httplib::Response &response); #endif //SYSLOG_HPP \ No newline at end of file diff --git a/src/web/index.html b/src/web/index.html index f15ee64..b789e13 100644 --- a/src/web/index.html +++ b/src/web/index.html @@ -150,6 +150,7 @@

Syslog

+
diff --git a/src/web/js/syslog.js b/src/web/js/syslog.js index 7c9d16f..b31f91d 100644 --- a/src/web/js/syslog.js +++ b/src/web/js/syslog.js @@ -1,5 +1,8 @@ const syslogdata = document.querySelector('.syslogdata') const refreshbutton = document.querySelector('#refreshbutton') +const openrouterfilter = document.querySelector('#openrouterfilter') + +let openrouterfilterenable = false const get_syslog_data = () => { console.log("get_syslog_data") @@ -7,10 +10,31 @@ const get_syslog_data = () => { method: 'GET', // body: `{"token":"${localStorage.getItem("token")}"}` }).then(data => data.text()).then(textdata => { + if (openrouterfilterenable) { + let syslogalldata = textdata.replace(/\n/g,'
') + syslogalldata = syslogalldata.split("
") + syslogalldata = syslogalldata.filter(data => { + return data.includes("openrouter:") + }) + console.log(syslogalldata) + syslogdata.innerHTML = "" + for (const data in syslogalldata) { + syslogdata.innerHTML += syslogalldata[data] + "
" + } + return + } syslogdata.innerHTML = textdata.replace(/\n/g,'
') }).catch((error) => { notification(`Ошибка на сервере: ${error}`, "error") }) } -refreshbutton.addEventListener('click', get_syslog_data) +refreshbutton.addEventListener('click', () => { + openrouterfilterenable = false + get_syslog_data() +}) + +openrouterfilter.addEventListener('click', () => { + openrouterfilterenable = true + get_syslog_data() +})