403Webshell
Server IP : 175.110.121.100  /  Your IP : 10.10.10.2
Web Server : Apache/2
System : Linux webserver 6.12.0-211.34.1.el10_2.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 15 07:56:02 EDT 2026 x86_64
User : webadmin ( 1000)
PHP Version : 8.3.31
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/webadmin/domains/share.kwakkel.me/private_html/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/webadmin/domains/share.kwakkel.me/private_html/install-netbird-mac.sh
#!/bin/bash
# NetBird ZJA Installatie voor Mac
# Draai als: sudo bash install-netbird-mac.sh
#
# Installeert NetBird CLI + GUI, configureert management URL voor ZJA
# Gebruiker logt zelf in via M365 SSO popup

set -e

MANAGEMENT_URL="https://net.zja.nl"
LOG="/var/log/netbird-install.log"

log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG"; }

log "=== NetBird ZJA installatie gestart ==="

# Detecteer architectuur
ARCH=$(uname -m)
if [ "$ARCH" = "arm64" ]; then
    PKG_URL="https://pkgs.netbird.io/macos/arm64"
    log "Apple Silicon (arm64) gedetecteerd"
else
    PKG_URL="https://pkgs.netbird.io/macos/amd64"
    log "Intel (amd64) gedetecteerd"
fi

# Check of NetBird CLI al geinstalleerd is — oude versie opruimen en vervangen
if command -v netbird &>/dev/null; then
    CURRENT=$(netbird version 2>/dev/null || echo "onbekend")
    log "Bestaande NetBird CLI gevonden (versie: $CURRENT) — opruimen voor verse install"

    # Stop en verwijder oude service
    netbird service stop 2>/dev/null || true
    netbird service uninstall 2>/dev/null || true

    # Verwijder oude binary (kan in /usr/local/bin of /opt/homebrew/bin staan)
    rm -f /usr/local/bin/netbird /opt/homebrew/bin/netbird 2>/dev/null || true

    log "Oude NetBird CLI verwijderd"
fi

log "NetBird CLI downloaden..."
curl -fsSL "$PKG_URL" -o /tmp/netbird-installer.pkg

log "CLI installeren..."
installer -pkg /tmp/netbird-installer.pkg -target /
rm -f /tmp/netbird-installer.pkg

# Wacht tot binary beschikbaar is
sleep 3

# Installeer en start de daemon service
netbird service install 2>/dev/null || true
netbird service start 2>/dev/null || true

NEW_VERSION=$(netbird version 2>/dev/null || echo "onbekend")
log "NetBird CLI geinstalleerd (versie: $NEW_VERSION)"

# === GUI (NetBird UI) installeren ===
if [ -d "/Applications/NetBird.app" ] || [ -d "/Applications/NetBird UI.app" ]; then
    log "NetBird GUI is al geinstalleerd"
