privacy-toolkit/tools/cryptomator/install.sh
2025-12-31 19:44:07 -07:00

125 lines
3.9 KiB
Bash
Executable file

#!/bin/bash
set -euo pipefail
# ==============================================================================
# Cryptomator Installation Script
# ==============================================================================
# Installs Cryptomator - Client-side cloud storage encryption
#
# Threat Model:
# - Cloud provider snooping (Dropbox, Google Drive, etc.)
# - Data breaches exposing cloud files
# - Government data requests to cloud providers
# - Cloud employee access to files
#
# How Cryptomator Protects:
# - Client-side encryption before files leave your computer
# - Zero-knowledge: Cloud provider can't decrypt files
# - Encrypts filenames and directory structure
# - Works with any cloud provider (Dropbox, GDrive, OneDrive, etc.)
#
# Source: https://cryptomator.org/
# ==============================================================================
# Colors
readonly GREEN='\033[0;32m'
readonly YELLOW='\033[1;33m'
readonly RED='\033[0;31m'
readonly NC='\033[0m'
log() { echo -e "${GREEN}[INFO]${NC} $*"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
error() { echo -e "${RED}[ERROR]${NC} $*"; exit 1; }
echo "=== Cryptomator Installation ==="
echo ""
echo "Choose installation method:"
echo " 1) .deb package (recommended - better system integration)"
echo " 2) AppImage (portable, works across distros)"
echo ""
read -p "Enter choice [1-2]: " choice
case $choice in
1)
log "Installing Cryptomator .deb package..."
# Get latest release
log "Fetching latest release..."
LATEST_URL=$(curl -s https://api.github.com/repos/cryptomator/cryptomator/releases/latest \
| grep "browser_download_url.*amd64.deb" \
| cut -d '"' -f 4)
if [ -z "$LATEST_URL" ]; then
error "Could not find latest .deb package"
fi
log "Downloading from: $LATEST_URL"
cd /tmp
wget -O cryptomator.deb "$LATEST_URL"
log "Installing .deb package..."
sudo apt install -y ./cryptomator.deb
rm cryptomator.deb
log "✅ Cryptomator .deb installed"
;;
2)
log "Installing Cryptomator AppImage..."
# Get latest AppImage
log "Fetching latest release..."
LATEST_URL=$(curl -s https://api.github.com/repos/cryptomator/cryptomator/releases/latest \
| grep "browser_download_url.*x86_64.AppImage\"" \
| cut -d '"' -f 4)
if [ -z "$LATEST_URL" ]; then
error "Could not find latest AppImage"
fi
log "Downloading from: $LATEST_URL"
mkdir -p ~/.local/bin
cd ~/.local/bin
wget -O Cryptomator.AppImage "$LATEST_URL"
chmod +x Cryptomator.AppImage
# Create desktop entry
log "Creating desktop entry..."
mkdir -p ~/.local/share/applications
cat > ~/.local/share/applications/cryptomator.desktop << 'DESKTOP'
[Desktop Entry]
Name=Cryptomator
Exec=$HOME/.local/bin/Cryptomator.AppImage
Icon=cryptomator
Type=Application
Categories=Utility;Security;
DESKTOP
log "✅ Cryptomator AppImage installed to ~/.local/bin/Cryptomator.AppImage"
;;
*)
error "Invalid choice"
;;
esac
echo ""
log "Verifying installation..."
if command -v cryptomator >/dev/null 2>&1 || [ -f ~/.local/bin/Cryptomator.AppImage ]; then
log "✅ Cryptomator installed successfully!"
else
warn "Installation verification failed"
fi
echo ""
echo "=== Installation Complete ==="
echo ""
echo "Usage:"
echo " 1. Launch Cryptomator from application menu"
echo " 2. Create a new vault in your cloud storage folder"
echo " 3. Set a strong password"
echo " 4. Unlock vault and mount it"
echo " 5. Copy files into mounted vault"
echo " 6. Files are encrypted before sync to cloud!"
echo ""
echo "📖 Documentation: https://docs.cryptomator.org/"