Tutorial

Neue Updates und Verbesserungen zu Macfleet.

Wichtiger Hinweis

Die in diesen Tutorials bereitgestellten Codebeispiele und Skripte dienen nur zu Bildungszwecken. Macfleet ist nicht verantwortlich für Probleme, Schäden oder Sicherheitslücken, die durch die Verwendung, Änderung oder Implementierung dieser Beispiele entstehen können. Überprüfen und testen Sie Code immer in einer sicheren Umgebung, bevor Sie ihn in Produktionssystemen verwenden.

Safari Browser Management on macOS

Manage Safari browser configurations and policies across your MacFleet devices with enterprise-grade settings deployment. This tutorial covers homepage configuration, security settings, user management, and comprehensive browser policy enforcement.

Understanding Safari Browser Management

Safari browser management on macOS involves configuring browser settings, security policies, and user preferences across enterprise devices:

Core Components

  • Homepage Configuration - Set default landing pages for users
  • Security Settings - Manage privacy, security, and content policies
  • User Preferences - Control browser behavior and features
  • Policy Enforcement - Deploy and maintain consistent browser settings
  • Fleet Management - Mass configuration across multiple devices

Enterprise Benefits

  • Standardized Browsing - Consistent user experience across devices
  • Security Compliance - Enforce security policies and restrictions
  • Productivity Control - Manage access to sites and features
  • Policy Deployment - Centralized browser configuration management
  • Audit Capabilities - Track and monitor browser usage patterns

Basic Safari Homepage Configuration

Simple Homepage Setup

#!/bin/bash

