Giter Club home page Giter Club logo

protonclient's Introduction

ProtonClient

An unofficial desktop client for ProtonMail done with electron nativefier. I just did it because I didn't want to open the browser every time I wanted to check my protonmail, I don't like to use Proton Bridge which is buggy, and I prefer to access protonmail without an intermediary software while keeping desktop notifications and a dedicated app.

Go here for further information about ProtonMail.

GitHub repo size GitHub language count GitHub top language GitHub last commit

Community and support

It is a very new project, but it can grow and get way better, if you want to help please leave a star 🌟 and share it with your friends. You can also start contributing now! If you wish to do so please feel free to fork the project and propose modifications that we can merge. The more we are the better!

You can also consider a donation and remember to check my links.

A coffee is always a gesture of LOVE ❤️

Buy Me A Coffee

About the app

The app is currently released for Windows, Linux, and Mac 64bit. Unfortunately, I can't test the Mac version, so feel free to notify any problems.

The app will remain opened in the system tray and will prompt a notification when you will receive a new mail.

From the app you will be able to use Proton Calendar and Proton Contacts.

Most notably, the account login is persistent between app restart, including OS reboots. Of course, if you don't log off before closing it.

The client, unlike when using the bridge and so SMTP client, will not work with the mail locally; this means that it is like using Proton Mail from the browser.

screenshot-Linux

About ProtonMail

What is ProtonMail?

ProtonMail is the first service that introduced email encryption to the public, it is a project born directly from CERN members that wanted to allow people like dissidents, journalists, independent reporter, or anyone subject to censorship to have access to a secure email service, potentially protecting democracy. ProtonMail has evolved then and has become one of the best e-mail providers for anyone, like me, that pays attention to his privacy and enjoys end-to-end encryption in his communications.

ProtonMail uses end-to-end encryption and zero-access encryption to protect user data. If a server only contains encrypted messages, users have a much higher level of security in the event of a data breach. The use of encryption also prevents ProtonMail from being able to decrypt, read, or share user emails with third parties. ProtonMail does not receive funding through advertising, so we have no incentive to spy on users or build detailed user profiles. ProtonMail’s security extends beyond just strong encryption and includes features designed to mitigate human vulnerabilities, such as two-factor authentication and anti-phishing safeguards.

Furthermore, the Swiss Laws protects your data from anyone who will want to access your data, including governments, it just prohibits them to do so.

Most importantly, they don't use ads, so they aren't selling your data. They simply make money with their convenient paid plans, don't worry there is also a free plan for starters.

Recently they created a VPN service (ProtonVPN) which may be even more when useful paired with a secure mail provider.

Anyways if you need further information or need to subscribe (in fact you need to subscribe to use this client lol) go here.

Security notice about this client

You can verify via the building process and source that I am using the legit ProtonMail link, regarding any other security concern ProtonMail is one of the most trusted and secure mail providers; furthermore, this client is just like having ProtonMail in a Chrome window. This means that you are not going to store any mail on your PC. Like in browser, you're going to storage your login cookies anyways that's why I always recommend encrypting your disk because every software will leave some traces! Unlike many others unofficial clients, it doesn't ask for your 2FA secrets which shouldn't be never gave away.

Install

Please head to the release section to find ready to use installers for Windows, Linux distros and Mac.

Build

To build this client you need to set up and install Node.js and Nativefier. Once Node.js is installed, simply run the npm install command in the repository's root folder to install Nativefier. Once that's done, you will be able to run the build scripts below.

You can build it from Windows, Linux, or Mac, but you will need wine or Windows to build it for Windows. Please refer to Nativefier's documentation for more information.

Windows

When everything has been set up, run from PowerShell:

node .\proton_client_win.js

Once it finishes, you will have a build folder ready to use.

You can also build for Linux or Mac using:

node .\proton_client_linux.js

or

node .\proton_client_mac.js

Linux

I created a small bash script for Linux to make the build faster. Just run build.sh from your shell with one of these arguments:

--win

To build for Windows

--linux

To build for Linux

--mac

To build for Mac

--all

To build for all the platforms.

Mac

I don't own a Mac but using node via terminal you should be able to build exactly like in Windows or Linux.

License

MIT

Visits Badge

protonclient's People

Contributors

goshawk22 avatar secpriano avatar seinopsys avatar steccas avatar

Stargazers

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

Watchers

 avatar  avatar

protonclient's Issues

Support Flatpak/snap/Appimage

Hi
Nowadays flatpak/appimage/snap can cover multiple distributions without bound by packaging. Is it possible to support Flatpak/Appimage/Snap?

App won't open.

Linux Mint 21.2 Cinnamon. I installed the .deb, I tried twice, once using the GDebi installer and the second time from the terminal. When attempting to start the app nothing at all happens.

Nativefier old build detected

Hello,
getting this error when opening the application, this started as of yesterday.
image

Everything still works, but I can only assume it should be updated.

won't build on MacOS 11.3.1 with current node (from Homebrew)

Building on MacOS Big Sur 11.3.1. Sorry - this error listing is beyond my capabilities.

./build.sh --mac
Building for Mac

Preparing Electron app...

Converting icons...

Packaging... This will take a few seconds, maybe minutes if the requested Electron isn't cached yet...
Packaging app for platform darwin x64 using electron v11.3.0
Error: Cannot find module '/Users/fred/Downloads/ProtonClient/node_modules/xmldom/lib/dom-parser.js'. Please verify that the package.json has a valid "main" entry
    at tryPackage (node:internal/modules/cjs/loader:349:19)
    at Function.Module._findPath (node:internal/modules/cjs/loader:562:18)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:927:27)
    at Function.Module._load (node:internal/modules/cjs/loader:774:27)
    at Module.require (node:internal/modules/cjs/loader:1013:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at Object.<anonymous> (/Users/fred/Downloads/ProtonClient/node_modules/plist/lib/parse.js:5:17)
    at Module._compile (node:internal/modules/cjs/loader:1109:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
    at Module.load (node:internal/modules/cjs/loader:989:32)
    at Function.Module._load (node:internal/modules/cjs/loader:829:14)
    at Module.require (node:internal/modules/cjs/loader:1013:19)
    at require (node:internal/modules/cjs/helpers:93:18)
    at Object.<anonymous> (/Users/fred/Downloads/ProtonClient/node_modules/plist/index.js:5:23)
    at Module._compile (node:internal/modules/cjs/loader:1109:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10) {
  code: 'MODULE_NOT_FOUND',
  path: '/Users/fred/Downloads/ProtonClient/node_modules/xmldom/package.json',
  requestPath: 'xmldom'
}

Multiple accounts support and app password-protected

Hi, thanks for the app, it's really useful for me to use ProtonMail. But i have 2 feature requests that i think your desktop app should have which are below:

  • Supporting multiple account logged in at the same time, for example i have 3 - 4 mail accounts and i would like to have notification for all of these emails if any new email is sent, user won't have to switch accounts from time to time.
  • Desktop app password-protected, i thinnk this is kinda important for users because we all like ProtonMail for its privacy, what if people have physical access to our emails, right?

Please consider these requests. Thanks so much.

App doesn't open. Blank screen

I have installed the app just yesterday. It worked fine then. But today I can't seem to open it. It is just stuck with a blank, white screen.

image

Any ideas on what can be done?

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.