The Algo scripts can’t be run directly on Windows, but you can use the Windows Subsystem for Linux (WSL) to run a copy of Ubuntu Linux right on your Windows system. You can then run Algo to deploy a VPN server to a supported cloud provider, though you can’t turn the instance of Ubuntu running under WSL into a VPN server.
To run WSL you will need:
Enable the ‘Windows Subsystem for Linux’:
Wait a minute for Windows to install a few things in the background (it will eventually let you know a restart may be required for changes to take effect—ignore that for now). Next, to install the actual Linux Subsystem, you have to jump over to ‘Control Panel’, and do the following:
Run these commands in the Ubuntu Terminal to install a prerequisite package and download the Algo scripts to your home directory. Note that when using WSL you should not install Algo in the /mnt/c
directory due to problems with file permissions.
You may need to follow these directions in order to paste commands into the Ubuntu Terminal.
cd
umask 0002
sudo apt update
sudo apt install -y python3-virtualenv
git clone https://github.com/trailofbits/algo
cd algo
These steps should be only if you clone the Algo repository to the host machine disk (C:, D:, etc.). WSL mount host system disks to \mnt
directory.
By default git cannot change files metadata (using chmod for example) for files stored at host machine disks (https://docs.microsoft.com/en-us/windows/wsl/wsl-config#set-wsl-launch-settings). Allow it:
[automount]
options = "metadata"
wsl --shutdown
in powershell.Ansible threat host machine directories as world writable directory and do not load .cfg from it by default (https://docs.ansible.com/ansible/devel/reference_appendices/config.html#cfg-in-world-writable-dir). For fix run inside algo
directory:
chmod 744 .
Now you can continue by following the README from the 4th step to deploy your Algo server!
You’ll be instructed to edit the file config.cfg
in order to specify the Algo user accounts to be created. If you’re new to Linux the simplest editor to use is nano
. To edit the file while in the algo
directory, run:
nano config.cfg
Once ./algo
has finished you can use the cp
command to copy the configuration files from the configs
directory into your Windows directory under /mnt/c/Users
for easier access.