jcemerson / protonvpn-cli-gui Goto Github PK
View Code? Open in Web Editor NEWKivy-based ProtonVPN GUI for protonvpn-cli-ng on Linux (Unofficial)
License: GNU General Public License v3.0
Kivy-based ProtonVPN GUI for protonvpn-cli-ng on Linux (Unofficial)
License: GNU General Public License v3.0
Need to handle pvpn_cli.cfg.dns_leak_protection = 0.
Hi, I recently installed your ProtonVPN GUI application on a fully upgraded Ubuntu 20.04 install with kernel version 5.5.4. I am trying to start the application using the command:
protonvpn-cli-gui
And when I run it, everything seems to be working fine and the GUI very briefly shows up, but then it immediately crashes and gives me an import error when it tries to import country_codes from protonvpn_cli. I verified that protonvpn_cli is installed on my system and fully updated. This is the terminal output I get when I try to run the application:
[WARNING] [Config ] Older configuration version detected (0 instead of 21)
[WARNING] [Config ] Upgrading configuration in progress.
[INFO ] [Logger ] Record log in /home/user/.kivy/logs/kivy_20-12-31_0.txt
[INFO ] [Kivy ] v2.0.0
[INFO ] [Kivy ] Installed at "/usr/local/lib/python3.8/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0]
[INFO ] [Python ] Interpreter at "/usr/bin/python3"
[INFO ] [Factory ] 186 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer ignored)
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the "OpenGL" graphics system
[INFO ] [GL ] Backend used <sdl2>
[INFO ] [GL ] OpenGL version <b'4.6 (Compatibility Profile) Mesa 21.0.0-devel (git-28a202f 2020-12-31 focal-oibaf-ppa)'>
[INFO ] [GL ] OpenGL vendor <b'AMD'>
[INFO ] [GL ] OpenGL renderer <b'AMD Radeon RX 5700 XT (NAVI10, DRM 3.36.0, 5.5.4-050504-generic, LLVM 11.0.0)'>
[INFO ] [GL ] OpenGL parsed version: 4, 6
[INFO ] [GL ] Shading version <b'4.60'>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Text ] Provider: sdl2
Traceback (most recent call last):
File "/usr/local/bin/protonvpn-cli-gui", line 5, in <module>
from protonvpn_cli_gui.protonvpnguiapp import pvpn_gui
File "/usr/local/lib/python3.8/dist-packages/protonvpn_cli_gui/protonvpnguiapp.py", line 69, in <module>
from protonvpn_cli import country_codes as pvpncli_country_codes # noqa
ImportError: cannot import name 'country_codes' from 'protonvpn_cli' (/usr/lib/python3/dist-packages/protonvpn_cli/__init__.py)
Do you have any idea on how I can fix this issue?
`
Hey, thanks for sharing this project! As an FYI I needed to install pygame to bypass the app from crashing during launch.
Log prior to installing pygame:
$ sudo protonvpn-cli-gui
[INFO ] [Logger ] Record log in /root/.kivy/logs/kivy_20-03-28_1.txt
[INFO ] [Kivy ] v1.11.1
[INFO ] [Kivy ] Installed at "/usr/local/lib/python3.7/dist-packages/kivy/__init__.py"
[INFO ] [Python ] v3.7.5 (default, Nov 20 2019, 09:21:52)
[GCC 9.2.1 20191008]
[INFO ] [Python ] Interpreter at "/usr/bin/python3"
[INFO ] [Factory ] 184 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_gif (img_pygame, img_pil, img_ffpyplayer ignored)
[CRITICAL] [Window ] Unable to find any valuable Window provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
egl_rpi - ImportError: cannot import name 'bcm' from 'kivy.lib.vidcore_lite' (/usr/local/lib/python3.7/dist-packages/kivy/lib/vidcore_lite/__init__.py)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_egl_rpi.py", line 12, in <module>
from kivy.lib.vidcore_lite import bcm, egl
pygame - ModuleNotFoundError: No module named 'pygame'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/window/window_pygame.py", line 13, in <module>
import pygame
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
[CRITICAL] [Text ] Unable to find any valuable Text provider. Please enable debug logging (e.g. add -d if running from the command line, or change the log level in the config) and re-run your app to identify potential causes
pygame - ModuleNotFoundError: No module named 'pygame'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/text/text_pygame.py", line 18, in <module>
import pygame
pil - ModuleNotFoundError: No module named 'PIL'
File "/usr/local/lib/python3.7/dist-packages/kivy/core/__init__.py", line 63, in core_select_lib
fromlist=[modulename], level=0)
File "/usr/local/lib/python3.7/dist-packages/kivy/core/text/text_pil.py", line 7, in <module>
from PIL import Image, ImageFont, ImageDraw
[CRITICAL] [App ] Unable to get a Text provider, abort.
Resolution:
sudo pip3 install pygame
I'm thinking pygame should probably be added as an installed dependency in the setup.py.
Issue:
When a popup is open or a widget (e.g. a button) is nested inside of another widget (e.g. treeview node), the "lower" widget and cursor are interacting, despite another layer being over top of it.
Expected Behavior:
The widget on top needs to terminate the cursors interaction with widgets layered below it.
protonvpn-cli can have issues connecting with the API for a variety of reasons. However, when this happens, sometimes the GUI responds by crashing.
Fortunately simply restarting the GUI (and reconnecting if necessary) gets everything going again.
Ultimately, the GUI should more gracefully handle these instances.
The determination of which server is the "fastest" server is more complex than just the server's load; it involves other factors such as distance of the user from the server, etc. The ProtonVPN API provides data to indicate the fastest server for a particular user (using their own algorithmic magic) and ProtonVPN-CLI just connects to that fastest server.
However, for Plus and Visionary customers, it's not uncommon to find that the fastest server you've connected to is a Basic-tier server, which don't offer all the features of those higher-tier plans.
An option should be added (likely as a Profile and could be assigned to the Quick Connect button) to allow Plus and Visionary users to specifically connect to the fastest Plus server, either out of all server or for a specific country.
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.