Skip to content

Commit a30df0c

Browse files
dguidoclaude
andauthored
Add explicit confirmation for local installation (#14897)
Enhance the local installation warning to require typing 'yes' to proceed, making risks impossible to miss. Users following external tutorials often don't see the documentation warning until after their server is already modified. Changes: - Replace press-ENTER prompt with explicit 'yes' confirmation - List specific consequences (firewall, DNS, no uninstall) - Add local_install_confirmed variable for automation - Document skip method in deploy-to-ubuntu.md Closes #14362 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
1 parent a6bd2a2 commit a30df0c

File tree

2 files changed

+47
-7
lines changed

2 files changed

+47
-7
lines changed

docs/deploy-to-ubuntu.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,17 @@ For local installation on the same machine, you must run:
2121
sudo ./algo
2222
```
2323

24+
## Confirmation Prompt
25+
26+
Local installation displays a warning and requires you to type `yes` to proceed. This ensures you understand that Algo will modify firewall rules and system settings, and that there is no uninstall option.
27+
28+
For automated deployments or CI/CD pipelines, skip the confirmation with:
29+
```bash
30+
ansible-playbook main.yml -e "provider=local local_install_confirmed=true server=localhost endpoint=YOUR_IP"
31+
```
32+
33+
Only use `local_install_confirmed=true` when you have already taken a backup and understand the risks.
34+
2435
## Road Warrior Setup
2536

2637
A "road warrior" setup lets you securely access your home network and its resources when traveling. This involves installing Algo on a server within your home LAN.

roles/local/tasks/prompts.yml

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,43 @@
11
---
2-
- pause:
2+
- name: Display local installation warning
3+
pause:
34
prompt: |
4-
https://trailofbits.github.io/algo/deploy-to-ubuntu.html
55
6-
Local installation might break your server. Use at your own risk.
6+
======================================================================
7+
*** DESTRUCTIVE OPERATION ***
8+
======================================================================
9+
10+
Algo is designed for DEDICATED VPN servers only.
11+
12+
This installation will:
13+
- Replace all firewall rules (blocks most incoming traffic)
14+
- Modify system network and DNS settings
15+
- Install and configure VPN services
16+
17+
THERE IS NO UNINSTALL OPTION.
18+
19+
If this server runs other services (web, database, mail, etc.),
20+
they will likely become inaccessible.
21+
22+
Recommended: Take a snapshot/backup before proceeding.
23+
24+
Documentation: https://trailofbits.github.io/algo/deploy-to-ubuntu.html
25+
26+
======================================================================
27+
28+
Type 'yes' to confirm you understand the risks and want to proceed:
29+
register: _local_warning_confirm
30+
when:
31+
- not tests | default(false) | bool
32+
- not local_install_confirmed | default(false) | bool
733

8-
Proceed? Press ENTER to continue or CTRL+C and A to abort...
9-
when: not tests|default(false)|bool
10-
tags:
11-
- skip_ansible_lint
34+
- name: Abort if not confirmed
35+
fail:
36+
msg: "Installation aborted by user. Your server was not modified."
37+
when:
38+
- not tests | default(false) | bool
39+
- not local_install_confirmed | default(false) | bool
40+
- _local_warning_confirm.user_input | default('') | lower != 'yes'
1241

1342
- pause:
1443
prompt: |

0 commit comments

Comments
 (0)