feat(performance): configure ISO pacman for fast downloads and move UFW to post-boot
- commit
- b7b5570e11bfe36b09b7f7b2a6337f2d450625f9
- author
- bnema · · 2025-10-21 17:51 UTC
- committer
- bnema · · 2025-10-21 17:49 UTC
- parent
- 41ea797
- signature
- unsigned
9 files · +46 -32
M CHANGELOG.md +4 -2
| @@ -5,15 +5,17 @@ All notable changes to this project will be documented in this file. | |||
| 5 | 5 | ## [Unreleased] | |
| 6 | 6 | ||
| 7 | 7 | ### Added | |
| 8 | - | - **UFW firewall**: Added ufw with default deny incoming policy for basic network protection | |
| 8 | + | - **UFW firewall**: Added ufw with default deny incoming policy (configured on first boot) | |
| 9 | 9 | - **First-boot branding**: Display ArchUp logo and completion message during first-boot setup | |
| 10 | - | - **Pacman configuration**: Enable color output, parallel downloads, and ILoveCandy progress bar | |
| 10 | + | - **Pacman configuration**: Enable color output, parallel downloads, and ILoveCandy progress bar on installed system | |
| 11 | + | - **Fast ISO downloads**: Configure ISO pacman with ParallelDownloads=10 before base installation | |
| 11 | 12 | - **zram swap**: Configured zram-generator for compressed in-memory swap with optimized sysctl parameters | |
| 12 | 13 | - **Broadcom WiFi**: Added broadcom-wl driver to base packages for Broadcom wireless support | |
| 13 | 14 | - **Multilib support**: Enabled multilib repository on ISO and installed system with reusable helper | |
| 14 | 15 | ||
| 15 | 16 | ### Fixed | |
| 16 | 17 | - **Download script**: Added missing extra.packages to download list | |
| 18 | + | - **UFW setup**: Moved firewall configuration to post-boot to avoid kernel module errors in chroot | |
| 17 | 19 | ||
| 18 | 20 | ### Changed | |
| 19 | 21 | - **Disk selection**: Enhanced disk listing with model, serial, and vendor information using JSON output | |
| @@ -5,15 +5,17 @@ All notable changes to this project will be documented in this file. | |||||
| 5 | ## [Unreleased] | 5 | ## [Unreleased] | ||
| 6 | 6 | ||||
| 7 | ### Added | 7 | ### Added | ||
| 8 | - | - **UFW firewall**: Added ufw with default deny incoming policy for basic network protection | 8 | + | - **UFW firewall**: Added ufw with default deny incoming policy (configured on first boot) |
| 9 | - **First-boot branding**: Display ArchUp logo and completion message during first-boot setup | 9 | - **First-boot branding**: Display ArchUp logo and completion message during first-boot setup | ||
| 10 | - | - **Pacman configuration**: Enable color output, parallel downloads, and ILoveCandy progress bar | 10 | + | - **Pacman configuration**: Enable color output, parallel downloads, and ILoveCandy progress bar on installed system |
| 11 | + | - **Fast ISO downloads**: Configure ISO pacman with ParallelDownloads=10 before base installation | |||
| 11 | - **zram swap**: Configured zram-generator for compressed in-memory swap with optimized sysctl parameters | 12 | - **zram swap**: Configured zram-generator for compressed in-memory swap with optimized sysctl parameters | ||
| 12 | - **Broadcom WiFi**: Added broadcom-wl driver to base packages for Broadcom wireless support | 13 | - **Broadcom WiFi**: Added broadcom-wl driver to base packages for Broadcom wireless support | ||
| 13 | - **Multilib support**: Enabled multilib repository on ISO and installed system with reusable helper | 14 | - **Multilib support**: Enabled multilib repository on ISO and installed system with reusable helper | ||
| 14 | 15 | ||||
| 15 | ### Fixed | 16 | ### Fixed | ||
| 16 | - **Download script**: Added missing extra.packages to download list | 17 | - **Download script**: Added missing extra.packages to download list | ||
| 18 | + | - **UFW setup**: Moved firewall configuration to post-boot to avoid kernel module errors in chroot | |||
| 17 | 19 | ||||
| 18 | ### Changed | 20 | ### Changed | ||
| 19 | - **Disk selection**: Enhanced disk listing with model, serial, and vendor information using JSON output | 21 | - **Disk selection**: Enhanced disk listing with model, serial, and vendor information using JSON output | ||
M install/base/all.sh +1 -0
| @@ -7,5 +7,6 @@ start_log_output # Resume after prompt | |||
| 7 | 7 | ||
| 8 | 8 | run_logged "$ARCHUP_INSTALL/base/enable-multilib.sh" # Enable multilib before pacstrap | |
| 9 | 9 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | |
| 10 | + | run_logged "$ARCHUP_INSTALL/base/pacman.sh" # Configure ISO pacman for fast downloads | |
| 10 | 11 | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive (essential packages only) | |
| 11 | 12 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | |
| @@ -7,5 +7,6 @@ start_log_output # Resume after prompt | |||||
| 7 | 7 | ||||
| 8 | run_logged "$ARCHUP_INSTALL/base/enable-multilib.sh" # Enable multilib before pacstrap | 8 | run_logged "$ARCHUP_INSTALL/base/enable-multilib.sh" # Enable multilib before pacstrap | ||
| 9 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | 9 | run_logged "$ARCHUP_INSTALL/base/cachyos-repo.sh" # Configure CachyOS repo if needed | ||
| 10 | + | run_logged "$ARCHUP_INSTALL/base/pacman.sh" # Configure ISO pacman for fast downloads | |||
| 10 | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive (essential packages only) | 11 | run_logged "$ARCHUP_INSTALL/base/pacstrap.sh" # Non-interactive (essential packages only) | ||
| 11 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | 12 | run_logged "$ARCHUP_INSTALL/base/fstab.sh" # Non-interactive | ||
A install/base/pacman.sh +11 -0
| @@ -0,0 +1,11 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | # Configure ISO pacman for faster downloads | |
| 3 | + | ||
| 4 | + | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Configuring pacman..." | |
| 5 | + | ||
| 6 | + | # Enable ParallelDownloads on ISO | |
| 7 | + | sed -i 's/^#ParallelDownloads = 5$/ParallelDownloads = 10/' /etc/pacman.conf | |
| 8 | + | ||
| 9 | + | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Pacman configured for fast downloads" | |
| 10 | + | ||
| 11 | + | echo "ISO Pacman configured: ParallelDownloads=10" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| @@ -0,0 +1,11 @@ | |||||
| 1 | + | #!/bin/bash | |||
| 2 | + | # Configure ISO pacman for faster downloads | |||
| 3 | + | ||||
| 4 | + | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Configuring pacman..." | |||
| 5 | + | ||||
| 6 | + | # Enable ParallelDownloads on ISO | |||
| 7 | + | sed -i 's/^#ParallelDownloads = 5$/ParallelDownloads = 10/' /etc/pacman.conf | |||
| 8 | + | ||||
| 9 | + | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Pacman configured for fast downloads" | |||
| 10 | + | ||||
| 11 | + | echo "ISO Pacman configured: ParallelDownloads=10" >> "$ARCHUP_INSTALL_LOG_FILE" | |||
M install/helpers/download.sh +3 -3
| @@ -42,7 +42,7 @@ download_archup_files() { | |||
| 42 | 42 | ||
| 43 | 43 | # Base system | |
| 44 | 44 | download_section "Downloading base system scripts..." "base" \ | |
| 45 | - | all.sh kernel.sh enable-multilib.sh cachyos-repo.sh pacstrap.sh fstab.sh | |
| 45 | + | all.sh kernel.sh enable-multilib.sh cachyos-repo.sh pacman.sh pacstrap.sh fstab.sh | |
| 46 | 46 | ||
| 47 | 47 | # Configuration | |
| 48 | 48 | download_section "Downloading config scripts..." "config" \ | |
| @@ -58,11 +58,11 @@ download_archup_files() { | |||
| 58 | 58 | ||
| 59 | 59 | # Post-install | |
| 60 | 60 | download_section "Downloading post-install scripts..." "post-install" \ | |
| 61 | - | all.sh boot-logo.sh plymouth.sh snapper.sh ufw.sh pacman.sh post-boot-setup.sh hooks.sh shell-config.sh verify.sh unmount.sh | |
| 61 | + | all.sh boot-logo.sh plymouth.sh snapper.sh pacman.sh post-boot-setup.sh hooks.sh shell-config.sh verify.sh unmount.sh | |
| 62 | 62 | ||
| 63 | 63 | # Post-boot | |
| 64 | 64 | download_section "Downloading post-boot scripts..." "post-boot" \ | |
| 65 | - | all.sh snapper.sh ssh-keygen.sh archup-cli.sh archup-first-boot.service | |
| 65 | + | all.sh snapper.sh ufw.sh ssh-keygen.sh archup-cli.sh archup-first-boot.service | |
| 66 | 66 | ||
| 67 | 67 | # Package lists | |
| 68 | 68 | curl -sL "$GITHUB_RAW/install/base.packages" -o "$ARCHUP_INSTALL/base.packages" 2>/dev/null | |
| @@ -42,7 +42,7 @@ download_archup_files() { | |||||
| 42 | 42 | ||||
| 43 | # Base system | 43 | # Base system | ||
| 44 | download_section "Downloading base system scripts..." "base" \ | 44 | download_section "Downloading base system scripts..." "base" \ | ||
| 45 | - | all.sh kernel.sh enable-multilib.sh cachyos-repo.sh pacstrap.sh fstab.sh | 45 | + | all.sh kernel.sh enable-multilib.sh cachyos-repo.sh pacman.sh pacstrap.sh fstab.sh |
| 46 | 46 | ||||
| 47 | # Configuration | 47 | # Configuration | ||
| 48 | download_section "Downloading config scripts..." "config" \ | 48 | download_section "Downloading config scripts..." "config" \ | ||
| @@ -58,11 +58,11 @@ download_archup_files() { | |||||
| 58 | 58 | ||||
| 59 | # Post-install | 59 | # Post-install | ||
| 60 | download_section "Downloading post-install scripts..." "post-install" \ | 60 | download_section "Downloading post-install scripts..." "post-install" \ | ||
| 61 | - | all.sh boot-logo.sh plymouth.sh snapper.sh ufw.sh pacman.sh post-boot-setup.sh hooks.sh shell-config.sh verify.sh unmount.sh | 61 | + | all.sh boot-logo.sh plymouth.sh snapper.sh pacman.sh post-boot-setup.sh hooks.sh shell-config.sh verify.sh unmount.sh |
| 62 | 62 | ||||
| 63 | # Post-boot | 63 | # Post-boot | ||
| 64 | download_section "Downloading post-boot scripts..." "post-boot" \ | 64 | download_section "Downloading post-boot scripts..." "post-boot" \ | ||
| 65 | - | all.sh snapper.sh ssh-keygen.sh archup-cli.sh archup-first-boot.service | 65 | + | all.sh snapper.sh ufw.sh ssh-keygen.sh archup-cli.sh archup-first-boot.service |
| 66 | 66 | ||||
| 67 | # Package lists | 67 | # Package lists | ||
| 68 | curl -sL "$GITHUB_RAW/install/base.packages" -o "$ARCHUP_INSTALL/base.packages" 2>/dev/null | 68 | curl -sL "$GITHUB_RAW/install/base.packages" -o "$ARCHUP_INSTALL/base.packages" 2>/dev/null | ||
M install/post-boot/all.sh +12 -2
| @@ -16,9 +16,19 @@ echo "" | |||
| 16 | 16 | if [ -f /usr/local/share/archup/post-boot/snapper.sh ]; then | |
| 17 | 17 | echo "Configuring snapper..." | tee -a "$LOG_FILE" | |
| 18 | 18 | if bash /usr/local/share/archup/post-boot/snapper.sh >> "$LOG_FILE" 2>&1; then | |
| 19 | - | echo "✓ Snapper configured successfully" | tee -a "$LOG_FILE" | |
| 19 | + | echo "Snapper configured successfully" | tee -a "$LOG_FILE" | |
| 20 | 20 | else | |
| 21 | - | echo "✗ Snapper configuration failed (non-critical)" | tee -a "$LOG_FILE" | |
| 21 | + | echo "Snapper configuration failed (non-critical)" | tee -a "$LOG_FILE" | |
| 22 | + | fi | |
| 23 | + | fi | |
| 24 | + | ||
| 25 | + | # Configure UFW firewall | |
| 26 | + | if [ -f /usr/local/share/archup/post-boot/ufw.sh ]; then | |
| 27 | + | echo "Configuring firewall..." | tee -a "$LOG_FILE" | |
| 28 | + | if bash /usr/local/share/archup/post-boot/ufw.sh >> "$LOG_FILE" 2>&1; then | |
| 29 | + | echo "Firewall configured successfully" | tee -a "$LOG_FILE" | |
| 30 | + | else | |
| 31 | + | echo "Firewall configuration failed (non-critical)" | tee -a "$LOG_FILE" | |
| 22 | 32 | fi | |
| 23 | 33 | fi | |
| 24 | 34 | ||
| @@ -16,9 +16,19 @@ echo "" | |||||
| 16 | if [ -f /usr/local/share/archup/post-boot/snapper.sh ]; then | 16 | if [ -f /usr/local/share/archup/post-boot/snapper.sh ]; then | ||
| 17 | echo "Configuring snapper..." | tee -a "$LOG_FILE" | 17 | echo "Configuring snapper..." | tee -a "$LOG_FILE" | ||
| 18 | if bash /usr/local/share/archup/post-boot/snapper.sh >> "$LOG_FILE" 2>&1; then | 18 | if bash /usr/local/share/archup/post-boot/snapper.sh >> "$LOG_FILE" 2>&1; then | ||
| 19 | - | echo "✓ Snapper configured successfully" | tee -a "$LOG_FILE" | 19 | + | echo "Snapper configured successfully" | tee -a "$LOG_FILE" |
| 20 | else | 20 | else | ||
| 21 | - | echo "✗ Snapper configuration failed (non-critical)" | tee -a "$LOG_FILE" | 21 | + | echo "Snapper configuration failed (non-critical)" | tee -a "$LOG_FILE" |
| 22 | + | fi | |||
| 23 | + | fi | |||
| 24 | + | ||||
| 25 | + | # Configure UFW firewall | |||
| 26 | + | if [ -f /usr/local/share/archup/post-boot/ufw.sh ]; then | |||
| 27 | + | echo "Configuring firewall..." | tee -a "$LOG_FILE" | |||
| 28 | + | if bash /usr/local/share/archup/post-boot/ufw.sh >> "$LOG_FILE" 2>&1; then | |||
| 29 | + | echo "Firewall configured successfully" | tee -a "$LOG_FILE" | |||
| 30 | + | else | |||
| 31 | + | echo "Firewall configuration failed (non-critical)" | tee -a "$LOG_FILE" | |||
| 22 | fi | 32 | fi | ||
| 23 | fi | 33 | fi | ||
| 24 | 34 | ||||
A install/post-boot/ufw.sh +14 -0
| @@ -0,0 +1,14 @@ | |||
| 1 | + | #!/bin/bash | |
| 2 | + | # Post-boot: Configure UFW (Uncomplicated Firewall) with basic protection | |
| 3 | + | ||
| 4 | + | # Set default policies | |
| 5 | + | ufw --force default deny incoming | |
| 6 | + | ufw --force default allow outgoing | |
| 7 | + | ||
| 8 | + | # Enable UFW | |
| 9 | + | ufw --force enable | |
| 10 | + | ||
| 11 | + | # Enable UFW service to start on boot | |
| 12 | + | systemctl enable ufw.service | |
| 13 | + | ||
| 14 | + | echo "Firewall configured (default deny incoming)" | |
| @@ -0,0 +1,14 @@ | |||||
| 1 | + | #!/bin/bash | |||
| 2 | + | # Post-boot: Configure UFW (Uncomplicated Firewall) with basic protection | |||
| 3 | + | ||||
| 4 | + | # Set default policies | |||
| 5 | + | ufw --force default deny incoming | |||
| 6 | + | ufw --force default allow outgoing | |||
| 7 | + | ||||
| 8 | + | # Enable UFW | |||
| 9 | + | ufw --force enable | |||
| 10 | + | ||||
| 11 | + | # Enable UFW service to start on boot | |||
| 12 | + | systemctl enable ufw.service | |||
| 13 | + | ||||
| 14 | + | echo "Firewall configured (default deny incoming)" | |||
M install/post-install/all.sh +0 -1
| @@ -4,7 +4,6 @@ | |||
| 4 | 4 | source "$ARCHUP_INSTALL/post-install/boot-logo.sh" | |
| 5 | 5 | source "$ARCHUP_INSTALL/post-install/plymouth.sh" | |
| 6 | 6 | source "$ARCHUP_INSTALL/post-install/snapper.sh" | |
| 7 | - | source "$ARCHUP_INSTALL/post-install/ufw.sh" | |
| 8 | 7 | source "$ARCHUP_INSTALL/post-install/pacman.sh" | |
| 9 | 8 | source "$ARCHUP_INSTALL/post-install/post-boot-setup.sh" | |
| 10 | 9 | source "$ARCHUP_INSTALL/post-install/hooks.sh" | |
| @@ -4,7 +4,6 @@ | |||||
| 4 | source "$ARCHUP_INSTALL/post-install/boot-logo.sh" | 4 | source "$ARCHUP_INSTALL/post-install/boot-logo.sh" | ||
| 5 | source "$ARCHUP_INSTALL/post-install/plymouth.sh" | 5 | source "$ARCHUP_INSTALL/post-install/plymouth.sh" | ||
| 6 | source "$ARCHUP_INSTALL/post-install/snapper.sh" | 6 | source "$ARCHUP_INSTALL/post-install/snapper.sh" | ||
| 7 | - | source "$ARCHUP_INSTALL/post-install/ufw.sh" | |||
| 8 | source "$ARCHUP_INSTALL/post-install/pacman.sh" | 7 | source "$ARCHUP_INSTALL/post-install/pacman.sh" | ||
| 9 | source "$ARCHUP_INSTALL/post-install/post-boot-setup.sh" | 8 | source "$ARCHUP_INSTALL/post-install/post-boot-setup.sh" | ||
| 10 | source "$ARCHUP_INSTALL/post-install/hooks.sh" | 9 | source "$ARCHUP_INSTALL/post-install/hooks.sh" | ||
M install/post-install/post-boot-setup.sh +1 -0
| @@ -12,6 +12,7 @@ cp "$ARCHUP_PATH/logo.txt" /mnt/usr/local/share/archup/ | |||
| 12 | 12 | # Copy all post-boot scripts | |
| 13 | 13 | cp "$ARCHUP_INSTALL/post-boot/all.sh" /mnt/usr/local/share/archup/post-boot/ | |
| 14 | 14 | cp "$ARCHUP_INSTALL/post-boot/snapper.sh" /mnt/usr/local/share/archup/post-boot/ | |
| 15 | + | cp "$ARCHUP_INSTALL/post-boot/ufw.sh" /mnt/usr/local/share/archup/post-boot/ | |
| 15 | 16 | cp "$ARCHUP_INSTALL/post-boot/ssh-keygen.sh" /mnt/usr/local/share/archup/post-boot/ | |
| 16 | 17 | cp "$ARCHUP_INSTALL/post-boot/archup-cli.sh" /mnt/usr/local/share/archup/post-boot/ | |
| 17 | 18 | ||
| @@ -12,6 +12,7 @@ cp "$ARCHUP_PATH/logo.txt" /mnt/usr/local/share/archup/ | |||||
| 12 | # Copy all post-boot scripts | 12 | # Copy all post-boot scripts | ||
| 13 | cp "$ARCHUP_INSTALL/post-boot/all.sh" /mnt/usr/local/share/archup/post-boot/ | 13 | cp "$ARCHUP_INSTALL/post-boot/all.sh" /mnt/usr/local/share/archup/post-boot/ | ||
| 14 | cp "$ARCHUP_INSTALL/post-boot/snapper.sh" /mnt/usr/local/share/archup/post-boot/ | 14 | cp "$ARCHUP_INSTALL/post-boot/snapper.sh" /mnt/usr/local/share/archup/post-boot/ | ||
| 15 | + | cp "$ARCHUP_INSTALL/post-boot/ufw.sh" /mnt/usr/local/share/archup/post-boot/ | |||
| 15 | cp "$ARCHUP_INSTALL/post-boot/ssh-keygen.sh" /mnt/usr/local/share/archup/post-boot/ | 16 | cp "$ARCHUP_INSTALL/post-boot/ssh-keygen.sh" /mnt/usr/local/share/archup/post-boot/ | ||
| 16 | cp "$ARCHUP_INSTALL/post-boot/archup-cli.sh" /mnt/usr/local/share/archup/post-boot/ | 17 | cp "$ARCHUP_INSTALL/post-boot/archup-cli.sh" /mnt/usr/local/share/archup/post-boot/ | ||
| 17 | 18 | ||||
D install/post-install/ufw.sh +0 -24
| @@ -1,24 +0,0 @@ | |||
| 1 | - | #!/bin/bash | |
| 2 | - | # Configure UFW (Uncomplicated Firewall) with basic protection | |
| 3 | - | ||
| 4 | - | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Configuring firewall..." | |
| 5 | - | ||
| 6 | - | # UFW is installed via extra.packages | |
| 7 | - | # Configure basic firewall rules | |
| 8 | - | ||
| 9 | - | # Set default policies | |
| 10 | - | arch-chroot /mnt ufw --force default deny incoming >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |
| 11 | - | arch-chroot /mnt ufw --force default allow outgoing >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |
| 12 | - | ||
| 13 | - | # Allow common local services (optional - can be removed for stricter security) | |
| 14 | - | # arch-chroot /mnt ufw allow ssh >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |
| 15 | - | ||
| 16 | - | # Enable UFW | |
| 17 | - | arch-chroot /mnt ufw --force enable >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |
| 18 | - | ||
| 19 | - | # Enable UFW service to start on boot | |
| 20 | - | arch-chroot /mnt systemctl enable ufw.service >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |
| 21 | - | ||
| 22 | - | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Firewall configured (default deny incoming)" | |
| 23 | - | ||
| 24 | - | echo "UFW configured: default deny incoming, allow outgoing" >> "$ARCHUP_INSTALL_LOG_FILE" | |
| @@ -1,24 +0,0 @@ | |||||
| 1 | - | #!/bin/bash | |||
| 2 | - | # Configure UFW (Uncomplicated Firewall) with basic protection | |||
| 3 | - | ||||
| 4 | - | gum style --foreground 6 --padding "1 0 0 $PADDING_LEFT" "Configuring firewall..." | |||
| 5 | - | ||||
| 6 | - | # UFW is installed via extra.packages | |||
| 7 | - | # Configure basic firewall rules | |||
| 8 | - | ||||
| 9 | - | # Set default policies | |||
| 10 | - | arch-chroot /mnt ufw --force default deny incoming >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 11 | - | arch-chroot /mnt ufw --force default allow outgoing >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 12 | - | ||||
| 13 | - | # Allow common local services (optional - can be removed for stricter security) | |||
| 14 | - | # arch-chroot /mnt ufw allow ssh >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 15 | - | ||||
| 16 | - | # Enable UFW | |||
| 17 | - | arch-chroot /mnt ufw --force enable >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 18 | - | ||||
| 19 | - | # Enable UFW service to start on boot | |||
| 20 | - | arch-chroot /mnt systemctl enable ufw.service >> "$ARCHUP_INSTALL_LOG_FILE" 2>&1 | |||
| 21 | - | ||||
| 22 | - | gum style --foreground 2 --padding "0 0 1 $PADDING_LEFT" "[OK] Firewall configured (default deny incoming)" | |||
| 23 | - | ||||
| 24 | - | echo "UFW configured: default deny incoming, allow outgoing" >> "$ARCHUP_INSTALL_LOG_FILE" | |||