File size: 3,508 Bytes
3718c84
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#!/bin/bash
# Script test ngrok tunnel đơn giản - không cần API
# Usage: ./test_ngrok_simple.sh <ngrok_host> <ngrok_port>

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 <ngrok_host> <ngrok_port>"
    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