Update README

This commit is contained in:
2026-06-28 17:19:47 +00:00
commit 42dab0a26f
69 changed files with 7817 additions and 0 deletions

97
diagnose_gfillab.py Normal file
View File

@ -0,0 +1,97 @@
"""Diagnose exactly what's blocking gfil-lab.com"""
import urllib.request, sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8")
# Test gfil-lab.com with various approaches
print("=== gfil-lab.com 诊断 ===\n")
# 1. Plain request (no UA)
print("[1] 无 User-Agent:")
try:
r = urllib.request.urlopen("https://gfil-lab.com/", timeout=10)
print(f" Status: {r.status}, URL: {r.url}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
print(f" Server: {e.headers.get('Server','?')}")
print(f" CF-Ray: {e.headers.get('CF-Ray','?')}")
body = e.read().decode()[:300]
print(f" Body: {body}")
# 2. With browser UA
print("\n[2] 浏览器 User-Agent:")
try:
req = urllib.request.Request("https://gfil-lab.com/", headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"
})
r = urllib.request.urlopen(req, timeout=10)
print(f" Status: {r.status}, URL: {r.url}")
print(f" Size: {len(r.read())} bytes")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
body = e.read().decode()[:300]
print(f" Body: {body}")
# 3. Googlebot UA
print("\n[3] Googlebot User-Agent:")
try:
req = urllib.request.Request("https://gfil-lab.com/", headers={
"User-Agent": "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
})
r = urllib.request.urlopen(req, timeout=10)
print(f" Status: {r.status}, URL: {r.url}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
body = e.read().decode()[:300]
print(f" Body: {body}")
# 4. Bingbot UA
print("\n[4] Bingbot User-Agent:")
try:
req = urllib.request.Request("https://gfil-lab.com/", headers={
"User-Agent": "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)"
})
r = urllib.request.urlopen(req, timeout=10)
print(f" Status: {r.status}, URL: {r.url}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
body = e.read().decode()[:300]
print(f" Body: {body}")
# 5. robots.txt
print("\n[5] robots.txt:")
try:
req = urllib.request.Request("https://gfil-lab.com/robots.txt", headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
})
r = urllib.request.urlopen(req, timeout=10)
content = r.read().decode()
print(f" Status: {r.status}")
print(f" Content: {content[:500]}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
body = e.read().decode()[:300]
print(f" Body: {body}")
# 6. Check CF headers for challenge type
print("\n[6] 检查响应头详情:")
try:
req = urllib.request.Request("https://gfil-lab.com/", headers={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
})
r = urllib.request.urlopen(req, timeout=10)
for h in ['Server', 'CF-Ray', 'CF-Cache-Status', 'X-Content-Type-Options', 'Content-Type']:
print(f" {h}: {r.headers.get(h, 'N/A')}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code}")
for h in ['Server', 'CF-Ray', 'CF-Cache-Status', 'Content-Type']:
print(f" {h}: {e.headers.get(h, 'N/A')}")
# 7. HTTP (non-HTTPS) test
print("\n[7] HTTP (非HTTPS):")
try:
r = urllib.request.urlopen("http://gfil-lab.com/", timeout=10)
print(f" Status: {r.status}, URL: {r.url}")
except urllib.error.HTTPError as e:
print(f" HTTP {e.code} {e.reason}")
except Exception as e:
print(f" Error: {type(e).__name__}: {e}")