124543d658
- Agent studioE5 standalone en Go (console + systray) - VPN on-demand via tailscaled + tailscale up (authkey Headscale) - Resolver/serveur dans le tailnet studioe5 - Caddy on-demand TLS pour les instances - Nouveaux endpoints serveur /api/internal/send-to-node - Suppression des anciens binaires edubox-agent - Suivi dans SUIVI_VPN_ONDEMAND.md
49 lines
1.7 KiB
Bash
Executable File
49 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
VERSION="0.3.0"
|
|
APP_NAME="studioE5"
|
|
BIN_NAME="studioE5-agent"
|
|
LDFLAGS="-X main.version=${VERSION}"
|
|
|
|
# On Windows, build a GUI binary so no console window opens on double-click.
|
|
WIN_LDFLAGS="${LDFLAGS} -H windowsgui"
|
|
|
|
echo "Building ${APP_NAME} Agent v${VERSION}..."
|
|
|
|
export PATH=$PATH:/usr/local/go/bin
|
|
|
|
GOOS=windows GOARCH=amd64 go build -ldflags "${WIN_LDFLAGS}" -o ${BIN_NAME}.exe .
|
|
echo " ${BIN_NAME}.exe (Windows amd64)"
|
|
cp ${BIN_NAME}.exe "${BIN_NAME}-v${VERSION}.exe"
|
|
echo " ${BIN_NAME}-v${VERSION}.exe (Windows amd64)"
|
|
|
|
GOOS=linux GOARCH=amd64 go build -ldflags "${LDFLAGS}" -o ${BIN_NAME} .
|
|
echo " ${BIN_NAME} (Linux amd64)"
|
|
cp ${BIN_NAME} "${BIN_NAME}-v${VERSION}"
|
|
echo " ${BIN_NAME}-v${VERSION} (Linux amd64)"
|
|
|
|
# macOS build requires CGO for the systray menu; skip gracefully if unavailable.
|
|
if GOOS=darwin GOARCH=amd64 CGO_ENABLED=1 go build -ldflags "${LDFLAGS}" -o ${BIN_NAME}-mac . 2>/dev/null; then
|
|
echo " ${BIN_NAME}-mac (macOS amd64)"
|
|
cp ${BIN_NAME}-mac "${BIN_NAME}-v${VERSION}-mac"
|
|
echo " ${BIN_NAME}-v${VERSION}-mac (macOS amd64)"
|
|
MAC_BUILT=1
|
|
else
|
|
echo " ${BIN_NAME}-mac (macOS amd64) - skipped, CGO required for systray"
|
|
MAC_BUILT=0
|
|
fi
|
|
|
|
# Copy versioned binaries to server/public so the dashboard can serve them
|
|
SERVER_PUBLIC="../server/public"
|
|
if [ -d "${SERVER_PUBLIC}" ]; then
|
|
cp "${BIN_NAME}-v${VERSION}" "${SERVER_PUBLIC}/${BIN_NAME}-v${VERSION}"
|
|
cp "${BIN_NAME}-v${VERSION}.exe" "${SERVER_PUBLIC}/${BIN_NAME}-v${VERSION}.exe"
|
|
if [ "$MAC_BUILT" = "1" ]; then
|
|
cp "${BIN_NAME}-v${VERSION}-mac" "${SERVER_PUBLIC}/${BIN_NAME}-v${VERSION}-mac"
|
|
fi
|
|
echo " Copied versioned binaries to ${SERVER_PUBLIC}"
|
|
fi
|
|
|
|
echo "Done."
|