Giter Club home page Giter Club logo

gnordvpn-local's People

Contributors

ahodges22 avatar halfmexican avatar isopolito avatar makarov-roman avatar sksavant avatar thatrobvk avatar tiagorascazzi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gnordvpn-local's Issues

Favorite Server

Describe the solution you'd like
Be able to star the current server as a "Favorite Server" for quick reconnects.

Additional context
NordVPN's dedicated IP address feature reserves a dedicated IP for a NordVPN account, and that IP is available on only a single server. Any time a user with a dedicated IP connects to that specific server, e.g., US#6697, they receive the dedicated IP. Being able to mark a specific server as a favorite for quick reconnects would be a great help to users paying for a dedicated IP.

I can see in the extension's default config schema a place for favorite servers:

<key name="favorite-servers" type="s">
    <default>""</default>
</key>

... but I have yet to figure out how (or if it's possible to) mark a server as a favorite in the extensions GUI.

Bad behaviour caused by setting countries-selected-for-servers.

Describe the bug
The setting "countries-selected-for-servers" is causing the extension behave badly.

Selecting countries on the "Servers" tab in "Settings" doesn't work. It always saves the id "0" for every country.

Also, after setting this variable to some value other than the default (empty), actions performed by this extension (connect, disconnect) causes Shell (the whole desktop) to freeze for a couple of minutes.

To Reproduce
Steps to reproduce the behavior:

  1. Reset all the settings for the extension:
> dconf reset -f /org/gnome/shell/extensions/gnordvpn-local/
  1. Enable the extension.
  2. Go to "Settings" > "Servers".
  3. Select any country/countries from the list.
  4. Check the stored value for the setting "countries-selected-for-servers":
> dconf read /org/gnome/shell/extensions/gnordvpn-local/countries-selected-for-servers
# [0, 0, 0]
  1. Close the settings window and reopen it. All the cities are unselected.
  2. Connect or disconnect the VPN via the extension: Shell freezes.

Expected behavior
Selecting countries should save the correct ids in the setting "countries-selected-for-servers".
Incorrect values for this should not cause Shell to freeze.

Desktop

  • OS: Fedora Linux 38 (Workstation Edition) x86_64
  • GNOME Shell 44.5
  • nordvpn CLI version 3.16.6 (repo: repo.nordvpn.com_yum_nordvpn_centos_x86_64)
  • gNordVPN-Local on commit 60c5909

Setting for status timer interval

Create an integer spinner on the General settings page that allows for control of the interval in (seconds) for running the timer that's used to fetch the vpn status. The timer logic is in VpnIndicator.js.

The minimum value should be 1 second with a max value of 120

Upgrade menu option

When an upgrade is available, make the message clickable. Clicking on the update message will run a user configured upgrade command. If the upgrade command fails, the upgrade text turns red, and mouse hover over will show details. Otherwise the upgrade option will disappear from the menu if the upgrade was successful.

A/C

  • Upgrade text is clickable
  • When clicked, user defined command or script is run
  • New tab in prefs to configure this
  • Upgrade text turns red on upgrade failure, hover over shows tool tip with details
  • Optionally (configured on prefs) to show output of upgrade in dialog

Toggling Favorites Causes Error

Toggle a favorite in one of the menus like servers, cities, etc causes the below error in the logs.

== Stack trace for context 0x55cecd15d180 ==
#0 7ffdd11fac10 b resource:///org/gnome/shell/ui/popupMenu.js:213 (2abafd8140b0 @ 155)
#1 7ffdd11fb650 b resource:///org/gnome/shell/ui/popupMenu.js:606 (2abafd814f10 @ 64)
#2 7ffdd11fb730 b self-hosted:1178 (51095ab0a10 @ 454)
#3 7ffdd11fb830 b resource:///org/gnome/gjs/modules/core/_signals.js:114 (51095ad3970 @ 433)
#4 7ffdd11fb900 b resource:///org/gnome/shell/ui/popupMenu.js:619 (2abafd814fb0 @ 150)
== Stack trace for context 0x55cecd15d180 ==
#0 7ffdd11fac10 b resource:///org/gnome/shell/ui/popupMenu.js:220 (2abafd8140b0 @ 175)
#1 7ffdd11fb650 b resource:///org/gnome/shell/ui/popupMenu.js:606 (2abafd814f10 @ 64)
#2 7ffdd11fb730 b self-hosted:1178 (51095ab0a10 @ 454)
#3 7ffdd11fb830 b resource:///org/gnome/gjs/modules/core/_signals.js:114 (51095ad3970 @ 433)
#4 7ffdd11fb900 b resource:///org/gnome/shell/ui/popupMenu.js:619 (2abafd814fb0 @ 150)
== Stack trace for context 0x55cecd15d180 ==
#0 7ffdd11fac10 b resource:///org/gnome/shell/ui/popupMenu.js:222 (2abafd8140b0 @ 200)
#1 7ffdd11fb650 b resource:///org/gnome/shell/ui/popupMenu.js:606 (2abafd814f10 @ 64)
#2 7ffdd11fb730 b self-hosted:1178 (51095ab0a10 @ 454)
#3 7ffdd11fb830 b resource:///org/gnome/gjs/modules/core/_signals.js:114 (51095ad3970 @ 433)
#4 7ffdd11fb900 b resource:///org/gnome/shell/ui/popupMenu.js:619 (2abafd814fb0 @ 150)
Object .Gjs_ui_popupMenu_PopupMenuItem (0x55ced3d41ee0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.
Object .Gjs_ui_popupMenu_PopupMenuItem (0x55ced3d41ee0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destroy(), dispose(), or remove() vfuncs.

Fedora 39 Support

Was easily my favourite part of fedora 38 and was sad to see that it isnt supported in 39 yet

Update for Gnome 46 or workaround

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Menu Off-Centre When Clicking on Topbar Button

When I click on the extension button in the topbar, the menu that appears below it is off centre whereas it didn't used to be like this. I am running Ubuntu 22.04.2 LTS and GNOME 42.5.

image

Colours

This extension works great! However, the colour is either an awful looking bright red, or an equally awful looking green. Both are kind of eye-shearing and not something I want on my Gnome panel. I'm using a different extension in the mean time but it is less fully featured than this one. Ideally the user could pick the colours, or a monochrome option fitting in with the rest of the panel would be used.

Thanks!

Critical Problem with Ubuntu 24.04 and Nordvpn 3.17.4

Describe the bug
I’ve done a clean install of Ubuntu 24.04 and used the NordVPN install script to install. Then added gNordVPN-local from extensions.gnome.org. I don't connect via the extension - I use either autoconnect or the NordVPN CLI.

NordVPN does work and status displayed by gNordVPN for the session but critical NordVPN settings are being LOST over a reboot.

Errors appear for any NordVPN cli commands in /home/$USER/.config/nordvpn (a directory which I believe deprecated from a nordvpn point of view as settings are now stored in /var/lib/nordvpn)

The following NordVPN settings are changed every reboot

  • Technology - defaults back to OpenVPN after a reboot
  • Firewall - resets to Off after a reboot
  • Notify - resets to Off after a reboot
  • Auto-connect - resets of Off after a reboot.

Whilst others are retained:

  • DNS
  • Allowlisted subnets

I’ve completely uninstalled (apt remove /apt purge and deleted /var/lib/nordvpn, /var/run/nordvpn, /home/$USER/.config/nordvpn) and reinstalled a couple of times. But after disabling gNordVPN-local NordVPN starts working as expected.

Errors are appearing in /home/$USER/.config/nordvpn/cli..log for every nordvpn cli command issued.

2024/05/01 14:37:46 [Error] stty: 'standard input': Inappropriate ioctl for device
2024/05/01 15:13:01 [Error] stty: 'standard input': Inappropriate ioctl for device
2024/05/01 15:13:02 Something went wrong. Please try again. If the problem persists, contact our customer support.

On disabling gNordVPN-local the errors stop.

To reproduce,
nordvpn set technology nordlynx
nordvpn settings --> shows technology set to nordlynx
sudo reboot
nordvpn settings --> shows technology reset to openvpn
|

Allow for multiple style profiles

Feature Description

Overview

Add functionality to the Styles preferences page that allows users to save and manage multiple CSS style configurations.

Detailed Steps

  1. Save Button: Introduce a 'Save' button on the Styles preferences page.

    • Clicking the 'Save' button opens a dialog where the user can enter a name for the new style configuration.
  2. Dropdown Menu: Create a dropdown menu that lists all saved style configurations.

    • Selecting an item from the dropdown populates the CSS input fields with the corresponding saved styles.
  3. Delete Option: Introduce a 'Delete' button to remove saved style configurations.

    • The delete action should be confirmable to prevent accidental deletion.

Expected Outcomes

  • Users can save multiple style configurations with custom names.
  • Users can easily switch between saved style configurations.
  • Users can delete saved style configurations.

Use Case

This feature enhances user experience by providing a way to quickly switch between different visual styles without having to manually re-enter the CSS each time.

NOTE: Place new UI widgets at the top of the style page

image

Favorite Country

Ability to be able to click a start next to a country name in the country list that will make it stay at the top of the country list.
The starred list of countries at the top of the menu will be sorted alphabetically.

A/C:

  • A hollow star is in front of each country name
  • Clicking on the star makes it yellow, and the country name will move to top of country list
  • The country list is sorted alphabetically
  • The list of starred countries is persisted across sessions

Preference dialog for nordvpn settings

Include a preference option in the menu that opens a dialog. The dialog will contain the nordvpn settings and persist the configuration across sessions.

A/C:
* A "Preferences..." option is at the bottom of the menu.
* Clicking on the new preferences option will open a dialog.
* Dialog contains all nordvpn settings, providing check boxes or inputs as needed.
* Changes persist across sessions

Choose country for autoconnection

Is your feature request related to a problem? Please describe.
I set the autoconnection on but every single time it picks a random country

Describe the solution you'd like
An option to pick the country for autoconnection

Describe alternatives you've considered
Pick always the fastest connection (I think it might be already doing it, some reason it doesn't work properly for me tough)

I also wanted to mention a bug that is annoying me, it is occurring only on gnome 44, i haven't tested that much tough there is not how to be sure, but every time i try to open the pop up on the tray it lags my computer a bit and sometimes i even have to reboot (I'm using X11 not sure about wayland tough)

With Dash to Panel, the icon is much bigger

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Use Dash to Panel
  2. Use gNordVPN-Local
  3. View "tray"
  4. Result is screenshot attached
    Screenshot from 2024-02-13 01-50-43

Expected behavior
It to not look weird (Button is too wide). Small CSS thing/

Screenshots
Screenshot from 2024-02-13 01-50-43

Desktop (please complete the following information):

  • OS: Fedora 39
  • Browser Firefox

Additional context
Not sure if this counts as a bug (I'm assuming there's a conflict with dash to panel), its a minor thing, but just thought be worth putting here.

Make External Calls Async

Research the feasibility of using async for all calls to the NordVpn client (and anything else that is currently a blocking sync call).
Since extensions hook directly into gnome shell, we don't want anything in the extension to block the whole desktop and create a negative user experience.

Set Refresh Intervals

Is your feature request related to a problem? Please describe.
When using the "Extra Large" format style, the information presented in the panel is static and does not update unless clicked on. ie uptime, data up and down transfer.

Describe the solution you'd like
I would like to be able to set a refresh interval, preferably 1 second, so that the information presented is up to date without having to click on it.

Describe alternatives you've considered
The only alternative is to not display the information since it does not refresh without clicking.

Additional context
image

Disable extension is not working for gnome 43

Describe the bug
When I tried to disable extension via Extensions app it showed following error:
this._commonFavorite.disable is not a function

To Reproduce
Steps to reproduce the behavior:

  1. Go to Extensions app
  2. Click on 'on/off switch'
  3. See error

Expected behavior
Extension is disabled

Screenshots
image

Desktop (please complete the following information):

  • OS: Fedora 37

Additional context
Gnome Extensions version: 43~beta from fedora repo.
I don't know how are pipelines for plugin release working, but the latest available version at gnome-extensions is 11 (should be 12).

Fastest Servers

Make a tab in prefs for configuring Fastest Servers. Velocity of servers will be tracked and the fastest n amount (configurable) will show up in the list. Also, make an option for clearing out servers from that list that have not been used in n amount of days

A/C

TODO

"status.currentServer is undefined" Error

I am running version 11 on Ubuntu 22.04, and this extension no longer runs for me. I cannot re-enable it, and I'm getting a "status.currentServer is undefined" error message in the extension selection app. This extension was working just fine a couple of days ago. I've rebooted and restarted GNOME Shell multiple times as well as removed and reinstalled the extension, but nothing has helped.

Daryl

Settings brings up blank window

Describe the bug
When opening the settings all that appears is a blank window. It took several attempts before it became clear that the settings were displayed higher up on the page if scrolled up. This is a very minor issue but one that could affect user retention. Should be easy to fix.

To Reproduce
Steps to reproduce the behavior:

  1. Install gNordVPN-Local
  2. Open Settings (From gnome-shell panel, extensions, extension-manager)
  3. Blank window appears
  4. Scrolling up reveals the settings but it took several tries to figure this out.

Expected behavior
The settings appear.

Screenshots
gNordVPN-Local

  • Device: Desktop PC
  • OS: Debian GNU/Linux 12 (bookworm) x86_64
  • DE: GNOME 43.6

Text not centered in icon

Describe the bug
Text not centered in the dock icon (for any style).

To Reproduce
Just installed it.

Expected behavior
Centered text in dock.

Screenshots
image

Desktop (please complete the following information):

  • OS: Ubuntu 22.04.1 LTS, Gnome 42.4
  • Browser: Chrome

Additional context

Error when trying to install

This extension gives an error when trying to turn it on.

I am running Ubuntu 20.04.3 and GNOME Shell 3.36.9. My NordVPN version (installed using their most up-to-date .deb package) is 3.12.2.
image
I clicked the upgrade button multiple times, but it reappears every time.
In the Tweaks application it does show up, but with an error message and no way to flip the switch.
image

I would say it is some kind of version support issue. However, I have no experience with this, so I also don't know how to extract more information about the error message and exact problem. I am sorry if this Issue turns out to be more of a tech support :S

EDIT
I restarted my computer, and it seems to work now.

Compatibility with Ubuntu 22.04 - Gnome-Shell 42.1

I'm looking at upgrading to Ubuntu 22.04 in the near future and have been trying to get your shell extension to work.

Unfortunately gnome-shell-extension-prefs flags it was "The extension is incompatible with the current GNOME version."

Was compatibility with the latest LTS release of Ubuntu something you could look at please.

Create cities menu

Create a Cities menu below the country menu that holds a list of Countries. Clicking on the country will expand a sub menu of the cities for that country. Clicking on a city will use that server.

A/C:
* A city menu exists as per description
* Configuration persists across sessions
* Countries with no cities do not show up in menu

Improve Documentation

The github documentation is based on the original doc from the fork. The extension has been enhanced significantly since then. The documentation and screenshot should reflect that.

A/C

  • Updated the documentation to reflect the current state of the software.
  • Added multiple screenshots showing the current UI

can't convert null to object

i have tried several times to reinstall, system is fully up-to-date, Kali at the moment.

when i click on "on" it then says: "can't convert null to object" and doesnt start instead shows this error message.i dont know why this happens. please help! :D

Desktop still getting blocked after PR #67

Hi!

I was looking forward to your development on the async calls to be able actually to use this extension. I was happy when I saw this last PR and pulled the master branch immediately. But it seems that the problem is still there for me. My whole desktop keeps getting completely blocked every time I connect / disconnect / change servers! :(

To Reproduce

  1. Enable the extension
  2. Change the connection status by connecting, disconnecting or changing servers. Either from the extension or directly from nordvpn CLI on the terminal.
  3. Click on the extension
  4. The entire desktop blocks for around 1 min.

Expected behavior
Extension waiting for async response should not block the entire desktop.

Desktop:

  • OS: Fedora Linux 38 (Workstation Edition) x86_64
  • GNOME Shell 44.5
  • gNordVPN-Local on commit d78aaee (branch master)
  • nordvpn CLI version 3.16.6 (repo: repo.nordvpn.com_yum_nordvpn_centos_x86_64)

I'll be happy to try anything you need in order to provide you with more information on the issue.

Thanks!

Customizability of appearance

Great work Isopolito on this extension. I have one request though.
On my screen, it is quite prominent at the moment and I think it would really benefit from a few customizability options.

First of all: I think it would be nice to include a switch or something to 'minimize' it.
so to go from this:
image
To one of these options:
vpnheading
You do have to make sure though that when you click it, the server and status would still be visible in the dropdown.

Secondly, a Monochrome option (where its for example a white box with black text for example), would also be cool.
image
But again, I think this is quite prominent, so a minimized version could help clean it up.

Just some thoughts, let me know what you think!

Causing missed frames on youtube videos

Describe the bug
When disabling all other extensions and just enabling gNordVPN-Local extension, youtube videos using Firefox will miss a frame every 10 or so seconds. This doesn't happen when the plugin is disabled.

To Reproduce

  • Enable plugin
  • Play a youtube video on fullscreen with Firefox

Expected behavior
Play smooth video

Desktop (please complete the following information):

  • OS: Ubuntu 23.04
  • Browser Firefox 113.0.1 (64-bit)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.