Repolode
ProtonMail

ProtonMail/WebClients

Monorepo containing the source for Proton's web clients, including Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet.

Open-source alternative to:GmailGoogle CalendarGoogle Drive

Stars
5,678
Forks
741
Open issues
158
Last commit
8 hours ago

What is it?

This monorepo hosts the web applications behind Proton's services, including Proton Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet. It also contains the shared dependencies, common modules and development tooling used across these clients.

The repository is managed with pnpm and pnpm workspaces, with all packages sharing a unified version. Each application can be started individually with a pnpm filter command, and a shared catalog in pnpm-workspace.yaml keeps common dependency versions aligned across workspaces.

The VPN experience is served in two ways: through protonvpn.com via the vpn-settings app, and through account.proton.me via the account app. Both entry points share code from the common component and shared packages.

Key features

  • 01Hosts web clients for Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet.
  • 02Uses pnpm workspaces with unified versioning across packages.
  • 03Shares components and utilities through common packages such as @proton/components and @proton/shared.
  • 04Supports running each application on its own with a pnpm filter command.
  • 05Centralizes shared dependency versions through a pnpm catalog.

Use cases

  • Studying how a large production TypeScript and React monorepo is organized with pnpm workspaces.
  • Contributing to or auditing the web clients of Proton's encrypted services.
  • Reusing the shared component and utility packages as a reference for multi-app frontend projects.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/ProtonMail/WebClients.git
  2. 2

    Install all monorepo dependencies with pnpm

    pnpm install
  3. 3

    Run the Proton Mail web client

    pnpm --filter proton-mail run start

Things to know

  • Requires Node.js and pnpm at versions that satisfy the root package.json engine floors, and engine-strict makes installs fail otherwise.
  • This is a large monorepo covering nine web apps, so the setup is heavier than a single-app project.
  • Licensed under GPL-3.0, so derivative distributions must also be released under copyleft terms.

In collections

Topics

#monorepo#pnpm#react#typescript#webmail#encryption#pgp#protoncalendar#protoncontacts#protondrive

FAQ

What is WebClients?
Monorepo containing the source for Proton's web clients, including Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet. This monorepo hosts the web applications behind Proton's services, including Proton Mail, Calendar, Drive, Account, VPN, Pass, Wallet, Lumo and Meet. It also contains the shared dependencies, common modules and development tooling used across these clients.
Is WebClients free to use? What license does it have?
WebClients is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is WebClients still maintained?
Actively maintained. The last commit to WebClients was on Nov 6, 2026.
What can I use WebClients for?
Studying how a large production TypeScript and React monorepo is organized with pnpm workspaces. Contributing to or auditing the web clients of Proton's encrypted services. Reusing the shared component and utility packages as a reference for multi-app frontend projects.
How do I install WebClients?
Clone the repository: git clone https://github.com/ProtonMail/WebClients.git Install all monorepo dependencies with pnpm: pnpm install Run the Proton Mail web client: pnpm --filter proton-mail run start
Where can I get WebClients?
The source code and installation instructions are on GitHub: https://github.com/ProtonMail/WebClients

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects