ProtonVPN / linux-cli

Official ProtonVPN Linux app (CLI)
https://protonvpn.com/download-linux
GNU General Public License v3.0
332 stars 42 forks source link

Is this repo still being maintained? #64

Open ElmoTheWizard opened 2 years ago

ElmoTheWizard commented 2 years ago

The last commit was 3 months ago, while the windows app was updated 13 days ago.

calexandru2018 commented 2 years ago

Hey @ElmoTheWizard

Yes, all repos are being maintained, although it should be noted that we are currently working a new and improved multi-platform client which will support Wireguard and should not be fully dependent on NetworkManager nor keyring backends (as currently we're tied to Gnome-keyring and KWallet). Thus it should allow even more distros to use our official client without having hard dependencies baked in.

Either way, we'll be releasing a couple new features for the current client in the coming weeks, stay tuned :)

PS: Please don't close this issue, as other might find this useful.

alexandrevicenzi commented 2 years ago

@calexandru2018 let distributions get an early preview if possible, so we can adapt our packages :smile:

bionicworx commented 2 years ago

@calexandru2018 Any updates on this upcoming multi-platform release? Any way we can test it yet?

Redsandro commented 2 years ago

we are currently working a new and improved multi-platform client

This sounds good. Can we track this new version somewhere? Is it open source?

Bruflot commented 2 years ago

Either way, we'll be releasing a couple new features for the current client in the coming weeks, stay tuned :)

Four months later and these updates are nowhere to be seen. Are we ever getting Wireguard support? It's over a year since Wireguard support was added for other platforms, whereas Linux users are left waiting with no ETAs or updates in sight.

benstockil commented 1 year ago

Will the new client still depend on systemd?

FillingTheVoidOnYT commented 1 year ago

hopefully this new client brings an flatpak or appimage, many people hate installing stuff from terminal

alastortenebris commented 1 year ago

hopefully this new client brings an flatpak or appimage, many people hate installing stuff from terminal

Flatpaks are terrible for applications with system level integration. I don't think any sort of permission setup will allow it to work.

GloriousWizard commented 1 year ago

make the new repo public. I've been waiting for months and I honestly don't care if it's broken. I just need to see something

Nottt commented 1 year ago

It's a shame the linux client is basically useless...there is no offficial/easy way to run at boot and I tried lots of stuff.

And with this thread i know this client won't have any future...so probably better for me to cancel my protonvpn and switch to another provider that is more linux friendly !

benstockil commented 1 year ago

@Nottt I'm using the Wireguard configurations until the new client is released publicly. It works well enough for now, but the lack of news from the dev team concerns me about how long I'm going to be stuck with this workaround.

LunaDoll commented 1 year ago

Hi, when the new version is available, can you please post info it here?

I watched this topic :-)

FillingTheVoidOnYT commented 1 year ago

It's a shame the linux client is basically useless...there is no offficial/easy way to run at boot and I tried lots of stuff.

And with this thread i know this client won't have any future...so probably better for me to cancel my protonvpn and switch to another provider that is more linux friendly !

mullvad has a great linux client

Slayer5934 commented 1 year ago

iVPN has a good linux client as well, and has working UPnP from my experience (for some reason Mullvad did not port forward correctly, even after setting a port online.)

Can't believe it's taking so long for a non-jank linux client, and they are not giving status updates either; Proton looking a little corporate from where I sit, and not in a good way.

Zylquinal commented 1 year ago

Seven month's later, still no wireguard support.

ghost commented 1 year ago

Hey, @calexandru2018

~A half year has passed~ Eight months have passed since https://github.com/ProtonVPN/linux-cli/issues/64#issuecomment-1058224569, still no wireguard support, no visible significant development.

It is a real pain to wait without knowing roughly when they are planned to be done. I know you are probably very busy, but can you give us regular updates on the internal progress and development plans?

calexandru2018 commented 1 year ago

Hey @jbas23

I'll copy/paste what I've wrote on another ticket:

Apologize for not being much active here, but we're currently working really hard on the new client, so that we don't have the same dependency issues that we currently have.