# Enhanced Safari homepage configuration
configure_safari_homepage() {
    local homepage_url="${1:-https://macfleet.io}"
    local apply_to_all_users="${2:-true}"
    
    echo "🌐 Safari Homepage Configuration"
    echo "==============================="
    echo "Homepage URL: $homepage_url"
    echo "Apply to all users: $apply_to_all_users"
    echo ""
    
    # Validate URL format
    if ! [[ "$homepage_url" =~ ^https?:// ]]; then
        echo "⚠️ Adding https:// to URL: $homepage_url"
        homepage_url="https://$homepage_url"
    fi
    
    echo "Final homepage URL: $homepage_url"
    echo ""
    
    # Kill Safari processes to ensure settings take effect
    echo "Terminating Safari processes..."
    sudo killall -9 Safari 2>/dev/null || echo "No Safari processes running"
    sleep 2
    
    if [[ "$apply_to_all_users" == "true" ]]; then
        configure_all_users_safari "$homepage_url"
    else
        configure_current_user_safari "$homepage_url"
    fi
}

# Configure Safari for all users
configure_all_users_safari() {
    local homepage="$1"
    local users_configured=0
    local users_failed=0
    
    echo "Configuring Safari for all users..."
    echo ""
    
    # Loop through each user to set homepage preferences
    for user in $(ls /Users | grep -v Shared | grep -v npsparcc | grep -v ".localized" | grep -v "Guest"); do
        echo "Processing user: $user"
        
        # Check if user home directory exists
        if [[ ! -d "/Users/$user" ]]; then
            echo "⚠️ User directory not found, skipping: $user"
            continue
        fi
        
        # Configure Safari settings
        if configure_user_safari_settings "$user" "$homepage"; then
            echo "✅ Safari configured successfully for user: $user"
            ((users_configured++))
        else
            echo "❌ Failed to configure Safari for user: $user"
            ((users_failed++))
        fi
        echo ""
    done
    
    echo "=== Configuration Summary ==="
    echo "Users configured: $users_configured"
    echo "Users failed: $users_failed"
    echo "Total processed: $((users_configured + users_failed))"
}

# Configure Safari settings for specific user
configure_user_safari_settings() {
    local user="$1"
    local homepage="$2"
    
    # Set Safari homepage
    if su - "$user" -c "defaults write com.apple.Safari HomePage '$homepage'" 2>/dev/null; then
        # Set new window behavior (0 = homepage)
        su - "$user" -c "defaults write com.apple.Safari NewWindowBehavior -int 0" 2>/dev/null
        
        # Set new tab behavior (0 = homepage)
        su - "$user" -c "defaults write com.apple.Safari NewTabBehavior -int 0" 2>/dev/null
        
        # Verify settings
        local current_homepage
        current_homepage=$(su - "$user" -c "defaults read com.apple.Safari HomePage" 2>/dev/null)
        
        if [[ "$current_homepage" == "$homepage" ]]; then
            echo "  Homepage set: $current_homepage"
            echo "  New window behavior: Homepage"
            echo "  New tab behavior: Homepage"
            return 0
        else
            echo "  ⚠️ Verification failed"
            return 1
        fi
    else
        echo "  ❌ Failed to write Safari preferences"
        return 1
    fi
}

# Configure current user only
configure_current_user_safari() {
    local homepage="$1"
    local current_user=$(whoami)
    
    echo "Configuring Safari for current user: $current_user"
    
    if configure_user_safari_settings "$current_user" "$homepage"; then
        echo "✅ Safari configured successfully for current user"
    else
        echo "❌ Failed to configure Safari for current user"
        return 1
    fi
}

# Execute basic homepage configuration
echo "Basic Safari Homepage Configuration:"
echo "===================================="
configure_safari_homepage "https://macfleet.io" true

Enterprise Safari Management System

Comprehensive Browser Configuration Manager

#!/bin/bash

# Enterprise Safari management system
enterprise_safari_manager() {
    local operation="${1:-configure}"
    local config_profile="${2:-standard}"
    local target_users="${3:-all}"
    
    echo "🏢 MacFleet Safari Enterprise Manager"
    echo "===================================="
    echo "Operation: $operation"
    echo "Profile: $config_profile"
    echo "Target users: $target_users"
    echo ""
    
    # Configuration profiles
    declare -A config_profiles
    config_profiles[standard]="https://macfleet.io:true:true:false"
    config_profiles[secure]="https://macfleet.io:true:true:true"
    config_profiles[education]="https://education.macfleet.io:true:false:true"
    config_profiles[kiosk]="https://kiosk.macfleet.io:false:false:true"
    
    case "$operation" in
        "configure")
            deploy_safari_configuration "$config_profile" "$target_users"
            ;;
        "security")
            apply_security_settings "$config_profile" "$target_users"
            ;;
        "audit")
            audit_safari_settings "$target_users"
            ;;
        "backup")
            backup_safari_settings "$target_users"
            ;;
        "restore")
            restore_safari_settings "$target_users"
            ;;
        *)
            echo "❌ Unknown operation: $operation"
            echo "Available operations: configure, security, audit, backup, restore"
            return 1
            ;;
    esac
}

