Skip to content
This repository was archived by the owner on Jun 4, 2021. It is now read-only.

Commit 3b67ba5

Browse files
authored
Merge branch 'master' into ocserv_cli_instructions
2 parents d29c738 + 5a6139f commit 3b67ba5

File tree

9 files changed

+229
-71
lines changed

9 files changed

+229
-71
lines changed

README-fr.md

+19-47
Original file line numberDiff line numberDiff line change
@@ -109,64 +109,36 @@ Effectuez toutes ces tâches sur votre machine locale.
109109
* Sur Debian et Ubuntu
110110

111111
sudo apt-get install git
112-
* Sur Fedora
112+
* Sur Fedora 27, certains progiciels sont nécessaires plus tard
113113

114-
sudo yum install git
115-
* Sur macOS (via [Homebrew](https://brew.sh/))
114+
sudo yum install git python2-pip gcc python2-devel python2-crypto python2-pycurl libcurl-devel
115+
* Sur CentOS 7, `pip` est disponible dans le dépôt EPEL; certains progiciels supplémentaires sont nécessaires plus tard.
116116

117-
brew install git
118-
* Installez le système de gestion de paquets [pip](https://pip.pypa.io/en/latest/) pour Python.
119-
* Sur Debian et Ubuntu (installe également les dépendances qui sont nécessaires pour construire Ansible et qui sont requises par certains modules)
117+
sudo yum -y update && sudo yum install -y epel-release
118+
sudo yum -y update && sudo yum install -y git gcc python-devel python-crypto python-pycurl python-pip libcurl-devel
119+
* Sur macOS, `git` fait partie des outils de développement et sera installé la première fois que vous l'exécuterez. S'il n'y a pas déjà une commande `pip` installée, installez-la avec:
120120

121-
sudo apt-get install python-paramiko python-pip python-pycurl python-dev build-essential
122-
* Sur Fedora
121+
sudo python2.7 -m ensurepip
123122

124-
sudo yum install python-pip
125-
* Sur macOS
126-
127-
sudo easy_install pip
128-
sudo pip install pycurl
129-
130-
* Installez [Ansible](https://www.ansible.com/).
131-
* Sur macOS (via [Homebrew](https://brew.sh/))
132-
133-
brew install ansible
134-
* Sur BSD ou Linux (via pip)
135-
136-
sudo pip install ansible markupsafe
137-
* Installez les bibliothèques Python nécessaires pour votre fournisseur de cloud.
138-
* Amazon EC2
139-
140-
sudo pip install boto boto3
141-
* Azure
142-
143-
sudo pip install ansible[azure]
144-
* DigitalOcean
145-
146-
sudo pip install dopy==0.3.5
147-
* Google
123+
### Exécution ###
124+
1. Clonez le répertoire Streisand et entrez dans le répertoire.
148125

149-
sudo pip install "apache-libcloud>=0.17.0"
150-
* Linode
126+
git clone https://github.com/StreisandEffect/streisand.git && cd streisand
151127

152-
sudo pip install linode-python
153-
* Rackspace Cloud
128+
2. Exécutez le programme d'installation pour Ansible et ses dépendances.
154129

155-
sudo pip install pyrax
156-
* Si vous utilisez une version de Python installée avec Homebrew, vous devez également exécuter ces commandes pour vous assurer qu'il peut trouver les bibliothèques nécessaires:
130+
./util/venv-dependencies.sh ./venv
131+
* Le programme d'installation détectera les progiciels manquants et imprimera les commandes nécessaires pour les installer.
157132

158-
mkdir -p ~/Library/Python/2.7/lib/python/site-packages
159-
echo '/usr/local/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth
133+
3. Activez les progciels Ansible installés.
160134

161-
### Exécution ###
162-
1. Clonez le répertoire Streisand et entrez dans le répertoire.
163-
164-
git clone https://github.com/StreisandEffect/streisand.git && cd streisand
165-
2. Exécuter le script Streisand.
135+
source ./venv/bin/activate
136+
137+
4. Exécutez le script Streisand.
166138

167139
./streisand
168-
3. Suivez les instructions pour choisir votre fournisseur, la région physique du serveur, et son nom. Vous serez également invité à entrer les informations de l'API.
169-
4. Une fois les informations de connexion et les clés d'API saisies, Streisand commencera à faire tourner un nouveau serveur distant.
140+
5. Suivez les instructions pour choisir votre fournisseur, la région physique du serveur, et son nom. Vous serez également invité à entrer les informations de l'API.
141+
6. Une fois les informations de connexion et les clés d'API saisies, Streisand commencera à faire tourner un nouveau serveur distant.
170142
5. Attendez que l'installation soit terminée (cela prend habituellement environ dix minutes) et recherchez les fichiers correspondants dans le dossier 'generated-docs' dans le répertoire du dépôt Streisand. Le fichier HTML expliquera comment se connecter à la passerelle via SSL ou via le service caché Tor. Toutes les instructions, les fichiers, les clients en miroir et les clés du nouveau serveur se trouvent alors sur la passerelle. Vous avez fini!
171143

172144
### Installation de Streisand sur localhost (Avancé) ###
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
---
2+
# detect-public-ip.yml will attempt to identify whether the server's public
3+
# IP address is different from what is visible on the host and, if
4+
# successfully detected, ask to update the address for documentation and
5+
# configuration profiles
6+
- name: "Install dns module"
7+
apt:
8+
name: dnsutils
9+
10+
- name: "Initialize lookup variable"
11+
set_fact:
12+
external_ipv4_address: "presumed_failed"
13+
14+
- name: "Check external IP Address through Google"
15+
command: dig +short myip.opendns.com @resolver1.opendns.com A
16+
register: dig_output
17+
18+
- name: "Set the variable to the value"
19+
set_fact:
20+
external_ipv4_address: "{{ dig_output.stdout | regex_replace('\"', '') }}"
21+
when: (dig_output.rc == 0)
22+
23+
# Enter this block only when when the IPs are different and query user for updating
24+
# to public ip
25+
- block:
26+
- name: "Initialize the prompt"
27+
set_fact:
28+
prompt_external_ip: |
29+
We have found another public IP address of your server
30+
31+
Some cloud providers use load balancers or SDN to make servers externally
32+
reachable. It seems
33+
- {{ external_ipv4_address }} is publicly visible
34+
- {{ streisand_ipv4_address }} is visible on the server
35+
36+
Type 'yes' to use {{ external_ipv4_address }} for the VPN
37+
Hit 'enter' to skip and use {{ streisand_ipv4_address }}.
38+
39+
Skip with 'enter' if you do not know {{ external_ipv4_address }}
40+
41+
- name: "Ask user to update to public IP address"
42+
pause:
43+
prompt: "{{ prompt_external_ip }}"
44+
register: publish_external
45+
46+
- name: "Change streisand_ipv4_address to public if requested"
47+
set_fact:
48+
streisand_ipv4_address: "{{ external_ipv4_address }}"
49+
when: ((publish_external.user_input == "yes") or (publish_external.user_input == "Yes") or (publish_external.user_input == "YES") or (publish_external.user_input == "Y") or (publish_external.user_input == "y"))
50+
when: (external_ipv4_address != "presumed_failed") and (streisand_ipv4_address != external_ipv4_address)
51+
...

playbooks/roles/common/tasks/set-default-variables.yml

+3
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,6 @@
3636
set_fact:
3737
streisand_server_name: "{{ ansible_hostname }}"
3838
when: streisand_server_name is not defined
39+
40+
- import_tasks: detect-public-ip.yml
41+
when: (hostvars['127.0.0.1']['streisand_genesis_role'] is defined and ((hostvars['127.0.0.1']['streisand_genesis_role'] == "localhost") or (hostvars['127.0.0.1']['streisand_genesis_role'] == "existing-server")))

playbooks/roles/openvpn/templates/client-common.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ persist-tun
88
remote-cert-tls server
99
verify-x509-name {{ openvpn_server_common_name.stdout }} name
1010
tls-version-min 1.2
11-
compress lz4
11+
compress
1212
verb 3
1313
route {{ streisand_ipv4_address }} 255.255.255.255 net_gateway
1414

playbooks/roles/openvpn/templates/etc_openvpn_server_common.j2

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ tls-cipher TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384
2828

2929
auth {{ openvpn_auth_digest }}
3030
tls-version-min 1.2
31-
compress lz4
31+
compress
3232
user nobody
3333
group nogroup
3434
persist-key

0 commit comments

Comments
 (0)