Commit graph

347 commits

Author SHA1 Message Date
shapiro125
72c8e9e244 Add IPv6 support to DNS (#1425)
* Add ipv6

* Add ipv6

* add ipv6

* add ipv6

* Switching out ipv6 address with local_service_ipv6 variable from #1429

* Fixing variable error
2019-05-20 13:17:39 +02:00
Anton Strogonoff
368ebc8625 fix: Use wait_for_connection to avoid failure (#1381)
With preexisting wait_for implementation, deployment to Ubuntu on Lightsail failed with a connection reset error on this task. It appears that Ansible’s wait_for_connection is the recommended way. I have successfully gotten past this task after this change, however I’d appreciate more eyes on this.
2019-05-17 16:04:13 +02:00
Jack Ivanov
5904546a48
Randomly generated IP address for the local dns resolver (#1429)
* generate service IPs dynamically

* update cloud-init tests

* exclude ipsec and wireguard ranges from the random service ip

* Update docs

* @davidemyers: update wireguard docs for linux

* Move to netaddr filter

* AllowedIPs fix

* WireGuard IPs fix
2019-05-17 14:49:29 +02:00
Rémy Léone
826a2c5036 Add documentation about Scaleway credentials (#1419) 2019-05-12 11:21:55 +02:00
Jack Ivanov
6b33d09d9f
Scaleway modules (#1410)
* Scaleway modules

* Update docs
2019-05-03 09:55:45 +02:00
Jack Ivanov
d6a1fb91bd
WIP: Facts definition fix (#1415)
Facts definition fix
2019-05-01 11:51:06 +02:00
TC1977
faa4b9a8da Automatically create cloud firewall rules for installs onto Vultr (#1400)
* Update main.yml

* Change module names and add IPv6 firewall rules

Uses guide at https://www.renemoser.net/blog/2018/03/19/vultr-firewalling-with-ansible/ written by Rene Moser.

* change vultr to vr

* add ip_version to firewall rules

* add SSH access rules

* Use variable for wireguard port

* update module names for ansible 2.7

* Fix trailing whitespaces

* Try to fix trailing whitespaces again
2019-04-27 12:59:26 +02:00
Jack Ivanov
25513cf925 Refactoring, Linting and additional tests (#1397)
* Refactoring, Linting and additional tests

* Vultr: Undefined variable and deprecation notes fix

* Travis-CI enable linters

* Azure: Update python requirements

* Update main.yml

* Update install.sh

* Add missing roles to ansible-lint

* Linting for skipped roles

* add .ansible-lint config
2019-04-26 11:48:28 -04:00
Jack Ivanov
1e35753aa2
Update openssl.yml (#1403) 2019-04-23 12:36:12 +02:00
Jack Ivanov
1c7e1dc331
Move Delete the CA key task to the appropriate role (#1393) 2019-04-13 11:53:45 +02:00
TC1977
d969b8e1b6 Fix 963 again (#1379)
* Create charon.conf.j2

Create charon.conf template with mods

* Update mobileconfig.j2

Increase client side lifetimes

* Update ipsec.conf.j2

Add server-side lifetimes

* Add charon.conf
2019-04-09 15:37:08 +03:00
Jack Ivanov
c4ea88000b Refactoring to support roles inclusion (#1365) 2019-04-08 16:20:34 -04:00
David Myers
d50a2039a6 Use VULTR_API_CONFIG variable if set (#1374) 2019-04-06 13:49:25 +03:00
Jack Ivanov
cf4d5b47a9
IPv6 range to AllowedIPs only when ipv6_support (#1388) 2019-04-06 13:44:13 +03:00
Jack Ivanov
84bbc0e22c
Update ubuntu.yml (#1383) 2019-04-02 13:21:45 +03:00
adamluk
d996b1d02f Update 10-algo-lo100.network.j2 (#1369) 2019-03-25 08:55:38 +01:00
Fabian Foerg
13c4628b5d Simplify Apple Profile Configuration Template (#1033)
* Simplify Apple Profile Configuration Template

* enable lstrip_blocks

* remove ldashes
2019-03-19 17:49:18 +01:00
Jack Ivanov
30beadb949
Modify naming in the cloud resources and client config files (#1353)
* Modify naming in the cloud resources and client config files

* Azure template: Eliminate unneeded variables
2019-03-15 18:16:26 +01:00
Jack Ivanov
4ae5972f94
Start dnscrypt-proxy after systemd-resolved (#1357) 2019-03-14 18:11:57 +01:00
Jack Ivanov
273c7665d3 Refactoring (#1334)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Renames the vpn role to strongswan, and split up the variables to support 2 separate VPNs. Closes #1330 and closes #1162
Configures Ansible to use python3 on the server side. Closes #1024 
Removes unneeded playbooks, reorganises a lot of variables
Reorganises the `config` folder. Closes #1330
<details><summary>Here is how the config directory looks like now</summary>
<p>

```
configs/X.X.X.X/
|-- ipsec
|   |-- apple
|   |   |-- desktop.mobileconfig
|   |   |-- laptop.mobileconfig
|   |   `-- phone.mobileconfig
|   |-- manual
|   |   |-- cacert.pem
|   |   |-- desktop.p12
|   |   |-- desktop.ssh.pem
|   |   |-- ipsec_desktop.conf
|   |   |-- ipsec_desktop.secrets
|   |   |-- ipsec_laptop.conf
|   |   |-- ipsec_laptop.secrets
|   |   |-- ipsec_phone.conf
|   |   |-- ipsec_phone.secrets
|   |   |-- laptop.p12
|   |   |-- laptop.ssh.pem
|   |   |-- phone.p12
|   |   `-- phone.ssh.pem
|   `-- windows
|       |-- desktop.ps1
|       |-- laptop.ps1
|       `-- phone.ps1
|-- ssh-tunnel
|   |-- desktop.pem
|   |-- desktop.pub
|   |-- laptop.pem
|   |-- laptop.pub
|   |-- phone.pem
|   |-- phone.pub
|   `-- ssh_config
`-- wireguard
    |-- desktop.conf
    |-- desktop.png
    |-- laptop.conf
    |-- laptop.png
    |-- phone.conf
    `-- phone.png
```

![finder](https://i.imgur.com/FtOmKO0.png)

</p>
</details>

## Motivation and Context
This refactoring is focused to aim to the 1.0 release

## How Has This Been Tested?
Deployed to several cloud providers with various options enabled and disabled

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Refactoring

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] My change requires a change to the documentation.
- [x] I have updated the documentation accordingly.
- [x] All new and existing tests passed.
2019-03-10 13:16:34 -04:00
Tim H
b4740185e8 Add catch-all VPN On Demand Rule (#739)
If a user is not connected to a trusted Wi-Fi network or if the
URLStringProbe fails none of the existing dictionaries match.

According to the Apple Configuration Profile Reference[1] section "VPN
Payload > On Demand Rules Dictionary Keys" a default behavior for
unknown networks with no matching criteria should always be set as the
last dictionary in the array. The current default behavior is to allow a
connection to occur, but this behavior is not guaranteed.

Tear down the VPN connection and do not reconnect on demand as long as
the catch-all dictionary matches to guarantee the default behavior and
more specifically allow users to access captive portals.

[1]: https://developer.apple.com/library/content/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html
2019-02-26 17:40:29 +01:00
Demian
5e5424df69 fix OS is undefined error (#1335) 2019-02-26 12:19:34 +01:00
Jack Ivanov
ec56203b87
Support for custom domain names in the endpoint (#1337) 2019-02-25 17:58:09 +01:00
Jack Ivanov
216cd09dcf
Disable wireguard PersistentKeepalive by default (#1338) 2019-02-25 17:56:19 +01:00
Jack Ivanov
40b42c4f33
Get started with Azure more easily (#1323) 2019-02-08 13:34:01 +01:00
Jack Ivanov
43ed5b2aaa
add flags=(attach_disconnected) to dnscrypt-proxy apparmor profile (#1312) 2019-01-30 07:23:11 +01:00
Jack Ivanov
c47dd4a7ab encode wifi networks to base64 (#1303) 2019-01-28 17:51:28 -05:00
Jack Ivanov
a266b4d633 Allow windows users install VPN for all users in the system (#1310) 2019-01-28 17:50:58 -05:00
Luvpreet Singh
6233642c66 fix(update-users): changed generate p12 password task (#1289)
Changed task's module to generic python format for python2 and python3.
2019-01-25 16:36:44 -05:00
Jack Ivanov
7a6daff1ff IPv6 fix (#1302) 2019-01-18 23:39:08 -05:00
Angel Montes de Oca
44ab95f12b Include Algo generated password (#1272)
I change a line to Include the Algo generated password so the users do not need to manually enter the password when installing on Windows 10 computers.
2019-01-08 08:48:05 +01:00
David Myers
5981bb9cad Replace 'max_mss' with 'reduce_mtu' (#1253) 2018-12-20 09:21:04 -05:00
Jack Ivanov
955a986c21
IPv6 forwarding fixes (#1256) 2018-12-18 13:59:25 +01:00
Jack Ivanov
a6cd89564d
Fixes #1246 2018-12-10 16:37:36 +01:00
Federico G. Schwindt
a4f2c97fd2 Fix ipv4 address missing on reboot (#1245) 2018-12-10 06:57:15 +01:00
David Myers
66681521c1 Increase memory limit for dnsmasq (#1228)
* Increase memory limit for dnsmasq

* Increase memory limit for dnsmasq further
2018-12-03 12:32:23 -05:00
David Myers
8d23f715d7 Run adblock.sh at a random time (#1227) 2018-12-03 15:33:36 +01:00
David Myers
22395f5f84 Add p12 password back to mobileconfigs (#1218) 2018-11-26 16:58:34 +01:00
Jack Ivanov
a66d8f0069 on-build python venvs (#1199) 2018-11-22 13:04:58 -05:00
Jack Ivanov
9187d8e637 dnscrypt-proxy apparmor fix (#1210)
<!--- Provide a general summary of your changes in the Title above -->

## Description
Apparmor profile for dnscrypt-proxy didn't work at all

## Motivation and Context
Fixes #1155

## How Has This Been Tested?
Deployed to DigitalOcean, checked that the dnscrypt-proxy binary is in enforce mode

## Types of changes
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)

## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] I have read the **CONTRIBUTING** document.
- [x] My code follows the code style of this project.
- [x] All new and existing tests passed.
2018-11-22 13:04:37 -05:00
Jack Ivanov
45b00ee994
BSD StrongSwan fixes (#1207) 2018-11-20 19:20:24 +01:00
Jack Ivanov
66d30e3005
WireGuard update-users fix (#1183) 2018-11-12 18:03:31 +01:00
TC1977
a76642c4d5 Update mobileconfig.j2 (#1197)
Adds "Algo VPN" to the organization in the "Profiles" menu of "General Settings". (The type still shows up as "Unknown" in the "VPN" menu, because that seems to be governed by the "VPNSubType" string, which must be empty according to the [developer reference](https://developer.apple.com/enterprise/documentation/Configuration-Profile-Reference.pdf) Maybe this can help clear the way for #1101.
2018-11-12 10:21:54 +01:00
zuccs
2b2d90a8a9 Fix typo (#1165) 2018-11-05 16:35:01 +01:00
datew0
30446d0363 Set disk size depending on server plan (#1159)
Scaleway`s START1-XS does not start with a disk size of 50GB.
2018-11-02 12:38:54 +01:00
Jack Ivanov
399d47233a
add region (#1182) 2018-11-01 20:59:14 +01:00
Jack Ivanov
3468d27e61 Lightsail back (#1157) 2018-10-22 16:49:18 -04:00
Jack Ivanov
fbc7b29456 WireGuard update-users fix (#1154) 2018-10-22 16:49:09 -04:00
Jack Ivanov
efc8dc7620
add tags for the wireguard qr code task. variables fix (#1147) 2018-10-14 10:22:45 +03:00
Jack Ivanov
bcba905547 ssh tunneling fixes (#1127) 2018-10-07 17:33:55 -07:00