# Deploy comprehensive Safari configuration
deploy_safari_configuration() {
    local profile="$1"
    local target_users="$2"
    
    echo "📋 Deploying Safari Configuration"
    echo "================================="
    
    # Parse configuration profile
    local config_string="${config_profiles[$profile]:-${config_profiles[standard]}}"
    IFS=':' read -r homepage block_popups auto_fill restrict_sites <<< "$config_string"
    
    echo "Configuration Profile: $profile"
    echo "Homepage: $homepage"
    echo "Block popups: $block_popups"
    echo "Auto-fill: $auto_fill" 
    echo "Restrict sites: $restrict_sites"
    echo ""
    
    # Get target user list
    local users_list=()
    if [[ "$target_users" == "all" ]]; then
        readarray -t users_list < <(ls /Users | grep -v Shared | grep -v npsparcc | grep -v ".localized" | grep -v "Guest")
    else
        IFS=',' read -ra users_list <<< "$target_users"
    fi
    
    local configured=0
    local failed=0
    
    # Kill Safari processes first
    echo "Terminating all Safari processes..."
    sudo killall -9 Safari 2>/dev/null || echo "No Safari processes running"
    sleep 3
    
    # Configure each user
    for user in "${users_list[@]}"; do
        if [[ -n "$user" && -d "/Users/$user" ]]; then
            echo "Configuring user: $user"
            
            if apply_user_safari_config "$user" "$homepage" "$block_popups" "$auto_fill" "$restrict_sites"; then
                echo "✅ Configuration applied successfully"
                ((configured++))
            else
                echo "❌ Configuration failed"
                ((failed++))
            fi
            echo ""
        fi
    done
    
    # Generate deployment report
    cat > "/tmp/safari_deployment_$(date +%Y%m%d_%H%M%S).log" << EOF
Safari Configuration Deployment Report
=====================================
Date: $(date)
Profile: $profile
Target: $target_users

Configuration Details:
- Homepage: $homepage
- Block popups: $block_popups
- Auto-fill: $auto_fill
- Restrict sites: $restrict_sites

Results:
- Successfully configured: $configured users
- Failed configurations: $failed users
- Total processed: $((configured + failed)) users

Deployment Status: $([[ "$failed" -eq 0 ]] && echo "SUCCESS" || echo "PARTIAL")
EOF
    
    echo "=== Deployment Summary ==="
    echo "Successfully configured: $configured users"
    echo "Failed configurations: $failed users"
    echo "Total processed: $((configured + failed)) users"
    
    if [[ "$failed" -eq 0 ]]; then
        echo "🎉 Deployment completed successfully!"
    else
        echo "⚠️ Deployment completed with some failures"
    fi
}

# Apply comprehensive Safari settings for user
apply_user_safari_config() {
    local user="$1"
    local homepage="$2"
    local block_popups="$3"
    local auto_fill="$4"
    local restrict_sites="$5"
    
    local settings_applied=0
    
    # Set homepage and window/tab behavior
    if su - "$user" -c "defaults write com.apple.Safari HomePage '$homepage'" 2>/dev/null; then
        su - "$user" -c "defaults write com.apple.Safari NewWindowBehavior -int 0" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari NewTabBehavior -int 0" 2>/dev/null
        ((settings_applied++))
    fi
    
    # Configure popup blocking
    if [[ "$block_popups" == "true" ]]; then
        su - "$user" -c "defaults write com.apple.Safari WebKitJavaScriptCanOpenWindowsAutomatically -bool false" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2JavaScriptCanOpenWindowsAutomatically -bool false" 2>/dev/null
        ((settings_applied++))
    fi
    
    # Configure auto-fill settings
    if [[ "$auto_fill" == "true" ]]; then
        su - "$user" -c "defaults write com.apple.Safari AutoFillFormData -bool true" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari AutoFillPasswords -bool true" 2>/dev/null
    else
        su - "$user" -c "defaults write com.apple.Safari AutoFillFormData -bool false" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari AutoFillPasswords -bool false" 2>/dev/null
    fi
    ((settings_applied++))
    
    # Configure security settings
    if [[ "$restrict_sites" == "true" ]]; then
        # Enable parental controls and restrictions
        su - "$user" -c "defaults write com.apple.Safari WebKitDeveloperExtrasEnabled -bool false" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari IncludeDevelopMenu -bool false" 2>/dev/null
        su - "$user" -c "defaults write com.apple.Safari WebKitJavaEnabled -bool false" 2>/dev/null
        ((settings_applied++))
    fi
    
    # Additional security settings
    su - "$user" -c "defaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true" 2>/dev/null
    su - "$user" -c "defaults write com.apple.Safari InstallExtensionUpdatesAutomatically -bool true" 2>/dev/null
    
    return $([[ "$settings_applied" -ge 3 ]] && echo 0 || echo 1)
}

