| CARVIEW |
Select Language
HTTP/2 200
server: nginx/1.22.1
date: Thu, 25 Dec 2025 00:34:08 GMT
content-type: text/plain; charset=utf-8
content-length: 1000
cache-control: max-age=300
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
etag: W/"6888514eca02d458d200ffffa7bf784f33512c031f48c2894ed818d5774fa7b2"
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
x-github-request-id: 35D0:1E3A5B:15F11F0:1B27342:694C8680
content-encoding: gzip
accept-ranges: bytes
via: 1.1 varnish
x-served-by: cache-sjc1000096-SJC
x-cache: MISS
x-cache-hits: 0
x-timer: S1766622849.732520,VS0,VE114
vary: Authorization,Accept-Encoding
access-control-allow-origin: *
cross-origin-resource-policy: cross-origin
x-fastly-request-id: 23529c6df4e456e37d0d71e41e67a8f81ed624ab
expires: Thu, 25 Dec 2025 00:39:08 GMT
source-age: 0
#!/bin/sh
set -e
echo "Welcome to Lenny Installer for Mac & Linux"
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
OS="linux"
elif [[ "$OSTYPE" == "darwin"* ]]; then
OS="mac"
else
echo "[!] Only Mac & Linux supported, detected: $OSTYPE"
exit 1
fi
if [ "$OS" = "linux" ]; then
echo "[+] Updating package index (apt)..."
sudo apt update -y
if ! require make; then
echo "[+] Installing build-essential (make, gcc, etc.)..."
sudo apt install -y build-essential bc
fi
if ! require curl; then
echo "[+] Installing curl..."
sudo apt install -y curl
fi
fi
if [[ ! -d "lenny" ]]; then
echo "[+] Downloading Lenny source code..."
mkdir -p lenny
curl -L https://github.com/ArchiveLabs/lenny/archive/refs/heads/main.tar.gz | tar -xz --strip-components=1 -C lenny
echo "[✓] Downloaded Lenny source code..."
fi
# TODO: Switch to docker/utils/docker_helpers
wait_for_docker_ready() {
echo "[+] Waiting up to 1 minute for Docker to start..."
for i in {1..10}; do
docker info >/dev/null 2>&1 && { echo "[+] Docker ready, beginning Lenny install."; break; }
echo "Waiting for Docker ($i/10)..."
sleep 6
[[ $i -eq 10 ]] && { echo "Error: Docker not ready after 1 minute."; exit 1; }
done
}
if ! command -v docker >/dev/null 2>&1; then
echo "[+] Installing `docker` to build Lenny..."
if [ "$OS" == "mac" ]; then
if ! command -v brew >/dev/null 2>&1; then
echo "[+] Installing Homebrew to get docker..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
fi
echo "[+] Installing Docker Desktop via Homebrew..."
brew install --cask docker
echo "[+] Loading docker..."
open -a Docker
echo "[+] Waiting for docker to start..."
wait_for_docker_ready
elif [ "$OS" == "linux" ]; then
curl -fsSL https://get.docker.com | sh && sudo usermod -aG docker "$USER"
sudo systemctl start docker
sudo systemctl enable docker
fi
wait_for_docker_ready
fi
cd lenny
sudo make tunnel configure rebuild
echo "[+] Starting preload step (with allocated TTY)..."
sudo script -q -c "make preload" /dev/null
echo "[✓] Lenny installation complete!"