note 1: This is an unofficial fork and is not affiliated with the Proton team (or Proton AG).
2: This app is not notarized by Apple, so you may need to allow it in Settings when installing.
3: Most of the code was generated by AI. If you don't use apps that contain AI-generated code, please keep this in mind.
4: I'm subscribed to VPN Plus, so I haven't been able to check whether every feature works on a free account. I didn't change anything related to accounts or connections, so it will most likely work, but if it doesn't, please let me know.
5: If you want to experiment with this app, give it a try. But if not, just assume there is something like this and pass by. My goal is not to increase the number of users of this app, but to get the Proton team interested in the Proton VPN app for Mac again.
---
Unlike the Windows and mobile clients, ProtonVPN for Mac is still using the old design, and there haven't been any commits on GitHub for over 5 months, so I forked it myself and fixed the things I was unhappy with.
Repository: https://github.com/gpdir16/prtvpn-mac
Here's a quick summary of the differences you'll notice as a user (more details below):
- Entire UI rebuilt in a native macOS style
- A firewall feature that replaces the kill switch
- A setting to choose whether to use virtual servers
- No telemetry, no promotions
- You can also sort countries by distance instead of name.
- (Also) You can install it alongside the official app (but don't connect both at the same time)
The biggest difference is that I redesigned most of the screens to be clean like ProtonVPN for Windows, but in a native macOS style.
The next biggest difference is that I removed the kill switch, which never worked properly, and added a feature similar to the firewall in the Windscribe client instead. (For example, in the official app, the user's real IP is exposed when the server is changed: https://x.com/gpdir16/status/2109171272462807442)
The firewall has 3 modes plus an off option, so 4 in total: a mode that works like a normal kill switch, a mode that only allows connections through the VPN tunnel regardless of whether the VPN is connected, and an extreme mode that blocks everything, even connections through the VPN tunnel.
Not sure how many of you care about this, but internally, to make all this work, I removed the official app's tunnel creation through the system network extension and switched to creating the tunnel with a root daemon, like MullvadVPN does. This let me implement things that weren't possible with Apple's extension APIs alone.
When you delete the .app, the daemon automatically removes itself too, so you don't need to worry about leftover files :)
I've now deleted the official app and only use my fork, and I think it would be great if these improvements made it into the official app too.
When I contacted support, they said it was on the roadmap, but I haven’t seen changes yet. If anyone working on the Mac app sees this, I’d really love to see these improvements in the official app.