• This repository has been archived on 11/Aug/2021
  • Stars
    star
    115
  • Rank 305,916 (Top 7 %)
  • Language
    TypeScript
  • Created about 4 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Proton Drive

Proton Drive built with React.

⚠ If you use Windows plz follow this document before anything else how to prepare Windows

Basic installation

⚠️ if you are a proton dev, you will need the file appConfig.json

To set up the project, follow the steps below:

  1. Clone the repository
  2. $ npm ci
  3. $ npm start

It's going to create a server available on https://localhost:8080

cf:

$ npm start

> [email protected] start /tmp/proton-drive
> proton-pack dev-server $npm_package_config_publicPathFlag --appMode=standalone

[proton-pack] Missing file appConfig.json.
[proton-pack] [DEPREACTION NOTICE] Please rename your file env.json to appConfig.json.
[proton-pack] Missing file env.json.
[proton-pack] ✓ generated /tmp/proton-drive/src/app/config.ts
➙ Dev server: http://localhost:8081/drive/
➙ Dev server: http://192.168.1.88:8081/drive/
➙ API: https://mail.protonmail.com/api


ℹ 「wds」: Project is running at http://localhost/
ℹ 「wds」: webpack output is served from /drive/
ℹ 「wds」: Content not from webpack is served from /tmp/proton-drive/dist
ℹ 「wds」: 404s will fallback to /drive/
ℹ 「wdm」:    3196 modules
ℹ 「wdm」: Compiled successfully.

Here on the port 8081 as the 8080 was not available. We auto detect what is available.

Commands

  • $ npm start

Run develop server with a login page (mode standalone). It's going to run a server on the port 8080 if available.

If it is not available we auto detect what is available

  • $ npm test

Run the tests

  • $ npm run lint

Lint the sources via eslint

  • $ npm run pretty

Prettier sources (we have a hook post commit to run it)

  • $ npm run check-types

Validate TS types

  • $ npm run bundle

Create a bundle ready to deploy (prepare app + build + minify)

more informations

  • $ npm run build

Build the app (build + minify). Bundle will run this command.

  • $ npm run build:standalone

Same as the previous one BUT with a login page. When we deploy live,the login state is on another app.But when we only deploy this app when we dev, we need to be able to login.

  • $ npm run deploy and $ npm run deploy:standalone

It's to deploy to a branch deploy-branch. A bundle based on build or build:standalone.

Flags:

  • --api <key>: type of api to use for deploy ex: blue,dev,proxy,prod
  • --branch <deploy-branch>: target for the subdomain to deploy

more informations

  • $ npm run i18n:validate**

Validate translations (context, format etc.)

Create a new version

We use the command npm version

Help us to translate the project

You can help us to translate the application on crowdin

More Repositories

1

WebClients

Monorepo hosting the proton web clients
TypeScript
4,315
star
2

proton-mail-android

Proton Mail Android app
Kotlin
1,741
star
3

ios-mail

Secure email that protects your privacy
Swift
1,439
star
4

proton-bridge

Proton Mail Bridge application
Go
1,137
star
5

gopenpgp

A high-level OpenPGP library
Go
1,018
star
6

proton-python-client

Python Proton client module
Python
343
star
7

gluon

An IMAP server library written in Go
Go
339
star
8

go-crypto

Fork of go/x/crypto, providing an up-to-date OpenPGP implementation
Go
323
star
9

react-components

List of React components for Proton web-apps
TypeScript
177
star
10

proton-mail

React web application to manage ProtonMail
TypeScript
172
star
11

android-mail

Proton Mail Android app
Kotlin
141
star
12

protoncore_android

Proton Core components for Android
Kotlin
129
star
13

design-system

Design system for new Proton project
SCSS
124
star
14

proton-calendar

Proton Calendar built with React.
TypeScript
120
star
15

proton-shared

Shared logic for Proton web-app
TypeScript
71
star
16

go-appdir

Minimalistic Go package to get application directories such as config and cache
Go
63
star
17

inbox-desktop

Desktop application for Mail and Calendar, made with Electron
63
star
18

proton-mail-settings

React web application to manage ProtonMail settings
TypeScript
52
star
19

ct-monitor

A monitoring tool for certificate transparency of ProtonMail's SSL/TLS certificates
Python
42
star
20

go-srp

Go
38
star
21

pmcrypto