# Security-focused Safari configuration
apply_security_settings() {
    local profile="$1"
    local target_users="$2"
    
    echo "🔒 Applying Security Settings"
    echo "============================"
    echo ""
    
    # Get user list
    local users_list=()
    if [[ "$target_users" == "all" ]]; then
        readarray -t users_list < <(ls /Users | grep -v Shared | grep -v npsparcc | grep -v ".localized" | grep -v "Guest")
    else
        IFS=',' read -ra users_list <<< "$target_users"
    fi
    
    for user in "${users_list[@]}"; do
        if [[ -n "$user" && -d "/Users/$user" ]]; then
            echo "Applying security settings for user: $user"
            
            # Enhanced security settings
            su - "$user" -c "defaults write com.apple.Safari WebKitJavaScriptEnabled -bool false" 2>/dev/null
            su - "$user" -c "defaults write com.apple.Safari WebKitJavaEnabled -bool false" 2>/dev/null
            su - "$user" -c "defaults write com.apple.Safari WebKitPluginsEnabled -bool false" 2>/dev/null
            su - "$user" -c "defaults write com.apple.Safari SendDoNotTrackHTTPHeader -bool true" 2>/dev/null
            su - "$user" -c "defaults write com.apple.Safari WarnAboutFraudulentWebsites -bool true" 2>/dev/null
            su - "$user" -c "defaults write com.apple.Safari BlockStoragePolicy -int 2" 2>/dev/null
            
            echo "✅ Security settings applied"
        fi
    done
}

# Audit current Safari settings
audit_safari_settings() {
    local target_users="$1"
    local audit_file="/tmp/safari_audit_$(date +%Y%m%d_%H%M%S).json"
    
    echo "📊 Auditing Safari Settings"
    echo "==========================="
    echo ""
    
    {
        echo "{"
        echo "  \"audit_report\": {"
        echo "    \"generated\": \"$(date -u +"%Y-%m-%dT%H:%M:%SZ")\","
        echo "    \"hostname\": \"$(hostname)\","
        echo "    \"users\": ["
        
        local first_user=true
        local total_users=0
        local compliant_users=0
        
        # Get user list
        local users_list=()
        if [[ "$target_users" == "all" ]]; then
            readarray -t users_list < <(ls /Users | grep -v Shared | grep -v npsparcc | grep -v ".localized" | grep -v "Guest")
        else
            IFS=',' read -ra users_list <<< "$target_users"
        fi
        
        for user in "${users_list[@]}"; do
            if [[ -n "$user" && -d "/Users/$user" ]]; then
                if [[ "$first_user" == "false" ]]; then
                    echo ","
                fi
                
                local homepage=$(su - "$user" -c "defaults read com.apple.Safari HomePage" 2>/dev/null || echo "Not set")
                local popup_blocking=$(su - "$user" -c "defaults read com.apple.Safari WebKitJavaScriptCanOpenWindowsAutomatically" 2>/dev/null || echo "true")
                local do_not_track=$(su - "$user" -c "defaults read com.apple.Safari SendDoNotTrackHTTPHeader" 2>/dev/null || echo "false")
                
                local is_compliant="false"
                if [[ "$homepage" =~ macfleet ]] && [[ "$popup_blocking" == "false" ]] && [[ "$do_not_track" == "true" ]]; then
                    is_compliant="true"
                    ((compliant_users++))
                fi
                
                echo "      {"
                echo "        \"username\": \"$user\","
                echo "        \"homepage\": \"$homepage\","
                echo "        \"popup_blocking\": $([[ "$popup_blocking" == "false" ]] && echo "true" || echo "false"),"
                echo "        \"do_not_track\": $([[ "$do_not_track" == "true" ]] && echo "true" || echo "false"),"
                echo "        \"compliant\": $is_compliant"
                echo -n "      }"
                
                first_user=false
                ((total_users++))
            fi
        done
        
        echo ""
        echo "    ],"
        echo "    \"summary\": {"
        echo "      \"total_users\": $total_users,"
        echo "      \"compliant_users\": $compliant_users,"
        echo "      \"compliance_rate\": \"$(echo "scale=1; ($compliant_users * 100) / $total_users" | bc 2>/dev/null || echo "0")%\""
        echo "    }"
        echo "  }"
        echo "}"
    } > "$audit_file"
    
    echo "✅ Audit completed: $audit_file"
    echo ""
    echo "=== Audit Summary ==="
    echo "Total users: $total_users"
    echo "Compliant users: $compliant_users"
    
    if [[ "$total_users" -gt 0 ]]; then
        local compliance_rate=$(echo "scale=1; ($compliant_users * 100) / $total_users" | bc 2>/dev/null || echo "0")
        echo "Compliance rate: ${compliance_rate}%"
    fi
}

