#!/bin/bash # 해커톤 투표 URL 출력 (호스트에서 실행) set -euo pipefail cd "$(dirname "$0")" if [[ ! -f .env ]]; then echo "❌ .env 파일 없음. 먼저 'cp .env.example .env' 후 ADMIN_TOKEN 설정." exit 1 fi TOKEN=$(grep -E "^ADMIN_TOKEN=" .env | head -1 | cut -d= -f2- | tr -d '"') PORT=$(grep -E "^PORT=" .env 2>/dev/null | head -1 | cut -d= -f2- | tr -d '"' || echo "") PORT=${PORT:-8501} # LAN IP 자동 감지 (macOS/Linux) LAN_IP=$(ipconfig getifaddr en0 2>/dev/null || ip -4 addr show 2>/dev/null | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '^127\.' | head -1 || echo "") echo "============================================" echo " 해커톤 투표 URL" echo "============================================" echo echo "👥 참가자 투표:" echo " http://localhost:${PORT}/" [[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/ (LAN)" echo echo "🔐 진행자 어드민:" echo " http://localhost:${PORT}/?mode=admin&token=${TOKEN}" [[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=admin&token=${TOKEN}" echo echo "🎉 시상식 (큰 화면):" echo " http://localhost:${PORT}/?mode=ceremony&token=${TOKEN}" [[ -n "$LAN_IP" ]] && echo " http://${LAN_IP}:${PORT}/?mode=ceremony&token=${TOKEN}" echo echo "============================================" echo " 팁: 'open' 으로 바로 브라우저 열기 (macOS)" echo " open \"http://localhost:${PORT}/?mode=admin&token=${TOKEN}\"" echo "============================================"