Compare commits

...

3 Commits

@ -1614,7 +1614,12 @@ Item {
anchors.right: parent.right
width: settingsStack.comboBoxWidth; indicatorWidth: settingsStack.comboBoxButtonWidth
model: ["None", "Tor", "i2p"]
currentIndex: model.indexOf("None")//model.indexOf(Script.getJsonRootObject()["proxy"]["type"])
currentIndex: ProxyManager.hasTor() ? model.indexOf("Tor") : model.indexOf("None")//model.indexOf(Script.getJsonRootObject()["proxy"]["type"])
Component.onCompleted: {
if(ProxyManager.hasTor()) {
ProxyManager.startTorDaemon()
}
}
onActivated: {
if(currentText == "None") {
ProxyManager.stopTorDaemon()

@ -21,10 +21,11 @@ ApplicationWindow {
//visibility: (Script.getJsonRootObject()["window_mode"] == 1) ? "FullScreen" : "Windowed"
title: qsTr("neroshop" + " v" + neroshopVersion)
width: 1024//Script.getJsonRootObject()["window_width"]
height: 700//Script.getJsonRootObject()["window_height"]
height: 600//Script.getJsonRootObject()["window_height"]
minimumWidth: 1024
minimumHeight: 700//768
minimumHeight: 600//768
color: NeroshopComponents.Style.getColorsFromTheme()[0]
flags: Qt.Window | Qt.WindowMinMaxButtonsHint | Qt.WindowCloseButtonHint
header: Rectangle {
color: NeroshopComponents.Style.getColorsFromTheme()[1]

@ -39,6 +39,8 @@ neroshop::ProxyManager::~ProxyManager() {}
void neroshop::ProxyManager::useDefaultProxy() {
QNetworkProxy::setApplicationProxy(QNetworkProxy());
setTorEnabled(false);
}
void neroshop::ProxyManager::useTorProxy() {
@ -47,6 +49,8 @@ void neroshop::ProxyManager::useTorProxy() {
torProxy.setHostName("127.0.0.1");
torProxy.setPort(9050);
QNetworkProxy::setApplicationProxy(torProxy);
setTorEnabled(true); // also emits networkProxyChanged() signal
}
void neroshop::ProxyManager::useI2PProxy() {
@ -55,6 +59,8 @@ void neroshop::ProxyManager::useI2PProxy() {
i2pProxy.setHostName("127.0.0.1");
i2pProxy.setPort(4447);
QNetworkProxy::setApplicationProxy(i2pProxy);
setTorEnabled(false);
}
QNetworkAccessManager * neroshop::ProxyManager::getNetworkClearnet() const {
@ -217,8 +223,6 @@ void neroshop::ProxyManager::startTorDaemon() {
if(isTorRunning()) {
std::cout << "\033[90mtor was already running in the background\033[0m\n";
useTorProxy();
setTorEnabled(true);
std::cout << "Tor is now enabled.\n";
return;
}
@ -235,8 +239,6 @@ void neroshop::ProxyManager::startTorDaemon() {
qint64 pid = torProcess->processId();
std::cout << "\033[90;1mtor started (pid: " << pid << ")\033[0m\n";
useTorProxy();
setTorEnabled(true);
std::cout << "Tor is now enabled.\n";
} else {
torOutput.append(QString("%1 is missing so Tor could not be started\n").arg(program));
emit torOutputChanged(torOutput);
@ -259,7 +261,7 @@ void neroshop::ProxyManager::startTorDaemon() {
[&](int exitCode, QProcess::ExitStatus exitStatus) {
// Handle process finished event
qDebug() << "Process finished with exit code:" << exitCode;
setTorEnabled(false);
setTorEnabled(false); // switch to useDefaultProxy() or?
emit processFinished(exitCode, exitStatus);
});
}
@ -276,6 +278,7 @@ void neroshop::ProxyManager::setTorEnabled(bool torEnabled) {
if(m_torEnabled != torEnabled) {
m_torEnabled = torEnabled;
emit networkProxyChanged();
std::cout << ((m_torEnabled == true) ? "Tor is now enabled.\n" : "Tor has been disabled\n");
}
}
@ -284,8 +287,8 @@ QString neroshop::ProxyManager::getTorOutput() const {
}
QNetworkReply * neroshop::ProxyManager::getUrl(const QString& url) {
return torManager->get(QNetworkRequest(QUrl(url)));
//clearnetManager->get(QNetworkRequest(QUrl(url)));
auto network = getNetwork();
return network->get(QNetworkRequest(QUrl(url)));
}
bool neroshop::ProxyManager::hasTor() {

@ -18,9 +18,9 @@ public:
ProxyManager(QObject *parent = nullptr);
~ProxyManager();
Q_INVOKABLE static void useDefaultProxy();
Q_INVOKABLE static void useTorProxy();
Q_INVOKABLE static void useI2PProxy();
Q_INVOKABLE void useDefaultProxy();
Q_INVOKABLE void useTorProxy();
Q_INVOKABLE void useI2PProxy();
Q_INVOKABLE static void downloadTor();
Q_INVOKABLE void startTorDaemon();

Loading…
Cancel
Save