Compare commits

...
9 Commits
8 changed files with 28 additions and 14 deletions
+2 -2
View File
@@ -119,7 +119,7 @@ RUN git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib && \
make -j$THREADS && \
make -j$THREADS install
RUN git clone -b VER-2-10-2 --depth 1 https://git.sv.nongnu.org/r/freetype/freetype2.git && \
RUN git clone -b VER-2-10-2 https://git.sv.nongnu.org/r/freetype/freetype2.git && \
cd freetype2 && \
git reset --hard 132f19b779828b194b3fede187cee719785db4d8 && \
./autogen.sh && \
@@ -164,7 +164,7 @@ RUN wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz && \
sha256sum -c hashsum.txt && \
tar -xzf openssl-1.1.1g.tar.gz && \
cd openssl-1.1.1g && \
CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./config no-asm no-shared no-zlib-dynamic --prefix=/usr/local/openssl && \
CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./config no-shared no-zlib-dynamic --prefix=/usr/local/openssl && \
make -j$THREADS && \
make -j$THREADS install
+1 -1
View File
@@ -2,7 +2,7 @@
[![Build Status](https://build.featherwallet.org/api/badges/feather/feather/status.svg)](https://build.featherwallet.org/feather/feather)
Feather is a free, open-source Monero client for Mac OS and Linux platforms written in C++ with the Qt framework. It is created and maintained by [dsc](dsc@xmr.pm) and [tobtoht](thotbot@protonmail.com).
Feather is a free, open-source Monero client Linux with ports for Mac OS and Windows written in C++ with the Qt framework. It is created and maintained by [dsc](dsc@xmr.pm) and [tobtoht](thotbot@protonmail.com).
## Development resources
* Web: [featherwallet.org](https://featherwallet.org)
+4
View File
@@ -134,6 +134,10 @@ if(HAVE_SYS_PRCTL_H)
target_compile_definitions(feather PRIVATE HAVE_SYS_PRCTL_H=1)
endif()
if(STATIC)
target_compile_definitions(feather PRIVATE STATIC=1)
endif()
if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug")
target_compile_definitions(feather PRIVATE QT_NO_DEBUG=1)
endif()
+4 -3
View File
@@ -82,10 +82,11 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
this->defaultWalletDir = QString("%1/Monero/wallets").arg(this->configRoot);
this->defaultWalletDirRoot = QString("%1/Monero").arg(this->configRoot);
#elif defined(Q_OS_WIN)
// @TODO
this->defaultWalletDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + "/Monero";
this->defaultWalletDirRoot = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
#endif
// Create ~/Monero/wallets if it does not exist yet
// Create wallet dirs
if (!QDir().mkpath(defaultWalletDir))
qCritical() << "Unable to create dir: " << defaultWalletDir;
@@ -169,7 +170,7 @@ AppContext::AppContext(QCommandLineParser *cmdargs) {
}
void AppContext::initTor() {
this->tor = new Tor(this);
this->tor = new Tor(this, this);
this->tor->start();
if (!(isTails || isWhonix)) {
+1 -1
View File
@@ -14,7 +14,7 @@
#include <QtPlugin>
#if defined(Q_OS_LINUX)
#if defined(Q_OS_LINUX) && defined(STATIC)
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
#endif
+2
View File
@@ -932,6 +932,8 @@ void MainWindow::homeWidgetChanged(const QString &widgetName) {
}
void MainWindow::closeEvent(QCloseEvent *event) {
m_ctx->tor->stop();
this->saveGeo();
if(m_wizard != nullptr)
m_wizard->close();
+3
View File
@@ -376,6 +376,9 @@
<addaction name="menuHelp"/>
</widget>
<action name="actionOpen">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Open wallet</string>
</property>
+11 -7
View File
@@ -50,6 +50,13 @@ Tor::Tor(AppContext *ctx, QObject *parent)
return;
}
// Don't spawn Tor on default port to avoid conflicts
Tor::torPort = 19450;
if (Utils::portOpen(Tor::torHost, Tor::torPort)) {
this->localTor = true;
return;
}
qDebug() << "Using embedded tor instance";
m_process.setProcessChannelMode(QProcess::MergedChannels);
@@ -58,6 +65,10 @@ Tor::Tor(AppContext *ctx, QObject *parent)
connect(&m_process, &QProcess::stateChanged, this, &Tor::stateChanged);
}
void Tor::stop() {
m_process.kill();
}
void Tor::start() {
if (this->localTor) {
this->checkConnection();
@@ -65,9 +76,6 @@ void Tor::start() {
return;
}
// Don't spawn Tor on default port to avoid conflicts
Tor::torPort = 19450;
auto state = m_process.state();
if (state == QProcess::ProcessState::Running || state == QProcess::ProcessState::Starting) {
this->errorMsg = "Can't start Tor, already running or starting";
@@ -101,10 +109,6 @@ void Tor::start() {
m_process.start(this->torPath, arguments);
}
void Tor::stop() {
m_process.terminate();
}
void Tor::checkConnection() {
// We might not be able to connect to localhost if torsocks is used to start feather
if (m_ctx->isTorSocks)