summaryrefslogtreecommitdiffhomepage
path: root/README.md
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2018-09-12 00:03:33 +0200
committerLinus Färnstrand <linus@mullvad.net>2018-09-12 14:28:52 +0200
commita84145f214779268ff35ced07bcbfc7966314cb0 (patch)
treebadcaae44c8b4fbe4ec230d38244b1b9b2b0a8a4 /README.md
parent1697a1f2d5f0f4619c2d8944301f4fcb112e9d81 (diff)
downloadmullvadvpn-a84145f214779268ff35ced07bcbfc7966314cb0.tar.xz
mullvadvpn-a84145f214779268ff35ced07bcbfc7966314cb0.zip
Fix outdated parts of repository structure section in readme
Diffstat (limited to 'README.md')
-rw-r--r--README.md49
1 files changed, 27 insertions, 22 deletions
diff --git a/README.md b/README.md
index 78f390b43b..e3d1d3c642 100644
--- a/README.md
+++ b/README.md
@@ -229,34 +229,37 @@ this procedure, the `integration-tests.sh` script can be used to run all integra
## Repository structure
-### Electron GUI and electron-builder packaging
-- **app/**
- - **redux/** - state management
- - **components/** - components
- - **containers/** - containers that provide a glueing layer between components and redux
- actions/backend.
- - **lib/** - shared classes and utilities
- - **assets/** - graphical assets and stylesheets
- - **config.json** - links to external components
- - **app.js** - entry file for renderer process
- - **main.js** - entry file for background process
- - **routes.js** - routes configurator
- - **transitions.js** - transition rules between views
-- **init.js** - entry file for electron, points to compiled **main.js**
-- **scripts/** - support scripts for development
-- **test/** - Electron GUI tests
+### Electron GUI app and electron-builder packaging assets
+- **gui/packages/**
+ - **components/** - Platform agnostic shared react components
+ - **desktop/** - The desktop implementation
+ - **src/**
+ - **assets/** - graphical assets and stylesheets
+ - **renderer/**
+ - **app.js** - entry file for renderer process
+ - **routes.js** - routes configurator
+ - **transitions.js** - transition rules between views
+ - **config.json** - App color definitions and URLs to external resources
+ - **test/** - Electron GUI tests
- **dist-assets/** - Icons, binaries and other files used when creating the distributables
- **binaries/** - Git submodule containing binaries bundled with the app. For example the
- statically linked OpenVPN binary. See the README in the submodule for details.
+ statically linked OpenVPN binary. See the README in the submodule for details
+ - **linux/** - Scripts and configuration files for the deb and rpm artifacts
- **pkg-scripts/** - Scripts bundled with and executed by the macOS pkg installer
+ - **windows/** - Windows NSIS installer configuration and assets
+ - **api_root_ca.pem** - The root CA for the api.mullvad.net endpoint. The app uses certificate
+ pinning
+ - **ca.crt** - The Mullvad relay server root CA. Bundled with the app and only OpenVPN relays
+ signed by this CA are trusted
+ - **crl.pem** - The certificate revocation list for old relay certificates
+
### Building, testing and misc
+- **build_windows_modules.sh** - Compiles the C++ libraries needed on Windows
- **build.sh** - Sanity checks the working directory state and then builds release artifacts for
- the app.
-- **uninstall.sh** - Temporary script to help uninstall Mullvad VPN, all settings files, caches and
- logs.
+ the app
-### Daemon
+### Mullvad Daemon
The daemon is implemented in Rust and is implemented in several crates. The main, or top level,
crate that builds the final daemon binary is `mullvad-daemon` which then depend on the others.
@@ -270,9 +273,11 @@ preserving features. The crates having `mullvad` in their name on the other hand
`talpid` components to build a secure and Mullvad specific VPN client.
-- **Cargo.toml** - Main Rust workspace definition. See this file for which folders here are backend
+- **Cargo.toml** - Main Rust workspace definition. See this file for which folders here are daemon
Rust crates.
- **mullvad-daemon/** - Main Rust crate building the daemon binary.
+- **talpid-core/** - Main crate of the VPN client implementation itself. Completely Mullvad agnostic
+ privacy preserving VPN client library.
## Vocabulary