File size: 2,072 Bytes
44a6b31
 
0e86a5a
 
 
 
b48a03d
 
44a6b31
 
b48a03d
0e86a5a
d372e35
 
 
 
 
 
 
 
 
b48a03d
d372e35
b48a03d
d372e35
 
0e86a5a
b48a03d
 
0e86a5a
 
 
b48a03d
0e86a5a
 
 
 
7737401
0e86a5a
e43189b
0e86a5a
b48a03d
 
0e86a5a
 
b48a03d
0e86a5a
 
 
 
 
b48a03d
 
d372e35
 
0e86a5a
 
b48a03d
0e86a5a
 
b48a03d
0e86a5a
 
b48a03d
0e86a5a
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
# validate.py

import requests
import re
import time

BASE_URL = "https://www.blackbox.ai"
HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 "
                  "(KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}

# Cache variables
cached_hid = None
cache_time = 0
CACHE_DURATION = 36000  # Cache duration in seconds (10 hours)

def getHid(force_refresh=False):
    global cached_hid, cache_time
    current_time = time.time()

    # Check if we should use the cached HID
    if not force_refresh and cached_hid and (current_time - cache_time) < CACHE_DURATION:
        print("Using cached HID:", cached_hid)
        return cached_hid

    try:
        # Get initial HTML content
        response = requests.get(BASE_URL, headers=HEADERS)
        response.raise_for_status()
        content = response.text

        # Find the specific static/chunks path
        pattern = r"static/chunks/app/layout-[a-zA-Z0-9]+\.js"
        match = re.search(pattern, content)

        if match:
            # Construct the full URL of the JS file
            js_path = match.group()
            full_url = f"{BASE_URL}/_next/{js_path}"

            # Request the JS file content
            js_response = requests.get(full_url, headers=HEADERS)
            js_response.raise_for_status()

            # Search for the h-value in the JS content
            h_pattern = r'h="([0-9a-f-]+)"'
            h_match = re.search(h_pattern, js_response.text)

            if h_match:
                h_value = h_match.group(1)
                print("Found h-value:", h_value)
                # Update the cache
                cached_hid = h_value
                cache_time = current_time
                return h_value
            else:
                print("h-value not found in JS content")
                return None
        else:
            print("Specified JS file path not found in HTML content")
            return None
    except requests.exceptions.RequestException as e:
        print(f"An error occurred: {e}")
        return None