Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Why is the Mullvad client so large in filesize? (66MB) #1572

Closed
825i opened this issue Mar 16, 2020 · 6 comments
Closed

[Question] Why is the Mullvad client so large in filesize? (66MB) #1572

825i opened this issue Mar 16, 2020 · 6 comments

Comments

@825i
Copy link

825i commented Mar 16, 2020

Just a quick question, I'll close the ticket after I get a good answer.

As the title says, why is the client so large? I realise it's now bundled with Wireguard but I remember the client being a LOT smaller previously.

What changed (apart from bundling Wireguard which is only a few MB)?

@faern
Copy link
Member

faern commented Mar 16, 2020

Neither WireGuard, nor OpenVPN or Shadowsocks or any of that contribute noticeably to the file size. The vast majority of the size comes from the fact that the GUI uses Electron, which in turn bundles all of the Chromium browser engine and surrounding resources. This is a bit unfortunate. But it was the only way to get a UI working for all platforms within reasonable time.

Given that you quote 66 MiB I assume you are mostly interested in the Windows version of the app. We can go way back to the very first release of the Windows app, 2018.2. You can see that the installer for that version was 77 MiB. So it has not really increased much overall. Instead the size has gone up and down over many releases as we have upgraded Electron and added other features as well as done some optimizations here and there to cut out some dead weight.

Maybe you refer to our old and deprecated Python 2 client that has not existed for years? That one was considerably smaller indeed. But they are not really comparable in features nor looks nor security. File size is almost the only benefit that old version had. It was way less secure and it looked very ugly compared to this one.

@825i 825i closed this as completed Mar 16, 2020
@825i
Copy link
Author

825i commented Mar 16, 2020

Thanks a lot for such a detailed answer. I didn't realise it uses Electron because it was made in Rust.

@faern
Copy link
Member

faern commented Mar 16, 2020

The system service managing the security and VPN tunnels is indeed written in Rust (And C++ on Windows). The CLI is written in Rust as well. However, the GUI is a TypeScript program running on Electron.

@NilsIrl
Copy link

NilsIrl commented Oct 15, 2021

On an M1 Macbook, installing mullvad quoted more than 500MB required. How? Why? It would be really nice if this could be improved.

@smartynov
Copy link

I second that, dedicating 500 mb for a VPN client feels terribly wrong....

@entozoon
Copy link

Circling back to this all these years later, is it time to look into another GUI technique, or access to the CLI directly?
Electron requiring more storage than Halflife is madness..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants