diff options
author | Jani Mustonen <janijohannes@kapsi.fi> | 2017-11-04 13:28:50 +0200 |
---|---|---|
committer | mujx <mujx@users.noreply.github.com> | 2017-11-04 13:28:50 +0200 |
commit | 8c5a331c73d175b3106967ace19d6baa9464b097 (patch) | |
tree | 92c9cce67a1fb337de459001afd1c182a7ec4123 | |
parent | 7e03ca43595d1e9f8fa1743d4072d719a2cdfffa (diff) |
Simple SOCKS proxy support (#110)
-rw-r--r-- | src/main.cc | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main.cc b/src/main.cc index 2d059788..8bd77254 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 |