MCPcopy Create free account
hub / github.com/PurpleI2P/i2pd / ShowCommands

Function ShowCommands

daemon/HTTPServer.cpp:820–889  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

818 }
819
820 static void ShowCommands (std::stringstream& s, uint32_t token)
821 {
822 std::string webroot; i2p::config::GetOption("http.webroot", webroot);
823
824 s << "<b>" << tr("Router commands") << "</b><br>\r\n<br>\r\n<div class=\"commands\">\r\n";
825 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_RUN_PEER_TEST << "&token=" << token << "\">" << tr("Run peer test") << "</a><br>\r\n";
826 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_RELOAD_TUNNELS_CONFIG << "&token=" << token << "\">" << tr("Reload tunnels configuration") << "</a><br>\r\n";
827
828 if (i2p::context.AcceptsTunnels ())
829 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_DISABLE_TRANSIT << "&token=" << token << "\">" << tr("Decline transit tunnels") << "</a><br>\r\n";
830 else
831 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_ENABLE_TRANSIT << "&token=" << token << "\">" << tr("Accept transit tunnels") << "</a><br>\r\n";
832
833#if ((!defined(WIN32) && !defined(QT_GUI_LIB) && !defined(ANDROID)) || defined(ANDROID_BINARY))
834 if (Daemon.gracefulShutdownInterval)
835 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_CANCEL << "&token=" << token << "\">" << tr("Cancel graceful shutdown") << "</a><br>\r\n";
836 else
837 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_START << "&token=" << token << "\">" << tr("Start graceful shutdown") << "</a><br>\r\n";
838#elif defined(WIN32_APP)
839 if (i2p::util::DaemonWin32::Instance().isGraceful)
840 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_CANCEL << "&token=" << token << "\">" << tr("Cancel graceful shutdown") << "</a><br>\r\n";
841 else
842 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_START << "&token=" << token << "\">" << tr("Start graceful shutdown") << "</a><br>\r\n";
843#endif
844
845 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_SHUTDOWN_NOW << "&token=" << token << "\">" << tr("Force shutdown") << "</a><br><br>\r\n";
846 s << " <a href=\"" << webroot << "?cmd=" << HTTP_COMMAND_RELOAD_CSS << "&token=" << token << "\">" << tr("Reload external CSS styles") << "</a>\r\n";
847 s << "</div>";
848
849 s << "<br>\r\n<small>" << tr("<b>Note:</b> any action done here are not persistent and not changes your config files.") << "</small>\r\n<br>\r\n";
850
851 auto loglevel = i2p::log::Logger().GetLogLevel();
852 s << "<b>" << tr("Logging level") << "</b><br>\r\n";
853 s << " <a class=\"button" << (loglevel == eLogNone ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=none&token=" << token << "\"> none </a> \r\n";
854 s << " <a class=\"button" << (loglevel == eLogCritical ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=critical&token=" << token << "\"> critical </a> \r\n";
855 s << " <a class=\"button" << (loglevel == eLogError ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=error&token=" << token << "\"> error </a> \r\n";
856 s << " <a class=\"button" << (loglevel == eLogWarning ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=warn&token=" << token << "\"> warn </a> \r\n";
857 s << " <a class=\"button" << (loglevel == eLogInfo ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=info&token=" << token << "\"> info </a> \r\n";
858 s << " <a class=\"button" << (loglevel == eLogDebug ? " selected" : "") << "\" href=\"" << webroot << "?cmd=" << HTTP_COMMAND_LOGLEVEL << "&level=debug&token=" << token << "\"> debug </a><br>\r\n<br>\r\n";
859
860 uint32_t maxTunnels = i2p::tunnel::tunnels.GetMaxNumTransitTunnels ();
861 s << "<b>" << tr("Transit tunnels limit") << "</b><br>\r\n";
862 s << "<form method=\"get\" action=\"" << webroot << "\">\r\n";
863 s << " <input type=\"hidden\" name=\"cmd\" value=\"" << HTTP_COMMAND_LIMITTRANSIT << "\">\r\n";
864 s << " <input type=\"hidden\" name=\"token\" value=\"" << token << "\">\r\n";
865 s << " <input type=\"number\" min=\"2\" max=\"" << TRANSIT_TUNNELS_LIMIT <<"\" name=\"limit\" value=\"" << maxTunnels << "\">\r\n";
866 s << " <button type=\"submit\">" << tr("Change") << "</button>\r\n";
867 s << "</form>\r\n<br>\r\n";
868
869 // get current used language
870 std::string currLang = i2p::client::context.GetLanguage ()->GetLanguage();
871
872 s << "<b>"
873 << tr("Change language")
874 << "</b><br>\r\n"
875 << "<form method=\"get\" action=\"" << webroot << "\">\r\n"
876 << " <input type=\"hidden\" name=\"cmd\" value=\"" << HTTP_COMMAND_SETLANGUAGE << "\">\r\n"
877 << " <input type=\"hidden\" name=\"token\" value=\"" << token << "\">\r\n"

Callers 1

HandlePageMethod · 0.85

Calls 6

GetOptionFunction · 0.85
trFunction · 0.85
AcceptsTunnelsMethod · 0.80
GetLogLevelMethod · 0.80
GetLanguageMethod · 0.45

Tested by

no test coverage detected