# Usage examples
echo "Safari Manager Examples:"
echo "==================================="
echo ""

echo "1. Deploy standard configuration:"
enterprise_safari_manager "configure" "standard" "all"
echo ""

echo "2. Apply security settings:"
enterprise_safari_manager "security" "secure" "all"
echo ""

echo "3. Audit current settings:"
enterprise_safari_manager "audit" "all"

Important Notes

Enterprise Features

  • Profile-Based Configuration - Predefined settings for different use cases
  • Mass User Management - Deploy settings across all system users
  • Security Policy Enforcement - Advanced security and privacy controls
  • Audit and Compliance - Track configuration compliance across fleet
  • Backup and Restore - Preserve and restore browser configurations

Configuration Profiles

  • Standard - Basic enterprise settings with MacFleet homepage
  • Secure - Enhanced security with restricted features
  • Education - Educational environment optimizations
  • Kiosk - Locked-down configuration for public access

Security Features

  • Popup Blocking - Prevent unwanted popup windows
  • JavaScript Control - Manage script execution permissions
  • Do Not Track - Enhanced privacy protection
  • Auto-fill Management - Control form and password auto-completion
  • Developer Tools - Restrict access to debugging features

Usage Examples

# Basic homepage setup
homepage="https://macfleet.io"
sudo killall -9 Safari
for user in $(ls /Users | grep -v Shared | grep -v npsparcc | grep -v ".localized"); do
    su - "$user" -c "defaults write com.apple.Safari HomePage $homepage"
    su - "$user" -c "defaults write com.apple.Safari NewWindowBehavior -int 0"
    su - "$user" -c "defaults write com.apple.Safari NewTabBehavior -int 0"
    echo "Set Safari homepage to $homepage for $user."
done

# Enhanced MacFleet configuration
configure_safari_homepage "https://macfleet.io" true

# Enterprise deployment
enterprise_safari_manager "configure" "secure" "all"

# Security audit
enterprise_safari_manager "audit" "all"

Tutorial

Neue Updates und Verbesserungen zu Macfleet.

Konfiguration eines GitHub Actions Runners auf einem Mac Mini (Apple Silicon)

GitHub Actions Runner

GitHub Actions ist eine leistungsstarke CI/CD-Plattform, die es Ihnen ermöglicht, Ihre Software-Entwicklungsworkflows zu automatisieren. Während GitHub gehostete Runner anbietet, bieten selbst-gehostete Runner erhöhte Kontrolle und Anpassung für Ihr CI/CD-Setup. Dieses Tutorial führt Sie durch die Einrichtung, Konfiguration und Verbindung eines selbst-gehosteten Runners auf einem Mac mini zur Ausführung von macOS-Pipelines.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie haben:

  • Einen Mac mini (registrieren Sie sich bei Macfleet)
  • Ein GitHub-Repository mit Administratorrechten
  • Einen installierten Paketmanager (vorzugsweise Homebrew)
  • Git auf Ihrem System installiert

Schritt 1: Ein dediziertes Benutzerkonto erstellen

