2016-07-11 21:51:31 +00:00
|
|
|
---
|
|
|
|
|
2019-05-16 12:04:57 +00:00
|
|
|
# This is the list of users to generate.
|
2020-10-31 17:26:12 +00:00
|
|
|
# Every device must have a unique user.
|
|
|
|
# You can add up to 65,534 new users over the lifetime of an AlgoVPN.
|
|
|
|
# User names with leading 0's or containing only numbers should be escaped in double quotes, e.g. "000dan" or "123".
|
|
|
|
# Email addresses are not allowed.
|
2016-08-24 07:30:33 +00:00
|
|
|
users:
|
2019-02-17 23:38:19 +00:00
|
|
|
- phone
|
|
|
|
- laptop
|
|
|
|
- desktop
|
2016-08-24 07:30:33 +00:00
|
|
|
|
2019-12-10 18:23:18 +00:00
|
|
|
### Review these options BEFORE you run Algo, as they are very difficult/impossible to change after the server is deployed.
|
2016-07-11 21:51:31 +00:00
|
|
|
|
2020-01-07 13:28:19 +00:00
|
|
|
# Change default SSH port for the cloud roles only
|
|
|
|
# It doesn't apply if you deploy to your existing Ubuntu Server
|
|
|
|
ssh_port: 4160
|
|
|
|
|
2019-03-10 17:16:34 +00:00
|
|
|
# Deploy StrongSwan to enable IPsec support
|
|
|
|
ipsec_enabled: true
|
|
|
|
|
|
|
|
# Deploy WireGuard
|
2019-10-30 07:38:39 +00:00
|
|
|
# WireGuard will listen on 51820/UDP. You might need to change to another port
|
|
|
|
# if your network blocks this one. Be aware that 53/UDP (DNS) is blocked on some
|
|
|
|
# mobile data networks.
|
2018-05-24 15:15:27 +00:00
|
|
|
wireguard_enabled: true
|
|
|
|
wireguard_port: 51820
|
2019-04-08 20:20:34 +00:00
|
|
|
|
2020-01-31 10:24:29 +00:00
|
|
|
# This feature allows you to configure the Algo server to send outbound traffic
|
|
|
|
# through a different external IP address than the one you are establishing the VPN connection with.
|
|
|
|
# More info https://trailofbits.github.io/algo/cloud-alternative-ingress-ip.html
|
|
|
|
# Available for the following cloud providers:
|
|
|
|
# - DigitalOcean
|
|
|
|
alternative_ingress_ip: false
|
|
|
|
|
2018-12-20 14:21:04 +00:00
|
|
|
# Reduce the MTU of the VPN tunnel
|
|
|
|
# Some cloud and internet providers use a smaller MTU (Maximum Transmission
|
|
|
|
# Unit) than the normal value of 1500 and if you don't reduce the MTU of your
|
|
|
|
# VPN tunnel some network connections will hang. Algo will attempt to set this
|
|
|
|
# automatically based on your server, but if connections hang you might need to
|
|
|
|
# adjust this yourself.
|
|
|
|
# See: https://github.com/trailofbits/algo/blob/master/docs/troubleshooting.md#various-websites-appear-to-be-offline-through-the-vpn
|
|
|
|
reduce_mtu: 0
|
2018-07-03 06:06:45 +00:00
|
|
|
|
2019-02-25 16:56:19 +00:00
|
|
|
# Algo will use the following lists to block ads. You can add new block lists
|
2018-12-07 19:41:19 +00:00
|
|
|
# after deployment by modifying the line starting "BLOCKLIST_URLS=" at:
|
2019-02-25 16:56:19 +00:00
|
|
|
# /usr/local/sbin/adblock.sh
|
2018-12-07 19:41:19 +00:00
|
|
|
# If you load very large blocklists, you may also have to modify resource limits:
|
|
|
|
# /etc/systemd/system/dnsmasq.service.d/100-CustomLimitations.conf
|
2017-05-15 10:39:34 +00:00
|
|
|
adblock_lists:
|
2019-04-17 11:53:41 +00:00
|
|
|
- "https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
|
2017-05-15 10:39:34 +00:00
|
|
|
|
2018-10-04 22:12:48 +00:00
|
|
|
# Enable DNS encryption.
|
|
|
|
# If 'false', 'dns_servers' should be specified below.
|
2019-06-19 15:31:43 +00:00
|
|
|
# DNS encryption can not be disabled if DNS adblocking is enabled
|
2018-04-25 19:27:58 +00:00
|
|
|
dns_encryption: true
|
|
|
|
|
2019-12-10 18:23:18 +00:00
|
|
|
# Block traffic between connected clients. Change this to false to enable
|
|
|
|
# connected clients to reach each other, as well as other computers on the
|
|
|
|
# same LAN as your Algo server (i.e. the "road warrior" setup). In this
|
|
|
|
# case, you may also want to enable SMB/CIFS and NETBIOS traffic below.
|
|
|
|
BetweenClients_DROP: true
|
|
|
|
|
|
|
|
# Block SMB/CIFS traffic
|
|
|
|
block_smb: true
|
|
|
|
|
|
|
|
# Block NETBIOS traffic
|
|
|
|
block_netbios: true
|
|
|
|
|
|
|
|
# Your Algo server will automatically install security updates. Some updates
|
|
|
|
# require a reboot to take effect but your Algo server will not reboot itself
|
|
|
|
# automatically unless you change 'enabled' below from 'false' to 'true', in
|
|
|
|
# which case a reboot will take place if necessary at the time specified (as
|
|
|
|
# HH:MM) in the time zone of your Algo server. The default time zone is UTC.
|
|
|
|
unattended_reboot:
|
|
|
|
enabled: false
|
|
|
|
time: 06:00
|
|
|
|
|
|
|
|
### Advanced users only below this line ###
|
|
|
|
|
2018-10-04 22:12:48 +00:00
|
|
|
# DNS servers which will be used if 'dns_encryption' is 'true'. Multiple
|
|
|
|
# providers may be specified, but avoid mixing providers that filter results
|
|
|
|
# (like Cisco) with those that don't (like Cloudflare) or you could get
|
|
|
|
# inconsistent results. The list of available public providers can be found
|
|
|
|
# here:
|
|
|
|
# https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v2/public-resolvers.md
|
|
|
|
dnscrypt_servers:
|
|
|
|
ipv4:
|
|
|
|
- cloudflare
|
|
|
|
# - google
|
2021-10-31 10:13:43 +00:00
|
|
|
# - <YourCustomServer> # E.g., if using NextDNS, this will be something like NextDNS-abc123.
|
|
|
|
# You must also fill in custom_server_stamps below. You may specify
|
|
|
|
# multiple custom servers.
|
2018-10-04 22:12:48 +00:00
|
|
|
ipv6:
|
|
|
|
- cloudflare-ipv6
|
2018-04-25 19:27:58 +00:00
|
|
|
|
2021-10-31 10:13:43 +00:00
|
|
|
custom_server_stamps:
|
|
|
|
# YourCustomServer: 'sdns://...'
|
|
|
|
|
2018-10-04 22:12:48 +00:00
|
|
|
# DNS servers which will be used if 'dns_encryption' is 'false'.
|
2020-10-31 19:40:09 +00:00
|
|
|
# Fallback resolvers for systemd-resolved
|
2018-10-04 22:12:48 +00:00
|
|
|
# The default is to use Cloudflare.
|
2016-07-31 11:24:56 +00:00
|
|
|
dns_servers:
|
2016-12-12 15:52:34 +00:00
|
|
|
ipv4:
|
2018-04-25 19:27:58 +00:00
|
|
|
- 1.1.1.1
|
|
|
|
- 1.0.0.1
|
2016-12-12 15:52:34 +00:00
|
|
|
ipv6:
|
2018-04-25 19:27:58 +00:00
|
|
|
- 2606:4700:4700::1111
|
|
|
|
- 2606:4700:4700::1001
|
2016-07-11 21:51:31 +00:00
|
|
|
|
2019-12-10 18:23:18 +00:00
|
|
|
# Store the PKI in a ram disk. Enabled only if store_pki (retain the PKI) is set to false
|
|
|
|
# Supports on MacOS and Linux only (including Windows Subsystem for Linux)
|
|
|
|
pki_in_tmpfs: true
|
2016-12-06 17:14:08 +00:00
|
|
|
|
2020-01-07 13:28:19 +00:00
|
|
|
# Set this to 'true' when running './algo update-users' if you want ALL users to get new certs, not just new users.
|
2019-12-10 18:23:18 +00:00
|
|
|
keys_clean_all: false
|
2018-09-02 19:26:06 +00:00
|
|
|
|
2019-12-10 18:23:18 +00:00
|
|
|
# StrongSwan log level
|
|
|
|
# https://wiki.strongswan.org/projects/strongswan/wiki/LoggerConfiguration
|
|
|
|
strongswan_log_level: 2
|
2016-12-16 19:30:07 +00:00
|
|
|
|
2019-12-10 18:23:18 +00:00
|
|
|
# rightsourceip for ipsec
|
|
|
|
# ipv4
|
2020-10-31 17:26:12 +00:00
|
|
|
strongswan_network: 10.48.0.0/16
|
2019-12-10 18:23:18 +00:00
|
|
|
# ipv6
|
2020-07-22 19:51:19 +00:00
|
|
|
strongswan_network_ipv6: '2001:db8:4160::/48'
|
2019-12-10 18:23:18 +00:00
|
|
|
|
|
|
|
# If you're behind NAT or a firewall and you want to receive incoming connections long after network traffic has gone silent.
|
|
|
|
# This option will keep the "connection" open in the eyes of NAT.
|
|
|
|
# See: https://www.wireguard.com/quickstart/#nat-and-firewall-traversal-persistence
|
|
|
|
wireguard_PersistentKeepalive: 0
|
|
|
|
|
|
|
|
# WireGuard network configuration
|
2020-10-31 17:26:12 +00:00
|
|
|
wireguard_network_ipv4: 10.49.0.0/16
|
2020-07-22 19:51:19 +00:00
|
|
|
wireguard_network_ipv6: 2001:db8:a160::/48
|
2019-12-10 18:23:18 +00:00
|
|
|
|
|
|
|
# Randomly generated IP address for the local dns resolver
|
|
|
|
local_service_ip: "{{ '172.16.0.1' | ipmath(1048573 | random(seed=algo_server_name + ansible_fqdn)) }}"
|
|
|
|
local_service_ipv6: "{{ 'fd00::1' | ipmath(1048573 | random(seed=algo_server_name + ansible_fqdn)) }}"
|
2019-08-21 10:03:10 +00:00
|
|
|
|
2021-02-13 11:35:44 +00:00
|
|
|
# Hide sensitive data
|
2020-12-08 10:23:24 +00:00
|
|
|
no_log: true
|
2019-08-21 10:03:10 +00:00
|
|
|
|
2017-02-14 17:25:56 +00:00
|
|
|
congrats:
|
|
|
|
common: |
|
|
|
|
"# Congratulations! #"
|
|
|
|
"# Your Algo server is running. #"
|
|
|
|
"# Config files and certificates are in the ./configs/ directory. #"
|
|
|
|
"# Go to https://whoer.net/ after connecting #"
|
|
|
|
"# and ensure that all your traffic passes through the VPN. #"
|
2019-05-20 11:17:39 +00:00
|
|
|
"# Local DNS resolver {{ local_service_ip }}{{ ', ' + local_service_ipv6 if ipv6_support else '' }} #"
|
2017-02-14 17:25:56 +00:00
|
|
|
p12_pass: |
|
2018-09-06 18:04:23 +00:00
|
|
|
"# The p12 and SSH keys password for new users is {{ p12_export_password }} #"
|
2017-02-14 17:25:56 +00:00
|
|
|
ca_key_pass: |
|
2019-05-30 05:20:45 +00:00
|
|
|
"# The CA key password is {{ CA_password|default(omit) }} #"
|
2017-02-14 17:25:56 +00:00
|
|
|
ssh_access: |
|
2020-02-12 07:14:13 +00:00
|
|
|
"# Shell access: ssh -F configs/{{ ansible_ssh_host|default(omit) }}/ssh_config {{ algo_server_name }} #"
|
2017-01-11 17:55:07 +00:00
|
|
|
|
2016-12-12 19:02:45 +00:00
|
|
|
SSH_keys:
|
|
|
|
comment: algo@ssh
|
|
|
|
private: configs/algo.pem
|
2019-11-01 08:57:20 +00:00
|
|
|
private_tmp: /tmp/algo-ssh.pem
|
2016-12-12 19:02:45 +00:00
|
|
|
public: configs/algo.pem.pub
|
2017-03-05 20:19:15 +00:00
|
|
|
|
2017-04-16 14:19:47 +00:00
|
|
|
cloud_providers:
|
|
|
|
azure:
|
2019-06-06 16:06:20 +00:00
|
|
|
size: Standard_B1S
|
2022-10-30 10:35:44 +00:00
|
|
|
osDisk:
|
|
|
|
# The storage account type to use for the OS disk. Possible values:
|
|
|
|
# 'Standard_LRS', 'Premium_LRS', 'StandardSSD_LRS', 'UltraSSD_LRS',
|
|
|
|
# 'Premium_ZRS', 'StandardSSD_ZRS', 'PremiumV2_LRS'.
|
|
|
|
type: Standard_LRS
|
2020-05-10 10:48:30 +00:00
|
|
|
image:
|
|
|
|
publisher: Canonical
|
2023-05-17 00:04:23 +00:00
|
|
|
offer: 0001-com-ubuntu-minimal-jammy-daily
|
|
|
|
sku: minimal-22_04-daily-lts
|
2020-05-10 10:48:30 +00:00
|
|
|
version: latest
|
2017-04-16 14:19:47 +00:00
|
|
|
digitalocean:
|
2023-12-07 22:56:17 +00:00
|
|
|
# See docs for extended droplet options, pricing, and availability.
|
|
|
|
# Possible values: 's-1vcpu-512mb-10gb', 's-1vcpu-1gb', ...
|
2018-01-27 20:02:00 +00:00
|
|
|
size: s-1vcpu-1gb
|
2023-05-17 00:04:23 +00:00
|
|
|
image: "ubuntu-22-04-x64"
|
2019-05-15 17:33:07 +00:00
|
|
|
ec2:
|
2019-12-10 18:23:18 +00:00
|
|
|
# Change the encrypted flag to "false" to disable AWS volume encryption.
|
2019-08-26 15:25:29 +00:00
|
|
|
encrypted: true
|
2019-05-20 12:40:51 +00:00
|
|
|
# Set use_existing_eip to "true" if you want to use a pre-allocated Elastic IP
|
|
|
|
# Additional prompt will be raised to determine which IP to use
|
2019-05-20 12:45:03 +00:00
|
|
|
use_existing_eip: false
|
2017-04-16 14:19:47 +00:00
|
|
|
size: t2.micro
|
2017-04-22 21:06:10 +00:00
|
|
|
image:
|
2023-05-17 00:04:23 +00:00
|
|
|
name: "ubuntu-jammy-22.04"
|
2021-12-13 21:31:15 +00:00
|
|
|
arch: x86_64
|
2017-04-22 21:06:10 +00:00
|
|
|
owner: "099720109477"
|
2021-12-13 22:15:00 +00:00
|
|
|
# Change instance_market_type from "on-demand" to "spot" to launch a spot
|
|
|
|
# instance. See deploy-from-ansible.md for spot's additional IAM permission
|
2021-08-14 12:26:17 +00:00
|
|
|
instance_market_type: on-demand
|
2017-04-16 14:19:47 +00:00
|
|
|
gce:
|
2021-08-04 06:28:53 +00:00
|
|
|
size: e2-micro
|
2023-05-17 00:04:23 +00:00
|
|
|
image: ubuntu-2204-lts
|
2018-09-27 08:18:00 +00:00
|
|
|
external_static_ip: false
|
2018-03-02 12:55:54 +00:00
|
|
|
lightsail:
|
2020-09-27 10:54:48 +00:00
|
|
|
size: nano_2_0
|
2023-05-17 00:04:23 +00:00
|
|
|
image: ubuntu_22_04
|
2018-03-02 12:55:54 +00:00
|
|
|
scaleway:
|
2019-09-28 00:10:20 +00:00
|
|
|
size: DEV1-S
|
2023-05-17 00:04:23 +00:00
|
|
|
image: Ubuntu 22.04 Jammy Jellyfish
|
2018-03-02 12:55:54 +00:00
|
|
|
arch: x86_64
|
2019-09-28 00:10:20 +00:00
|
|
|
hetzner:
|
|
|
|
server_type: cx11
|
2023-05-17 00:04:23 +00:00
|
|
|
image: ubuntu-22.04
|
2018-03-02 12:55:54 +00:00
|
|
|
openstack:
|
|
|
|
flavor_ram: ">=512"
|
2023-05-17 00:04:23 +00:00
|
|
|
image: Ubuntu-22.04
|
2019-08-15 13:23:10 +00:00
|
|
|
cloudstack:
|
|
|
|
size: Micro
|
2023-05-17 00:04:23 +00:00
|
|
|
image: Linux Ubuntu 22.04 LTS 64-bit
|
2019-08-15 13:23:10 +00:00
|
|
|
disk: 10
|
2018-08-27 14:05:45 +00:00
|
|
|
vultr:
|
2023-05-17 00:04:23 +00:00
|
|
|
os: Ubuntu 22.04 LTS x64
|
2018-08-27 14:05:45 +00:00
|
|
|
size: 1024 MB RAM,25 GB SSD,1.00 TB BW
|
2020-08-23 08:41:27 +00:00
|
|
|
linode:
|
|
|
|
type: g6-nanode-1
|
2023-05-17 00:04:23 +00:00
|
|
|
image: linode/ubuntu22.04
|
2017-04-16 14:19:47 +00:00
|
|
|
local:
|
2017-04-29 14:48:25 +00:00
|
|
|
|
|
|
|
fail_hint:
|
|
|
|
- Sorry, but something went wrong!
|
|
|
|
- Please check the troubleshooting guide.
|
|
|
|
- https://trailofbits.github.io/algo/troubleshooting.html
|
2018-08-27 14:05:45 +00:00
|
|
|
|
|
|
|
booleans_map:
|
|
|
|
Y: true
|
|
|
|
y: true
|