f1ash / dnscrypt-proxy-gui Goto Github PK
View Code? Open in Web Editor NEWQt/KF5 GUI wrapper over dnscrypt-proxy
License: GNU General Public License v2.0
Qt/KF5 GUI wrapper over dnscrypt-proxy
License: GNU General Public License v2.0
Hello F1ash. Since the version 1.11.11-1 release date, in Red Hat Bugzilla, issue 1537159 is no longer active and as a result the use of that piece of software could be enjoyed. Its interface is intuitive, and there is no reasonable motive to require a major change related to it.
However the restriction regarding the maximal allowed dimensions of the interface window does not seem absolutely required for a good use of the application, as indeed its whole settings list is short enough to be displayed comfortably as a one sight-view under the vertical axis,
In that context, would it be possible to envisage not to restrict the window dimensions, at least not so tightly, and even less regarding the dimension under the vertical axis? Such enhancement would be beneficent not only to the Application Settings view but also its effect would be most noticeable while using the Restore System DNS Resolver Settings view, which may contain a list of settings long enough so that it would be best for it to be displayed under a lager dimensions set than the actual one enabled by default.
Otherwise the application may lack a succinct Help section for users be they beginners or experimented ones. There is no mention of the meaning of the icon located in some case in front of the name of a server in the main view. On a small enough laptop screen with default resolution, the details regarding the icon itself cannot be perceived. Regards.
Your gui is a very handy app, expecially for not so advanced users. But what bothers me is that it is hard readable and that the app don't saves the window properties (width/height). Indeed its written in qt why its not themeable?
Can we expect improvements for this?
Using Arch Linux with GNOME 64-bit, attempting to start the app results in this in the Terminal;
** (DNSCryptClient:11335): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-WIabpadbLy: Connection refused
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to InfoPanel "", which already has a layout
QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout
Any ideas?
Description of problem: Selected DNScrypt server name to be used in connection is not activated.
Version-Release number of component in Fedora: dnscrypt-proxy-gui-1.11.11-1.fc27.x86_64
Steps to Reproduce:
Actual results: The connection activated does not correspond to the selected DNScrypt server name but corresponds to the immediate following DNScrypt server name in the list. Exception of course in case the last DNScrypt server name in the list is selected. In case step 1. is not observed, the activated connection corresponds then to the immediate following fast DNScrypt server name in the list.
Expected results: The connection activated to correspond to the selected DNScrypt server name.
Dear @F1ash,
Could you be so kind to generate .exe
for the rest of us who are mere Windows users w/o compiler?
Description of problem: The reactivated connection is not the one left before the application was quitted. Present issue is a variant of the issue #11.
Version-Release number of component in Fedora: dnscrypt-proxy-gui-1.11.11-1.fc27.x86_64
Steps to Reproduce:
Actual results: The reactivated connection is not the one left before the application was quitted, but the one that corresponds to the immediate following DNScrypt server name in the list.
Expected results: The connection reactivated to remain the one that was activated before the application was quitted.
Hello, i build version dnscrypt-proxy-gui-1.9.8
cmake .
make
build faild
Scanning dependencies of target DNSCryptClient
[ 25%] Building CXX object src/CMakeFiles/DNSCryptClient.dir/main.cpp.o
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:10:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/server_panel.h:16:44: ошибка: нет декларации «nullptr» в этой области видимости
explicit ServerPanel(QWidget *parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:11:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/button_panel.h:13:44: ошибка: нет декларации «nullptr» в этой области видимости
explicit ButtonPanel(QWidget *parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:12:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/info_panel.h:20:32: предупреждение: non-static data member initializers only available with -std=c++11 or -std=gnu++11
int timerId = 0;
^
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/info_panel.h:15:42: ошибка: нет декларации «nullptr» в этой области видимости
explicit InfoPanel(QWidget *parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/test_respond.h:7:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:13,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/test_widget.h:16:43: ошибка: нет декларации «nullptr» в этой области видимости
explicit TestWidget(QWidget *parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:13:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/test_respond.h:13:44: ошибка: нет декларации «nullptr» в этой области видимости
explicit TestRespond(QWidget *parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/app_settings.h:10:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:14,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/port_settings.h:12:45: ошибка: нет декларации «nullptr» в этой области видимости
explicit PortSettings(QWidget *parent = nullptr,
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:14:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/app_settings.h:22:44: ошибка: нет декларации «nullptr» в этой области видимости
explicit AppSettings(QWidget parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:15:0,
from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/tray/traywidget.h:13:39: ошибка: нет декларации «nullptr» в этой области видимости
explicit TrayIcon(QWidget parent = nullptr);
^
In file included from /home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:2:0:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/mainwindow.h:21:43: ошибка: нет декларации «nullptr» в этой области видимости
explicit MainWindow(QWidget parent = nullptr);
^
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp: В функции «int main(int, char)»:
/home/admin/rpmbuild/BUILD/dnscrypt-proxy-gui-1.9.8/src/main.cpp:11:16: ошибка: call to «MainWindow::MainWindow(QWidget)» uses the default argument for parameter 1, which is not yet defined
MainWindow w;
^
make[2]: *** [src/CMakeFiles/DNSCryptClient.dir/build.make:143: src/CMakeFiles/DNSCryptClient.dir/main.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:88: src/CMakeFiles/DNSCryptClient.dir/all] Ошибка 2
make: *** [Makefile:128: all] Ошибка 2
diagnostic:
OS: ROSA Desktop Fresh R8.1 release 2014.1 for x86_64
Kernel: Linux nb 4.9.20-nrj-desktop-1rosa-x86_64 #1 SMP PREEMPT Sat Apr 1 22:43:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Qt5: 5.6.1
cmake version 3.5.2
gcc (Linaro GCC 4.9-2014.08) 4.9.2 20140811 (ROSA)
rpm -qa | grep kf5
lib64kf5js5-5.24.0-1-rosa2014.1.x86_64
lib64kf5solid5-5.24.0-1-rosa2014.1.x86_64
lib64kf5solid-qml-5.24.0-1-rosa2014.1.x86_64
lib64kf5itemviews5-5.24.0-1-rosa2014.1.x86_64
lib64kf5dnssd5-5.24.0-1-rosa2014.1.x86_64
lib64kf5i18n5-5.24.0-1-rosa2014.1.x86_64
kdnssd-kf5-i18n-5.24.0-1-rosa2014.1.noarch
lib64kf5archive5-5.24.0-1-rosa2014.1.x86_64
lib64kf5configcore5-5.24.0-1-rosa2014.1.x86_64
lib64kf5coreaddons5-5.24.0-1-rosa2014.1.x86_64
lib64kf5configgui5-5.24.0-1-rosa2014.1.x86_64
lib64kf5auth5-5.24.0-1-rosa2014.1.x86_64
lib64kf5codecs5-5.24.0-1-rosa2014.1.x86_64
lib64kf5guiaddons5-5.24.0-1-rosa2014.1.x86_64
lib64kf5widgetsaddons5-5.24.0-1-rosa2014.1.x86_64
lib64kf5configwidgets5-5.24.0-1-rosa2014.1.x86_64
lib64kf5completion5-5.24.0-1-rosa2014.1.x86_64
lib64kf5windowsystem5-5.24.0-1-rosa2014.1.x86_64
lib64kf5dbusaddons5-5.24.0-1-rosa2014.1.x86_64
lib64kf5crash5-5.24.0-1-rosa2014.1.x86_64
lib64kf5globalaccel5-5.24.0-1-rosa2014.1.x86_64
lib64kf5iconthemes5-5.24.0-1-rosa2014.1.x86_64
lib64kf5attica5-5.24.0-1-rosa2014.1.x86_64
lib64kf5globalaccelprivate5-5.24.0-1-rosa2014.1.x86_64
lib64kf5sonnetcore5-5.24.0-1-rosa2014.1.x86_64
lib64kf5service5-5.24.0-1-rosa2014.1.x86_64
lib64kf5sonnetui5-5.24.0-1-rosa2014.1.x86_64
lib64kf5textwidgets5-5.24.0-1-rosa2014.1.x86_64
kwallet-kf5-i18n-5.24.0-1-rosa2014.1.noarch
lib64kf5kiontlm5-5.24.0-1-rosa2014.1.x86_64
lib64kf5xmlgui5-5.24.0-1-rosa2014.1.x86_64
lib64kf5wallet5-5.24.0-1-rosa2014.1.x86_64
lib64kf5kiocore5-5.24.0-1-rosa2014.1.x86_64
lib64kf5jobwidgets5-5.24.0-1-rosa2014.1.x86_64
lib64kf5kiowidgets5-5.24.0-1-rosa2014.1.x86_64
lib64kf5notifications5-5.24.0-1-rosa2014.1.x86_64
lib64kf5parts5-5.24.0-1-rosa2014.1.x86_64
lib64kf5bookmarks5-5.24.0-1-rosa2014.1.x86_64
lib64kf5kiofilewidgets5-5.24.0-1-rosa2014.1.x86_64
lib64kf5kdelibs4support5-5.24.0-1-rosa2014.1.x86_64
lib64kf5package5-5.24.0-1-rosa2014.1.x86_64
lib64kf5khtml5-5.24.0-1-rosa2014.1.x86_64
lib64kf5declarative5-5.24.0-1-rosa2014.1.x86_64
lib64kf5quickaddons5-5.24.0-1-rosa2014.1.x86_64
lib64kf5declarative-qml-5.24.0-1-rosa2014.1.x86_64
lib64kf5activities5-5.24.0-1-rosa2014.1.x86_64
lib64kf5waylandserver5-5.24.0-1-rosa2014.1.x86_64
lib64kf5waylandclient5-5.24.0-1-rosa2014.1.x86_64
lib64kf5activities-qml-5.24.0-1-rosa2014.1.x86_64
lib64kf5pty5-5.24.0-1-rosa2014.1.x86_64
lib64kf5coreaddons-devel-5.24.0-1-rosa2014.1.x86_64
lib64kf5auth-devel-5.24.0-1-rosa2014.1.x86_64
lib64kf5config-devel-5.24.0-1-rosa2014.1.x86_64
lib64kf5codecs-devel-5.24.0-1-rosa2014.1.x86_64
lib64kf5windowsystem-devel-5.24.0-1-rosa2014.1.x86_64
lib64kf5notifications-devel-5.24.0-1-rosa2014.1.x86_64
Description: Changed state of any current DNS resolver does not take immediate effect.
Version: 1.11.14-1
Steps to reproduce:
By the way changing the state of a resolver, whose box related to its status is currently empty, can be achieved not only by suggested operation which consists in 'Press 'blank' key to change state' but also by just left-clicking that very box. Usage shows that operation 'Press 'blank' key to change state' is required only when changing the state of a resolver, whose box related to its status is currently filled,
Actual results: As noticeable, changed state does not take immediate effect in Control Panel view. In order for change to take effect, another resolver has to be selected as the current resolver, then previous resolver has to be selected once more as current resolver.
Expected results: Changed state to take immediate effect, even when resolver is the current resolver.
That is not all. Now you can change ports for job and testing responds. But new version not released, because yet need to implement check and change used ports at start. Because after update application from repository systemd units will contains default ports.
ExecStart=/usr/sbin/dnscrypt-proxy -a 127.0.0.1:5353 -R %i
doesnt work! to change ports dnscrypt-proxy.socket must be changed...
look here: Arch Wiki
just for interest, for what is port for testing server responds used?
I follow instruction to compile from this link. https://askubuntu.com/questions/1003678/install-dnscrypt-proxy-gui
when I reach the next command which is sudo checkinstall, I got error from terminal such bellow :
`_========================= Installation results ===========================
[ 62%] Built target DNSCryptClient
[ 63%] actions for pro.russianfedora.dnscryptclient
[ 65%] Built target pro.russianfedora.dnscryptclient.policy-customtarget
[ 75%] Built target dnscrypt_client_helper
[ 76%] actions for pro.russianfedora.dnscryptclienttest
[ 77%] Built target pro.russianfedora.dnscryptclienttest.policy-customtarget
[ 79%] Building CXX object src/helpers/test_helper/CMakeFiles/dnscrypt_client_test_helper.dir/dnscrypt_client_test_helper.cpp.o
/home/nss/dnscrypt-proxy-gui/src/helpers/test_helper/dnscrypt_client_test_helper.cpp: In function ‘bool preparedConfig()’:
/home/nss/dnscrypt-proxy-gui/src/helpers/test_helper/dnscrypt_client_test_helper.cpp:131:52: error: ‘KeepEmptyParts’ is not a member of ‘Qt’
131 | QStringList _parts = _s.split(" ", Qt::KeepEmptyParts);
| ^~~~~~~~~~~~~~
/home/nss/dnscrypt-proxy-gui/src/helpers/test_helper/dnscrypt_client_test_helper.cpp: In function ‘bool preparedServiceUnit()’:
/home/nss/dnscrypt-proxy-gui/src/helpers/test_helper/dnscrypt_client_test_helper.cpp:168:52: error: ‘KeepEmptyParts’ is not a member of ‘Qt’
168 | QStringList _parts = _s.split("=", Qt::KeepEmptyParts);
| ^~~~~~~~~~~~~~
make[2]: *** [src/helpers/test_helper/CMakeFiles/dnscrypt_client_test_helper.dir/build.make:84: src/helpers/test_helper/CMakeFiles/dnscrypt_client_test_helper.dir/dnscrypt_client_test_helper.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:372: src/helpers/test_helper/CMakeFiles/dnscrypt_client_test_helper.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
**** Installation failed. Aborting package creation._
Restoring overwritten files from backup...OK
Cleaning up...OK
Bye.
`
by the way I have installed dependencies exactly like the instruction said.
Can you help me to solve this problem ?
Hi,
And thanks for this awesome project!
Not a feature request, just a question: are you planning to add support for plugins?
Maybe at least for the caching plugin?
Application cannot be launched. The following commands were executed on Gnome version 3.32.2:
Same results using DNSCryptClient
or /usr/bin/DNSCryptClient
.
$ DNSCryptClient
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
$ sudo ps -aux | grep -i dnscrypt
root 2806 1.0 0.5 505628 21300 ? Ssl 14:37 0:00 /usr/libexec/kf5/kauth/dnscrypt_client_test_helper
$ QT_QPA_PLATFORM=wayland DNSCryptClient
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
QSocketNotifier: Can only be used with threads started with QThread
$ sudo DNSCryptClient
No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
$ sudo QT_QPA_PLATFORM=wayland DNSCryptClient
error: XDG_RUNTIME_DIR not set in the environment.
Failed to create wl_display (No such file or directory)
qt.qpa.plugin: Could not load the Qt platform plugin "wayland" (...)
No message produced when executing DNSCryptClient
$ sudo DNSCryptClient
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Additional information: dnscrypt-proxy was installed as dependency along with installation of dnscrypt-proxy-gui. System was rebooted.
$ dnf list installed | grep -i dnscrypt
dnscrypt-proxy.x86_64 2.0.23-1.fc30 @updates
dnscrypt-proxy-gui.x86_64 1.21.16-4.fc30 @updates
$ rpm -ql dnscrypt-proxy-gui | grep '^/usr/bin'
/usr/bin/DNSCryptClient
# systemctl list-unit-files | grep -i dnscrypt | sort
[email protected] static
[email protected] static
DNSCryptClient_test_v2.service static
dnscrypt-proxy.service disabled
dnscrypt-proxy.socket disabled
Could you make the changelog directly visible in your GitHub releases? This would increase transparency for potential users and distribution maintainers. Something like https://skywinder.github.io/github-changelog-generator/ could be used to generate the changelog based on merged PRs and closed issues since the last release tag.
maybe helpful for you:
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Installing in the same prefix as Qt, adopting their path scheme.
CMake Deprecation Warning at /usr/share/ECM/kde-modules/KDEInstallDirs.cmake:324 (message):
SHARE_INSTALL_PREFIX is deprecated, use KDE_INSTALL_DATAROOTDIR instead.
Call Stack (most recent call first):
/usr/share/ECM/kde-modules/KDEInstallDirs.cmake:379 (_define_relative)
/usr/share/ECM/kde-modules/KDEInstallDirs.cmake:510 (_define_absolute)
CMakeLists.txt:4 (include)
CMake Error at CMakeLists.txt:66 (target_link_libraries):
Cannot specify link libraries for target "Qt5::Core" which is not built by
this project.
CMake Warning (dev) in CMakeLists.txt:
No cmake_minimum_required command is present. A line of code such as
cmake_minimum_required(VERSION 3.7)
should be added at the top of the file. The version specified may be lower
if you wish to support older CMake versions for this project. For more
information run "cmake --help-policy CMP0000".
This warning is for project developers. Use -Wno-dev to suppress it.
as you may heard already the maintainer of the original nscrypt-proxy has quit. Here's the rewrite in go, dont know what it means for this project....
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.