diff --git a/src/main.cc b/src/main.cc index 2d0597880d35474718621e90b83bc8de0a2e8297..8bd772545e84a369d6f1a34a040e422f33dfaa0a 100644 --- a/src/main.cc +++ b/src/main.cc @@ -19,11 +19,38 @@ #include <QDesktopWidget> #include <QFontDatabase> #include <QLibraryInfo> +#include <QNetworkProxy> #include <QSettings> #include <QTranslator> #include "MainWindow.h" +void +setupProxy() +{ + QSettings settings; + + /** + To set up a SOCKS proxy: + [user] + proxy\socks\host=<> + proxy\socks\port=<> + proxy\socks\user=<> + proxy\socks\password=<> + **/ + if (settings.contains("user/proxy/socks/host")) { + QNetworkProxy proxy; + proxy.setType(QNetworkProxy::Socks5Proxy); + proxy.setHostName(settings.value("user/proxy/socks/host").toString()); + proxy.setPort(settings.value("user/proxy/socks/port").toInt()); + if (settings.contains("user/proxy/socks/user")) + proxy.setUser(settings.value("user/proxy/socks/user").toString()); + if (settings.contains("user/proxy/socks/password")) + proxy.setPassword(settings.value("user/proxy/socks/password").toString()); + QNetworkProxy::setApplicationProxy(proxy); + } +} + int main(int argc, char *argv[]) { @@ -62,6 +89,8 @@ main(int argc, char *argv[]) appTranslator.load("nheko_" + lang, ":/translations"); app.installTranslator(&appTranslator); + setupProxy(); + MainWindow w; // Move the MainWindow to the center