Erstellen Sie zunächst ein dediziertes Benutzerkonto für den GitHub Actions Runner:

# Das 'gh-runner' Benutzerkonto erstellen
sudo dscl . -create /Users/gh-runner
sudo dscl . -create /Users/gh-runner UserShell /bin/bash
sudo dscl . -create /Users/gh-runner RealName "GitHub runner"
sudo dscl . -create /Users/gh-runner UniqueID "1001"
sudo dscl . -create /Users/gh-runner PrimaryGroupID 20
sudo dscl . -create /Users/gh-runner NFSHomeDirectory /Users/gh-runner

# Das Passwort für den Benutzer setzen
sudo dscl . -passwd /Users/gh-runner ihr_passwort

# 'gh-runner' zur 'admin'-Gruppe hinzufügen
sudo dscl . -append /Groups/admin GroupMembership gh-runner

Wechseln Sie zum neuen Benutzerkonto:

su gh-runner

Schritt 2: Erforderliche Software installieren

Installieren Sie Git und Rosetta 2 (wenn Sie Apple Silicon verwenden):

# Git installieren, falls noch nicht installiert
brew install git

# Rosetta 2 für Apple Silicon Macs installieren
softwareupdate --install-rosetta

Schritt 3: Den GitHub Actions Runner konfigurieren

  1. Gehen Sie zu Ihrem GitHub-Repository
  2. Navigieren Sie zu Einstellungen > Actions > Runners