TypeScript
37
star
22

go-proton-api

Proton API library used by Go-based clients and tools
Go
32
star
23

gosop

Stateless CLI for GopenPGP
Go
24
star
24

libsieve-php

libsieve-php is a library to manage and modify sieve (RFC5228) scripts. It contains a parser for the sieve language (including extensions) and a client for the managesieve protocol. It is written entirely in PHP 8+.
PHP
21
star
25

mutex-browser

Acquire a mutex in the browser through IndexedDB or cookies
TypeScript
19
star
26

releaser

A release note generator that reads and parses git commits and retrieves issue links from GitHub.
JavaScript
16
star
27

go-mime

Go
15
star
28

encrypted-search

Encrypted search functionality for the browser
JavaScript
14
star
29

proton-account

Proton account settings
TypeScript
13
star
30

sieve.js

Javascript library to wrap sieve configuration
JavaScript
13
star
31

protoncore_ios

Swift
11
star
32

cpp-openpgp

C++
10
star
33

proton-pack

Command to run a dev-server, build etc. with OpenPGP. On top of webpack.
JavaScript
10
star
34

proton-bundler

CLI tools to bundle Proton web clients for deploys
JavaScript
9
star
35

apple-fusion

fusion is a lightweight and easy-to-use UI testing framework built on top of Apple XCTest that supports testing on iOS and macOS platforms. Developed with readability and reliability in mind.
Swift
9
star
36

bip39

JavaScript implementation of Bitcoin BIP39
TypeScript
8
star
37

componentGenerator

CLI to create new components for the Front-End @ ProtonMail.
JavaScript
7
star
38

interval-tree

Red-black interval tree
TypeScript
7
star
39

php-coding-standard

ProtonLabs Coding Standard for PHP_CodeSniffer (extending PER coding style)
PHP
7
star
40

pm-srp

ProtonMail SRP and auth library
JavaScript
7
star
41

source-map-parser

Command line utility to parse js source maps with with node.js
JavaScript
6
star
42

haproxy-health-check

HAProxy Health Check for EXABGP
Python
6
star
43

pt-formgenerator

Html form generator library
JavaScript
6
star
44

account

JavaScript
6
star
45

go-rfc5322

An RFC5322 address/date parser written in Go
Go
6
star
46

proton-translations

6
star
47

go-ecvrf

Golang implementation of ECVRF-EDWARDS25519-SHA512-TAI, a verifiable random function described in draft-irtf-cfrg-vrf-10.
Go
5
star
48

protonmail.github.io

HTML
5
star
49

therecipe_qt

Go
5
star
50

proton-parking

Gatsby website for parking domains
TypeScript
4
star
51

webcrypto-spec

Specification for extension of webcrypto api
HTML
4
star
52

ios-networking

shared networking framworks
Swift
4
star
53

android-fusion

Android Fusion is a extensible lightweight Android instrumented test framework that combines Espresso, UI Automator and Compose Ui Test into one easy-to-use API with the clear syntax, at the same time keeping the native Android frameworks APIs unchanged.
Kotlin
4
star
54

proton-i18n

CLI to manage translations for client apps
JavaScript
3
star
55

proton-lint

Modern eslint config for a more civilized age
JavaScript
3
star
56

fe-proxy

A simple proxy server that redirects to different urls
JavaScript
3
star
57

Illuminate-Foundation

Illuminate Foundation Mirror
PHP
2
star
58

opendkim

This is a fork of https://sourceforge.net/p/opendkim/git/ci/master/tree/
C
2
star
59

logging

go logging
Go
2
star
60

openpgp-interop-test-analyzer

Python scripts to analyze results from the Openpgp interoperability test suite
Python
2
star
61

danger-random_reviewers

Ruby
1
star
62

u2f

JavaScript
1
star
63

react-storybook

Isolated React components from https://github.com/ProtonMail/react-components
JavaScript
1
star
64

key-transparency-web-client

TypeScript
1
star
65

x509-sign

Simple endpoint to sign ASN1 strings
PHP
1
star
66

openpgp-interop-test-docker

Docker image to run the OpenPGP interoperability test suite
Dockerfile
1
star
67

gomobile-build-tool

Go
1
star
68

therecipe_env_darwin_arm64_513

C++
1
star
69

pm-key-transparency-go-client

Go
1
star
70

proton-mobile-test

HTML
1
star