plan291037 commited on
Commit
ac2e86b
·
verified ·
1 Parent(s): 7077a3d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -0
app.py CHANGED
@@ -8,6 +8,13 @@ PROFILE = "/tmp/uc-profile"
8
  UA = os.getenv("UA", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36")
9
  CHROME_BIN = os.getenv("CHROME_BIN", "/usr/bin/chromium")
10
 
 
 
 
 
 
 
 
11
  app = FastAPI()
12
  drv = None
13
  queue = None
@@ -16,11 +23,25 @@ worker = None
16
  class OpenPayload(BaseModel):
17
  url: HttpUrl
18
 
 
 
 
 
 
 
 
 
 
19
  async def _worker():
20
  while True:
21
  url = await queue.get()
22
  try:
23
  await asyncio.to_thread(drv.get, url)
 
 
 
 
 
24
  print("[open] done", url)
25
  finally:
26
  queue.task_done()
 
8
  UA = os.getenv("UA", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36")
9
  CHROME_BIN = os.getenv("CHROME_BIN", "/usr/bin/chromium")
10
 
11
+ SIGNS = (
12
+ "/sorry/", "consent.google.com", "detected unusual traffic",
13
+ "unusual traffic", "to continue, please verify", "recaptcha",
14
+ "g-recaptcha", "hcaptcha", "i'm not a robot", "are you a robot",
15
+ "ระบบของเราตรวจพบการรับส่งข้อมูลผิดปกติ", "ยืนยันว่าคุณไม่ใช่โปรแกรมอัตโนมัติ"
16
+ )
17
+
18
  app = FastAPI()
19
  drv = None
20
  queue = None
 
23
  class OpenPayload(BaseModel):
24
  url: HttpUrl
25
 
26
+ def _check_captcha():
27
+ u = (drv.current_url or "").lower()
28
+ t = (drv.title or "").lower()
29
+ h = (drv.page_source or "")[:2000].lower()
30
+ for s in SIGNS:
31
+ if s in u or s in t or s in h:
32
+ return True, s
33
+ return False, ""
34
+
35
  async def _worker():
36
  while True:
37
  url = await queue.get()
38
  try:
39
  await asyncio.to_thread(drv.get, url)
40
+ bad, sig = _check_captcha()
41
+ if bad:
42
+ print("[check] captcha=True", {"url": drv.current_url, "sig": sig})
43
+ else:
44
+ print("[check] captcha=False", {"url": drv.current_url, "title": drv.title[:80] if drv.title else ""})
45
  print("[open] done", url)
46
  finally:
47
  queue.task_done()