mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-02 21:52:32 -06:00
committed by
GitHub
parent
28b5d7230c
commit
0f40fad74d
@@ -98,12 +98,14 @@
|
||||
#include "gui/mainwindow.h"
|
||||
#include "gui/shutdownconfirmdialog.h"
|
||||
#include "gui/uithememanager.h"
|
||||
#include "gui/utils.h"
|
||||
#include "gui/windowstate.h"
|
||||
#endif // DISABLE_GUI
|
||||
|
||||
#ifndef DISABLE_WEBUI
|
||||
#include "webui/webui.h"
|
||||
#ifdef DISABLE_GUI
|
||||
#include "base/utils/password.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
namespace
|
||||
@@ -305,8 +307,8 @@ Application::Application(int &argc, char **argv)
|
||||
if (isFileLoggerEnabled())
|
||||
m_fileLogger = new FileLogger(fileLoggerPath(), isFileLoggerBackup(), fileLoggerMaxSize(), isFileLoggerDeleteOld(), fileLoggerAge(), static_cast<FileLogger::FileLogAgeType>(fileLoggerAgeType()));
|
||||
|
||||
if (m_commandLineArgs.webUiPort > 0) // it will be -1 when user did not set any value
|
||||
Preferences::instance()->setWebUiPort(m_commandLineArgs.webUiPort);
|
||||
if (m_commandLineArgs.webUIPort > 0) // it will be -1 when user did not set any value
|
||||
Preferences::instance()->setWebUIPort(m_commandLineArgs.webUIPort);
|
||||
|
||||
if (m_commandLineArgs.torrentingPort > 0) // it will be -1 when user did not set any value
|
||||
{
|
||||
@@ -885,9 +887,18 @@ int Application::exec()
|
||||
#endif // DISABLE_GUI
|
||||
|
||||
#ifndef DISABLE_WEBUI
|
||||
#ifndef DISABLE_GUI
|
||||
m_webui = new WebUI(this);
|
||||
#ifdef DISABLE_GUI
|
||||
connect(m_webui, &WebUI::error, this, [](const QString &message) { fprintf(stderr, "%s\n", qUtf8Printable(message)); });
|
||||
#else
|
||||
const auto *pref = Preferences::instance();
|
||||
|
||||
const QString tempPassword = pref->getWebUIPassword().isEmpty()
|
||||
? Utils::Password::generate() : QString();
|
||||
m_webui = new WebUI(this, (!tempPassword.isEmpty() ? Utils::Password::PBKDF2::generate(tempPassword) : QByteArray()));
|
||||
connect(m_webui, &WebUI::error, this, [](const QString &message)
|
||||
{
|
||||
fprintf(stderr, "WebUI configuration failed. Reason: %s\n", qUtf8Printable(message));
|
||||
});
|
||||
|
||||
printf("%s", qUtf8Printable(u"\n******** %1 ********\n"_s.arg(tr("Information"))));
|
||||
|
||||
@@ -905,12 +916,11 @@ int Application::exec()
|
||||
, QString::number(m_webui->port()));
|
||||
printf("%s\n", qUtf8Printable(tr("To control qBittorrent, access the WebUI at: %1").arg(url)));
|
||||
|
||||
const Preferences *pref = Preferences::instance();
|
||||
if (pref->getWebUIPassword() == QByteArrayLiteral("ARQ77eY1NUZaQsuDHbIMCA==:0WMRkYTUWVT9wVvdDtHAjU9b3b7uB8NR1Gur2hmQCvCDpm39Q+PsJRJPaCU51dEiz+dTzh8qbPsL8WkFljQYFQ=="))
|
||||
if (!tempPassword.isEmpty())
|
||||
{
|
||||
const QString warning = tr("The Web UI administrator username is: %1").arg(pref->getWebUiUsername()) + u'\n'
|
||||
+ tr("The Web UI administrator password has not been changed from the default: %1").arg(u"adminadmin"_s) + u'\n'
|
||||
+ tr("This is a security risk, please change your password in program preferences.") + u'\n';
|
||||
const QString warning = tr("The WebUI administrator username is: %1").arg(pref->getWebUIUsername()) + u'\n'
|
||||
+ tr("The WebUI administrator password was not set. A temporary password is provided for this session: %1").arg(tempPassword) + u'\n'
|
||||
+ tr("You should set your own password in program preferences.") + u'\n';
|
||||
printf("%s", qUtf8Printable(warning));
|
||||
}
|
||||
}
|
||||
@@ -1357,3 +1367,10 @@ AddTorrentManagerImpl *Application::addTorrentManager() const
|
||||
{
|
||||
return m_addTorrentManager;
|
||||
}
|
||||
|
||||
#ifndef DISABLE_WEBUI
|
||||
WebUI *Application::webUI() const
|
||||
{
|
||||
return m_webui;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -153,6 +153,9 @@ private slots:
|
||||
|
||||
private:
|
||||
AddTorrentManagerImpl *addTorrentManager() const override;
|
||||
#ifndef DISABLE_WEBUI
|
||||
WebUI *webUI() const override;
|
||||
#endif
|
||||
|
||||
void initializeTranslation();
|
||||
void processParams(const QBtCommandLineParameters ¶ms);
|
||||
|
||||
@@ -329,7 +329,7 @@ QBtCommandLineParameters::QBtCommandLineParameters(const QProcessEnvironment &en
|
||||
#elif !defined(Q_OS_WIN)
|
||||
, shouldDaemonize(DAEMON_OPTION.value(env))
|
||||
#endif
|
||||
, webUiPort(WEBUI_PORT_OPTION.value(env, -1))
|
||||
, webUIPort(WEBUI_PORT_OPTION.value(env, -1))
|
||||
, torrentingPort(TORRENTING_PORT_OPTION.value(env, -1))
|
||||
, skipDialog(SKIP_DIALOG_OPTION.value(env))
|
||||
, profileDir(PROFILE_OPTION.value(env))
|
||||
@@ -367,8 +367,8 @@ QBtCommandLineParameters parseCommandLine(const QStringList &args)
|
||||
#endif
|
||||
else if (arg == WEBUI_PORT_OPTION)
|
||||
{
|
||||
result.webUiPort = WEBUI_PORT_OPTION.value(arg);
|
||||
if ((result.webUiPort < 1) || (result.webUiPort > 65535))
|
||||
result.webUIPort = WEBUI_PORT_OPTION.value(arg);
|
||||
if ((result.webUIPort < 1) || (result.webUIPort > 65535))
|
||||
throw CommandLineParameterError(QCoreApplication::translate("CMD Options", "%1 must specify a valid port (1 to 65535).")
|
||||
.arg(u"--webui-port"_s));
|
||||
}
|
||||
@@ -489,7 +489,7 @@ QString makeUsage(const QString &prgName)
|
||||
#endif
|
||||
+ SHOW_HELP_OPTION.usage() + wrapText(QCoreApplication::translate("CMD Options", "Display this help message and exit")) + u'\n'
|
||||
+ WEBUI_PORT_OPTION.usage(QCoreApplication::translate("CMD Options", "port"))
|
||||
+ wrapText(QCoreApplication::translate("CMD Options", "Change the Web UI port"))
|
||||
+ wrapText(QCoreApplication::translate("CMD Options", "Change the WebUI port"))
|
||||
+ u'\n'
|
||||
+ TORRENTING_PORT_OPTION.usage(QCoreApplication::translate("CMD Options", "port"))
|
||||
+ wrapText(QCoreApplication::translate("CMD Options", "Change the torrenting port"))
|
||||
|
||||
@@ -53,7 +53,7 @@ struct QBtCommandLineParameters
|
||||
#elif !defined(Q_OS_WIN)
|
||||
bool shouldDaemonize = false;
|
||||
#endif
|
||||
int webUiPort = -1;
|
||||
int webUIPort = -1;
|
||||
int torrentingPort = -1;
|
||||
std::optional<bool> skipDialog;
|
||||
Path profileDir;
|
||||
|
||||
Reference in New Issue
Block a user