The idea for the new client is to be as modular as possible, meaning that if someone would like to run native backends instead of 3rd party (ie native openvpn/wg vs NM openvpn/wg ) that would happen transparently. The only difference would be which packages are required (we'll be creating meta-packages that help with installation). Apart from that we're working also on making the applications in general to be much more reliable, and all of this takes time. Initially the rebuild app won't have many features, but we intend in releasing it gradually.

At this current point we have some of the sub-packages written, and we're working mostly in refining (quality and reliability) some of them and at the same time re-writing the apps.

GloriousWizard commented 1 year ago

Why not make the project public? Even if it's far from stable, it will make people stop asking about the progress of the new client.

Anonymous941 commented 1 year ago

Hey ElmoTheWizard

Yes, all repos are being maintained, although it should be noted that we are currently working a new and improved multi-platform client which will support Wireguard and should not be fully dependent on NetworkManager nor keyring backends (as currently we're tied to Gnome-keyring and KWallet). Thus it should allow even more distros to use our official client without having hard dependencies baked in.

Either way, we'll be releasing a couple new features for the current client in the coming weeks, stay tuned :)

PS: Please don't close this issue, as other might find this useful.

@calexandru2018

Can you make the client public? Then the open-source community can actually help it go faster. Unless, of course, you made no progress at all.

ghost commented 1 year ago

Hey @jbas23

I'll copy/paste what I've wrote on another ticket:

Apologize for not being much active here, but we're currently working really hard on the new client, so that we don't have the same dependency issues that we currently have. The idea for the new client is to be as modular as possible, meaning that if someone would like to run native backends instead of 3rd party (ie native openvpn/wg vs NM openvpn/wg ) that would happen transparently. The only difference would be which packages are required (we'll be creating meta-packages that help with installation). Apart from that we're working also on making the applications in general to be much more reliable, and all of this takes time. Initially the rebuild app won't have many features, but we intend in releasing it gradually.

At this current point we have some of the sub-packages written, and we're working mostly in refining (quality and reliability) some of them and at the same time re-writing the apps.

It's great to hear that some progress is being made. I'm sure everybody would appreciate little updates like this one from time to time. We are anxiously waiting for a new Proton VPN client. The current one is practically unusable, not to mention missing several features.

I appreciate what you guys are doing and understand that it is a lot of work to build a new client. But it's not easy waiting (with no updates or ETAs) when I am paying for an Unlimited account.

calexandru2018 commented 1 year ago

Thank you all for the feedback.

About releasing it public while still in development, it's tricky, mainly due to the fact the we don't want the client to be usable by anyone while it's in pre-alpha, given that certain things are still not in place to assure that connections are reliable and secure.

On another note, we'll soon start working on a roadmap definition for the Linux client, and then we'll be able to share it with everybody.

Anonymous941 commented 1 year ago

Thank you all for the feedback.

About releasing it public while still in development, it's tricky, mainly due to the fact the we don't want the client to be usable by anyone while it's in pre-alpha, given that certain things are still not in place to assure that connections are reliable and secure.

On another note, we'll soon start working on a roadmap definition for the Linux client, and then we'll be able to share it with everybody.

@calexandru2018 Thanks for the update. I have an idea: make the client connect to a separate testing server that doesn't allow access to the Internet and the only site you can visit is something like "test.invalid" which resolves to a Proton-controlled server. That way, no matter how insecure the connection is, it won't put anyone at risk or at a false sense of security and the open-source community can help the development go faster.

ghost commented 1 year ago

Thank you all for the feedback.

About releasing it public while still in development, it's tricky, mainly due to the fact the we don't want the client to be usable by anyone while it's in pre-alpha, given that certain things are still not in place to assure that connections are reliable and secure.

On another note, we'll soon start working on a roadmap definition for the Linux client, and then we'll be able to share it with everybody.

I understand not wanting to open up a pre-alpha or even alpha build to the public. As a privacy/security focused VPN, I think that it would be irresponsible if people could use a half-finished product.

Thanks! We would greatly appreciate a roadmaps and something to look forward to

Anonymous941 commented 1 year ago

Thank you all for the feedback. About releasing it public while still in development, it's tricky, mainly due to the fact the we don't want the client to be usable by anyone while it's in pre-alpha, given that certain things are still not in place to assure that connections are reliable and secure. On another note, we'll soon start working on a roadmap definition for the Linux client, and then we'll be able to share it with everybody.

I understand not wanting to open up a pre-alpha or even alpha build to the public. As a privacy/security focused VPN, I think that it would be irresponsible if people could use a half-finished product.

Thanks! We would greatly appreciate a roadmaps and something to look forward to

@orange-tin I understand that, but why not publish it with a test server as said above? That way there's no risk and a great reward for both Proton and its users.

juxuanu commented 1 year ago

I think maintaining a Linux CLI utility is a waste of time and efforts that would be better used somewhere else, for example a Proton Bridge that exposes not only mail, but the Drive through something like WebDAV and the Calendar through something like WebCAL.

There are many difficulties with lots of moving parts. NetworkManager is the most used network manager, but there is also systemd-networkd, netctl, ConnMan, etc. And then, there are other moving parts like DNS resolvers, which work differently and compete on the same file /etc/resolv.conf. Then there are the user configurations for different interfaces that easily conflict and there is no easy way to manage that transparently.

Meanwhile, you already offer downloadable configurations for WireGuard and OpenVPN on your website (https://account.protonvpn.com/downloads) and that makes it really easy to add to any Linux install, because most DEs already offer a GUI for managing VPN connections (as example, see my Gnome menu: https://i.imgur.com/XLH29lB.png, all of those connections are added with sudo nmcli con import type wireguard file path/to/wireguard_config.conf but can also be added from the network configuration panel) and if the user is a using a WM, they can use wg-quick.

One place it would be nice to put some developer time into is allowing to download a configuration file for a whole country for WireGuard, instead of having to choose a server. Another good improvement would be to generate WireGuard config files that had names NetworkManager accepted for importing directly --- currently the downloadable .conf files are not importable as VPN configs (I think uppercase is not allowed, etc).

Redsandro commented 1 year ago

I think maintaining a Linux CLI utility is a waste of time

Disagree.

I use the CLI utility on a daily basis. At least it works fast. I don't have time for the slow GUI to connect and load. Keep both, but if anything, remove GUI.

Startup Applications:

Keyboard Shortcuts:

It's near instant. The GUI is less integrated and takes 10 seconds to load/connect for some reason.

juxuanu commented 1 year ago

That means there are connections going out of your computer before you connect to the VPN. That being the default for such a project as Proton is bad (they don't provide anything to prevent that, and your solution is as good as creating your own systemd service, which is bad UX).

aidlran commented 1 year ago

they don't provide anything to prevent that

What about protonvpn-cli ks --on?

For what it's worth, I primarily use the CLI and the only gripe I have with it is that I've never been able to get it to work properly on headless servers.

christian-taillon commented 1 year ago

Looking for an update on this. The 1.12.0 app still has issues. However, it doesn't make sense to open issues here if the agent is to be completely replaced. But GNU/Linux users still have significant issues that the FOSS community can't help support with PRs or provide reports/logs for until we know whats going on with the new agent.

calexandru2018 commented 1 year ago

Hey all here, first of all I would like to thank for everyone's patience. I know we didn't really communicate much about our progress. Tbh it was hard to provide any proper feedback, since we had a lot of things to do. But today I would like to share some important info here: We're currently preparing the new client for a closed alpha release! (and by new client I mean the GUI, as the CLI will come later) This new client should fix most of the issues that people experience with the current one (memory leaks, app getting stuck, slow app start, etc). And to reemphasize, given that it'll be an alpha, some things will still be missing (generally error handling). Also, given the new architecture, it will allow the client to grow faster in implementing new things, ie protocols or other features. Lastly, it will allow us to further extend our client to non-NM dependent environments, ie headless machines with a proper CLI without NM dependencies (we're fully aware of this need, and we're committed in supporting it as soon as other bases are in place).

alexandrevicenzi commented 1 year ago

@calexandru2018 can you include the community/maintainers in the closed alpha release? as a package maintainer for openSUSE, I would like to test it and possibly, repack the new client and offer as soon as it is released publicly.

As I mentioned before, openSUSE infra can build packages for most distributions, including Ubuntu, Fedora, and Arch. You could manage most distros in one place only.

Anonymous941 commented 1 year ago

@calexandru2018 What is a "closed alpha" release exactly? Does that mean that it will be closed-source, or that only Proton employees can access it?

calexandru2018 commented 1 year ago

@Anonymous941 It means that a limited amount of people outside of Proton will be invited to test the application and provide feedback, and yes at this point it will be "closed-source" (the code won't be hosted anywhere for now), although worth pointing out that since it's Python one can easily inspect the code, thus it will never be completely closed source as windows applications.

Anonymous941 commented 1 year ago

@calexandru2018 Okay, I still don't understand the secrecy around this, but thanks for letting us know that you're making progress.

keithfancher commented 1 year ago

This new client should fix most of the issues that people experience with the current one (memory leaks, app getting stuck, slow app start, etc).

Thanks @calexandru2018, that's great news!

A related question: does that mean that the current client will not receive further updates/improvements? I've only begun using Proton VPN recently and I actually came here to file several bug reports, requests for basic usability improvements, etc. :sweat_smile:

It seems like I probably should just wait to file anything? (And in fact it looks like trying to file a bug just redirects me to customer support...)

I'll also jump on the bandwagon and ask if there's a (even very rough!) timeline for the new client release. Like... weeks/months/years?

I'm asking specifically because the reason I upgraded my subscription to "unlimited" was for the VPN. I'll probably downgrade back to "mail plus" until the new client comes out (and is stable, etc.). I'm sure there are other folks in the same boat!

Not trying to complain so much as continue to raise visibility. I understand that Linux user-share probably isn't huge or anything, but... this (semi?) abandoned VPN client is probably losing y'all some money!

Anyway... I love Proton as a company and really appreciate all the awesome stuff y'all do! Keep it up! :sparkling_heart:

alexandrevicenzi commented 1 year ago

@keithfancher you can download OpenVPN and WireGuard configurations from Proton VPN dashboard and use standard Linux clients or even integrations with Gnome/KDE while the new Linux client is not available. It is even possible to connect IKEv2 (StrongSwan), but no files are provided for that.

The current Linux app does not even support WireGuard or Stealth, while the macOS supports all protocols.

calexandru2018 commented 1 year ago

A related question: does that mean that the current client will not receive further updates/improvements?

That is correct @keithfancher , we won't be pushing any new updates to the current client since we're mainly focused on the new app for this closed-alpha release, and depending how that'll go we'll plan for the next steps. About the timeline, it's a bit difficult to say mainly because we have many things in the pot that we'll have to work on (also we're currently recruiting a 3rd person). Either way, don't take my word for granted (as things can get delayed), but we're aiming for releasing still this year.

Anonymous941 commented 1 year ago

@keithfancher you can download OpenVPN and WireGuard configurations from Proton VPN dashboard and use standard Linux clients or even integrations with Gnome/KDE while the new Linux client is not available. It is even possible to connect IKEv2 (StrongSwan), but no files are provided for that.

The current Linux app does not even support WireGuard or Stealth, while the macOS supports all protocols.

@alexandrevicenzi The problem with that is it won't automatically choose a server, so if a particular server is overloaded or unavailable, you have to download a new configuration manually.

keithfancher commented 1 year ago

That is correct @keithfancher , we won't be pushing any new updates to the current client since we're mainly focused on the new app for this closed-alpha release

Either way, don't take my word for granted (as things can get delayed), but we're aiming for releasing still this year.

Thanks @calexandru2018, I appreciate it! I know what it's like being asked for estimates.

Sounds like y'all are pretty understaffed and I'm sure it's not your decision directly, but I will say: leaving a clearly half-finished client as the only option for (paying) customers while a new client is in the works -- and scrolling up, this thread has been open for over a year now -- well, I think y'all will start to burn through good will pretty quickly :grimacing:

My honest suggestion would be: take a pause from the new client development for a month. Squash some bugs. Plug some memory leaks. Make the current client stable and unbroken. (Not talking new features even, just... not broken.) Put it in a decent spot, then leave it to focus on the new client. (And even then, if bugs come up in the old client, I think you have a responsibility to fix them.)

Also, seeing something happen on the current client will also make your (paying!) customers feel less abandoned. (Take me for example: as I said, I love the Proton mission, but even I feel like this is a bit of a bait-and-switch.)

Anyway, my 2 cents :sweat_smile: ... obviously y'all have your internal priorities, etc.

(And I'm happy to send this feedback via support channels or whatever, if that helps with visibility. I just assume support tickets go into a black hole, usually.)

EDIT: For what it's worth, I posted some more detailed feedback on the Proton VPN subreddit. I figure that might have a bit more visibility than these issue threads.

keithfancher commented 1 year ago

(also we're currently recruiting a 3rd person)

BTW, I found the job post for the position they're recruiting for, if anyone in Europe is feeling feisty and wants to help, haha :smile:

(I actually asked if Proton hires remote in the US a while ago, and it seems like they don't.)

kazin-kharizma commented 1 year ago

Sounds like y'all are pretty understaffed and I'm sure it's not your decision directly, but I will say: leaving a clearly half-finished client as the only option for (paying) customers while a new client is in the works -- and scrolling up, this thread has been open for over a year now -- well, I think y'all will start to burn through good will pretty quickly 😬

My honest suggestion would be: take a pause from the new client development for a month. Squash some bugs. Plug some memory leaks. Make the current client stable and unbroken. (Not talking new features even, just... not broken.) Put it in a decent spot, then leave it to focus on the new client. (And even then, if bugs come up in the old client, I think you have a responsibility to fix them.)

Also, seeing something happen on the current client will also make your (paying!) customers feel less abandoned. (Take me for example: as I said, I love the Proton mission, but even I feel like this is a bit of a bait-and-switch.)

Anyway, my 2 cents 😅 ... obviously y'all have your internal priorities, etc.

(And I'm happy to send this feedback via support channels or whatever, if that helps with visibility. I just assume support tickets go into a black hole, usually.)

EDIT: For what it's worth, I posted some more detailed feedback on the Proton VPN subreddit. I figure that might have a bit more visibility than these issue threads.

A colleague and I were able to run 7 testing scenarios on satisfaction and loyalty using an algorithm we have at work and. In those scenarios, 5/6 ended overwhelmingly favorable (1 errored) based on the suggestion you provided above vs. charging ahead with the new app.

My own communications with Proton that used the “complexity” of Linux as an excuse and their recent quotation of market share for Linux users is all adding il to say that Proton is charging Linux users the same price for an inferior product that cannot even uphold their own TOS and Privacy Policy. In my country, such practices are grounds for investigation from regulatory bodies. I’ve already submitted a report to the Privacy Commissioner among others. I’ve been talking with them for 6 months and this has been going on for a year. I supported their side of it for a long time but it’s clear that Linux clients are not a priority and they don’t value our business despite demanding we spend the same amount.

funkyfuture commented 1 year ago

(I actually asked if Proton hires remote in the US a while ago, and it seems like they don't.)

you could be NSA.

schmitmd commented 1 year ago

Looks like it's party time folks. Give it a shot (and make sure to send feedback)! https://protonvpn.com/support/linux-prerelease/

kazin-kharizma commented 1 year ago

My props to the ProtonVPN team. I will sing the praises if it works well.

szamanr commented 1 year ago

nice, i can see the startup and connection speed are improved! note that for now it's pretty basic still, e.g. AFAICS there's no way to see current connection stats, save profiles, or launch on system startup.

kazin-kharizma commented 1 year ago

nice, i can see the startup and connection speed are improved! note that for now it's pretty basic still, e.g. AFAICS there's no way to see current connection stats, save profiles, or launch on system startup.

Basic is the word for it for sure. It seems to me that they wanted to maybe focus on stabilising the connection itself first. Looks like it runs a bit leaner too. All in all, I’m glad it’s finally here and we can help make it better.

calexandru2018 commented 1 year ago

Hey @szamanr and @kazin-essen

Indeed that was our goal, to be a bit basic for now but at the least improve from the current client. Given that this is a totally new (from scratch) project, our emphasize has been a lot on code quality and robustness. Also, since it's very flexible (if you look at the installed packages, our own that is, it's well over 10), it will allow us to create pluggable components, or even let all of you to contribute easily.

Honestly, it's been long since we started working on this new client, and we're glad the way it's going, hope you all enjoy it as well.

Zylquinal commented 1 year ago

Created protonvpn-bin (unofficial) for Arch user out there, it's working like a charm. It only have limited feature from what I'm seeing ,but i think it's an improvement!

image

kazin-kharizma commented 1 year ago

Hey @szamanr and @kazin-essen

Indeed that was our goal, to be a bit basic for now but at the least improve from the current client. Given that this is a totally new (from scratch) project, our emphasize has been a lot on code quality and robustness. Also, since it's very flexible (if you look at the installed packages, our own that is, it's well over 10), it will allow us to create pluggable components, or even let all of you to contribute easily.

Honestly, it's been long since we started working on this new client, and we're glad the way it's going, hope you all enjoy it as well.

Oh boy those last two bits are fun to unpack. First of all, yes, it would be great if we could contribute easily, even if it is only a select few of us. Your bug bounty program and its guidelines could be a great way to ensure proper intent maybe. Not really my area but I digress.

Secondly, it has been a long time since work started on this and since my initial chats in October when I was told the new client was being worked on. I will admit I had become a bit cynical, especially over on Reddit about your lack of communication to the Linux community and how it was hurting you guys. When I saw the Twitter pole, I was under no illusions that it was a bastion of survey wonder but it was good to cast some visibility on the project. Linux users aren't coders and programmers, enthusiasts and privacy advocates alone anymore. Distributions are being developed for the everyday user more and more these days and for them, understanding a sudo command or recognising that they have control over their desktop environment via the command line is "techy" enough.

Approaching Windows, MacOS, iOS, Android and Linux users with the same discourse, level of engagement and achieving feature parity should be the goal moving forward, lest you alienate and draw ire from your users. Nobody should have to pay the same price and get less of a product unless you intend to point that out in your "features" section before they buy.

All in all though, I am please. Keep it up guys and don't drop the ball. :)

kazin-kharizma commented 1 year ago

Created protonvpn-bin (unofficial) for Arch user out there, it's working like a charm. It only have limited feature from what I'm seeing ,but i think it's an improvement!

image

DUDE, this answers the question of a Reddit user who, in my exhaustion yesterday, I was very short in my reply to. I've since apologised and asked him to hang tight while I look at it myself. Thank you!