GitHub Actions Runner

  1. Klicken Sie auf "New self-hosted runner" (https://github.com/<username>/<repository>/settings/actions/runners/new)
  2. Wählen Sie macOS als Runner-Image und ARM64 als Architektur
  3. Folgen Sie den bereitgestellten Befehlen, um den Runner herunterzuladen und zu konfigurieren

GitHub Actions Runner

Erstellen Sie eine .env-Datei im _work-Verzeichnis des Runners:

# _work/.env Datei
ImageOS=macos15
XCODE_15_DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
  1. Führen Sie das run.sh-Skript in Ihrem Runner-Verzeichnis aus, um die Einrichtung abzuschließen.
  2. Überprüfen Sie, dass der Runner aktiv ist und auf Jobs im Terminal wartet, und überprüfen Sie die GitHub-Repository-Einstellungen für die Runner-Zuordnung und den Idle-Status.

GitHub Actions Runner

Schritt 4: Sudoers konfigurieren (Optional)

Wenn Ihre Actions Root-Privilegien benötigen, konfigurieren Sie die sudoers-Datei:

sudo visudo

Fügen Sie die folgende Zeile hinzu:

gh-runner ALL=(ALL) NOPASSWD: ALL

Schritt 5: Den Runner in Workflows verwenden

Konfigurieren Sie Ihren GitHub Actions Workflow, um den selbst-gehosteten Runner zu verwenden:

name: Beispiel-Workflow

on:
  workflow_dispatch:

jobs:
  build:
    runs-on: [self-hosted, macOS, ARM64]
    steps:
      - name: NodeJS installieren
        run: brew install node

Der Runner ist bei Ihrem Repository authentifiziert und mit self-hosted, macOS und ARM64 markiert. Verwenden Sie ihn in Ihren Workflows, indem Sie diese Labels im runs-on-Feld angeben:

runs-on: [self-hosted, macOS, ARM64]

Best Practices

  • Halten Sie Ihre Runner-Software auf dem neuesten Stand
  • Überwachen Sie regelmäßig Runner-Logs auf Probleme
  • Verwenden Sie spezifische Labels für verschiedene Runner-Typen
  • Implementieren Sie angemessene Sicherheitsmaßnahmen
  • Erwägen Sie die Verwendung mehrerer Runner für Lastverteilung

Fehlerbehebung

Häufige Probleme und Lösungen:

  1. Runner verbindet sich nicht:

    • Überprüfen Sie die Netzwerkverbindung
    • Überprüfen Sie die Gültigkeit des GitHub-Tokens
    • Stellen Sie angemessene Berechtigungen sicher
  2. Build-Fehler:

    • Überprüfen Sie die Xcode-Installation
    • Überprüfen Sie erforderliche Abhängigkeiten
    • Überprüfen Sie Workflow-Logs
  3. Berechtigungsprobleme:

    • Überprüfen Sie Benutzerberechtigungen
    • Überprüfen Sie sudoers-Konfiguration
    • Überprüfen Sie Dateisystem-Berechtigungen

Fazit

Sie haben jetzt einen selbst-gehosteten GitHub Actions Runner auf Ihrem Mac mini konfiguriert. Diese Einrichtung bietet Ihnen mehr Kontrolle über Ihre CI/CD-Umgebung und ermöglicht es Ihnen, macOS-spezifische Workflows effizient auszuführen.

Denken Sie daran, Ihren Runner regelmäßig zu warten und ihn mit den neuesten Sicherheitspatches und Software-Versionen auf dem neuesten Stand zu halten.

Native App

Macfleet native App

Macfleet Installationsanleitung

Macfleet ist eine leistungsstarke Flottenmanagement-Lösung, die speziell für Cloud-gehostete Mac Mini-Umgebungen entwickelt wurde. Als Mac Mini Cloud-Hosting-Anbieter können Sie Macfleet verwenden, um Ihre gesamte Flotte virtualisierter Mac-Instanzen zu überwachen, zu verwalten und zu optimieren.

Diese Installationsanleitung führt Sie durch die Einrichtung der Macfleet-Überwachung auf macOS-, Windows- und Linux-Systemen, um eine umfassende Übersicht über Ihre Cloud-Infrastruktur zu gewährleisten.

🍎 macOS

  • Laden Sie die .dmg-Datei für Mac hier herunter
  • Doppelklicken Sie auf die heruntergeladene .dmg-Datei
  • Ziehen Sie die Macfleet-App in den Anwendungsordner
  • Werfen Sie die .dmg-Datei aus
  • Öffnen Sie Systemeinstellungen > Sicherheit & Datenschutz
    • Datenschutz-Tab > Bedienungshilfen
    • Aktivieren Sie Macfleet, um Überwachung zu erlauben
  • Starten Sie Macfleet aus den Anwendungen
  • Die Verfolgung startet automatisch

🪟 Windows

  • Laden Sie die .exe-Datei für Windows hier herunter
  • Rechtsklick auf die .exe-Datei > "Als Administrator ausführen"
  • Folgen Sie dem Installationsassistenten
  • Akzeptieren Sie die Allgemeinen Geschäftsbedingungen
  • Erlauben Sie in Windows Defender, wenn aufgefordert
  • Gewähren Sie Anwendungsüberwachungsberechtigungen
  • Starten Sie Macfleet aus dem Startmenü
  • Die Anwendung beginnt automatisch mit der Verfolgung

🐧 Linux

  • Laden Sie das .deb-Paket (Ubuntu/Debian) oder .rpm (CentOS/RHEL) hier herunter
  • Installieren Sie mit Ihrem Paketmanager
    • Ubuntu/Debian: sudo dpkg -i Macfleet-linux.deb
    • CentOS/RHEL: sudo rpm -ivh Macfleet-linux.rpm
  • Erlauben Sie X11-Zugriffsberechtigungen, wenn aufgefordert
  • Fügen Sie den Benutzer zu entsprechenden Gruppen hinzu, falls erforderlich
  • Starten Sie Macfleet aus dem Anwendungsmenü
  • Die Anwendung beginnt automatisch mit der Verfolgung

Hinweis: Nach der Installation auf allen Systemen melden Sie sich mit Ihren Macfleet-Anmeldedaten an, um Daten mit Ihrem Dashboard zu synchronisieren.