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.
sudo apt update
sudo apt install -y python3-virtualenv
git clone https://github.com/trailofbits/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
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:
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
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:
./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.