#!/bin/bash # Script test ngrok tunnel đơn giản - không cần API # Usage: ./test_ngrok_simple.sh set -e # Colors GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' BLUE='\033[0;34m' NC='\033[0m' success() { echo -e "${GREEN}✅${NC} $1" } warn() { echo -e "${YELLOW}⚠️${NC} $1" } error() { echo -e "${RED}❌${NC} $1" } log() { echo -e "${BLUE}[TEST]${NC} $1" } # Parse arguments NGROK_HOST="${1:-}" NGROK_PORT="${2:-}" if [ -z "$NGROK_HOST" ] || [ -z "$NGROK_PORT" ]; then error "Thiếu tham số!" echo "" echo "Usage: $0 " echo "" echo "Ví dụ:" echo " $0 0.tcp.ap.ngrok.io 13432" echo "" echo "💡 Lấy ngrok URL từ:" echo " 1. Docker logs: docker logs ngrok | grep tcp://" echo " 2. Web interface: http://192.168.1.212:4040" echo " 3. Hoặc xem trong Unraid Docker logs" exit 1 fi DB_USER="${POSTGRES_USER:-hue_remote}" DB_PASSWORD="${POSTGRES_PASSWORD:-huepass123}" DB_NAME="${POSTGRES_DB:-hue_portal}" echo -e "${BLUE}============================================================${NC}" echo -e "${BLUE}Test Ngrok Tunnel: $NGROK_HOST:$NGROK_PORT${NC}" echo -e "${BLUE}============================================================${NC}" echo "" log "Đang test kết nối PostgreSQL..." export PGPASSWORD="$DB_PASSWORD" if command -v psql &> /dev/null; then # Test với timeout 5 giây if timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -c "SELECT 1;" &>/dev/null; then success "Kết nối thành công!" echo "" # Get version VERSION=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT version();" 2>/dev/null | head -1 | xargs) log "PostgreSQL: ${VERSION:0:50}..." # Count tables TABLE_COUNT=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public';" 2>/dev/null | xargs) success "Tables: $TABLE_COUNT" echo "" # Quick data check TOTAL=$(timeout 5 psql -h "$NGROK_HOST" -p "$NGROK_PORT" -U "$DB_USER" -d "$DB_NAME" -t -c "SELECT COUNT(*) FROM core_legaldocument;" 2>/dev/null | xargs || echo "0") if [ "$TOTAL" != "0" ]; then success "Documents: $(printf "%'d" $TOTAL)" else warn "Database trống" fi echo "" echo -e "${BLUE}============================================================${NC}" success "✅ NGROK TUNNEL HOẠT ĐỘNG!" echo "" echo -e "${BLUE}📝 DATABASE_URL:${NC}" echo "postgres://$DB_USER:$DB_PASSWORD@$NGROK_HOST:$NGROK_PORT/$DB_NAME" echo -e "${BLUE}============================================================${NC}" else error "KHÔNG KẾT NỐI ĐƯỢC!" echo "" echo "💡 Kiểm tra:" echo " 1. Ngrok URL có đúng không? (từ logs: docker logs ngrok)" echo " 2. Toggle switch có ON không?" echo " 3. PostgreSQL có chạy trên 192.168.1.212:5432 không?" exit 1 fi else error "Không có psql để test!" echo "" echo "Cài đặt: brew install postgresql" echo "" echo "Hoặc dùng DATABASE_URL này:" echo "postgres://$DB_USER:$DB_PASSWORD@$NGROK_HOST:$NGROK_PORT/$DB_NAME" exit 1 fi