else
    log "NetBird GUI installeren..."

    # Bepaal welke gebruiker dit script met sudo draait
    REAL_USER="${SUDO_USER:-$(whoami)}"

    # Methode 1: Homebrew (als beschikbaar bij de gebruiker)
    BREW_PATH=""
    if [ -x "/opt/homebrew/bin/brew" ]; then
        BREW_PATH="/opt/homebrew/bin/brew"
    elif [ -x "/usr/local/bin/brew" ]; then
        BREW_PATH="/usr/local/bin/brew"
    fi

    if [ -n "$BREW_PATH" ]; then
        log "Homebrew gevonden ($BREW_PATH), GUI installeren via brew cask..."
        # Brew moet NIET als root draaien, dus gebruik de echte gebruiker
        sudo -u "$REAL_USER" "$BREW_PATH" install --cask netbirdio/tap/netbird-ui 2>&1 | tee -a "$LOG" || {
            log "WAARSCHUWING: brew cask installatie mislukt, probeer handmatige methode..."
            BREW_PATH=""
        }
    fi

    # Methode 2: Signed ZIP downloaden als brew niet beschikbaar of mislukt
    if [ -z "$BREW_PATH" ] || [ ! -d "/Applications/NetBird.app" -a ! -d "/Applications/NetBird UI.app" -a ! -d "/Applications/Netbird UI.app" ]; then
        log "GUI handmatig downloaden van GitHub..."

        # Haal laatste versie tag op
        LATEST=$(curl -fsSL "https://api.github.com/repos/netbirdio/netbird/releases/latest" | \
            python3 -c "import json,sys; print(json.load(sys.stdin)['tag_name'].lstrip('v'))" 2>/dev/null) || true

        if [ -n "$LATEST" ]; then
            if [ "$ARCH" = "arm64" ]; then
                ZIP_URL="https://github.com/netbirdio/netbird/releases/download/v${LATEST}/netbird-ui_${LATEST}_darwin_arm64_signed.zip"
            else
                ZIP_URL="https://github.com/netbirdio/netbird/releases/download/v${LATEST}/netbird-ui_${LATEST}_darwin_amd64_signed.zip"
            fi

            log "Signed ZIP downloaden: $ZIP_URL"
            curl -fsSL -L "$ZIP_URL" -o /tmp/netbird-ui.zip

            log "ZIP uitpakken..."
            rm -rf /tmp/netbird-ui-extract
            unzip -o /tmp/netbird-ui.zip -d /tmp/netbird-ui-extract

            # De ZIP bevat een map 'netbird_ui_darwin/' met binary, Info.plist, icns etc.
            # Dit is de inhoud van de .app bundle — kopieer als "Netbird UI.app"
            if [ -f /tmp/netbird-ui-extract/netbird_ui_darwin/netbird-ui ]; then
                rm -rf "/Applications/Netbird UI.app"
                cp -R /tmp/netbird-ui-extract/netbird_ui_darwin "/Applications/Netbird UI.app"
                chmod +x "/Applications/Netbird UI.app/netbird-ui"
                log "Netbird UI.app geinstalleerd in /Applications"
            else
                log "FOUT: netbird-ui binary niet gevonden in ZIP"
                log "Installeer de GUI handmatig: brew install --cask netbirdio/tap/netbird-ui"
            fi

            rm -rf /tmp/netbird-ui.zip /tmp/netbird-ui-extract
        else
            log "FOUT: Kan laatste versie niet ophalen van GitHub"
            log "Installeer de GUI handmatig: brew install --cask netbirdio/tap/netbird-ui"
        fi
    fi
fi

# Check of service draait
if netbird status 2>/dev/null | grep -q "Management"; then
    log "NetBird service draait"
else
    log "NetBird service starten..."
    netbird service install 2>/dev/null || true
    netbird service start 2>/dev/null || true
    sleep 3
fi

# Verbind met ZJA management URL
log "Verbinden met $MANAGEMENT_URL..."
netbird up --management-url "$MANAGEMENT_URL" &
NB_PID=$!

# Start de GUI app als die geinstalleerd is
REAL_USER="${SUDO_USER:-$(whoami)}"
if [ -d "/Applications/Netbird UI.app" ]; then
    log "Netbird UI starten..."
    sudo -u "$REAL_USER" open -a "Netbird UI" 2>/dev/null || true
elif [ -d "/Applications/NetBird.app" ]; then
    log "NetBird GUI starten..."
    sudo -u "$REAL_USER" open -a "NetBird" 2>/dev/null || true
fi

log "=== NetBird ZJA installatie afgerond ==="
log ""
log "Er opent een browservenster voor M365 SSO login."
log "Log in met je ZJA Microsoft 365 account."
log ""
log "Na inloggen: NetBird is verbonden en het icoon verschijnt in de menubalk."

# Wacht op de netbird up
wait $NB_PID 2>/dev/null || true

# Toon status
log ""
log "=== NetBird status ==="
netbird status 2>&1 | tee -a "$LOG"

Youez - 2016 - github.com/yon3zu
LinuXploit