summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2021-01-12 15:47:52 +0100
committerDavid Lönnhager <david.l@mullvad.net>2021-01-12 15:47:52 +0100
commit12ca4a60bf3455132aed849ad8d5df87cd919d35 (patch)
tree0d6892355b9e2ed8b9b123551498c31e45693d4e
parentfc401c39143a88ac52d6839308325b51a091c8b2 (diff)
parent5c013b400490e9cd8c9f41ee7cab65b579e5d6fa (diff)
downloadmullvadvpn-12ca4a60bf3455132aed849ad8d5df87cd919d35.tar.xz
mullvadvpn-12ca4a60bf3455132aed849ad8d5df87cd919d35.zip
Merge branch 'update-readme'
-rw-r--r--README.md30
1 files changed, 21 insertions, 9 deletions
diff --git a/README.md b/README.md
index 66de0b7329..48ed923060 100644
--- a/README.md
+++ b/README.md
@@ -323,13 +323,13 @@ echo "org.gradle.jvmargs=-Xmx4608M" >> ~/.gradle/gradle.properties
source env.sh
```
-1. If you are on Windows, then you have to build the C++ libraries before compiling the daemon:
- ```bash
- bash ./build_windows_modules.sh --dev-build
- ```
+1. On Windows, make sure to start bash first (e.g., Git BASH). Then build the C++ libraries:
+ ```bash
+ ./build_windows_modules.sh --dev-build
+ ```
1. Build the system daemon plus the other Rust tools and programs:
- ```
+ ```bash
cargo build
```
@@ -341,12 +341,24 @@ echo "org.gradle.jvmargs=-Xmx4608M" >> ~/.gradle/gradle.properties
cp target/debug/*talpid_openvpn_plugin* dist-assets/
```
-1. Run the daemon with verbose logging with:
- ```
+1. On Windows, also copy `wintun.dll` to the build directory:
+ ```bash
+ cp dist-assets/binaries/x86_64-pc-windows-msvc/wintun.dll target/debug/
+ ```
+
+1. On Windows, the daemon must be run as the SYSTEM user. You can use
+ [PsExec](https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) to launch an elevated
+ bash instance before starting the daemon in it:
+ ```
+ psexec64 -i -s bash.exe
+ ```
+
+1. Run the daemon with verbose logging (from the root directory of the project):
+ ```bash
sudo MULLVAD_RESOURCE_DIR="./dist-assets" ./target/debug/mullvad-daemon -vv
```
- It must run as root since it modifies the firewall and sets up virtual network interfaces
- etc.
+ Leave out `sudo` on Windows. The daemon must run as root since it modifies the firewall and sets
+ up virtual network interfaces etc.
### Environment variables controlling the execution