"""Package-level constants for searxng-cli scripts. Import in sibling scripts with: from _config import VERSION, USER_AGENT, SCHEMA_VERSION, UA_POOL Retry settings and shared HTTP utilities now live in ``common.py`` so that both ``search.py`` and ``fetch.py`` share one consistent implementation. """ VERSION = "2.2.1" SCHEMA_VERSION = "1.0" USER_AGENT = f"searxng-cli/{VERSION}" # 浏览器 UA 池(用于 searxng-cli 默认 UA 被站点拦截时的回退)。 # # v2.2.0 从 common.py 迁移至此统一管理(SSOT)。common.py 通过 # ``from _config import UA_POOL`` 引用,并在导入失败时回退到其内置副本。 # # 维护原则: # 1. 版本号保持为当前年份的主流浏览器版本,避免被识别为过时浏览器 # 2. 顺序固定——get_ua_for_domain() 用 SHA-256 哈希选索引,顺序变化会 # 改变域名→UA 的映射,导致跨版本缓存失效(可接受,但应尽量避免无谓变动) # 3. 至少覆盖 Chrome/Edge/Firefox × Windows/macOS/Linux,保证指纹多样性 # # 当前版本(2026 年):Chrome 138-140 / Edge 138 / Firefox 140 / Safari 18。 UA_POOL = [ # Chrome 140 — Windows / macOS / Linux "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36", # Chrome 139 — Windows / macOS / Linux "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36", # Chrome 138 — Windows / macOS / Linux "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", # Edge 138 — Windows / macOS "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 " "(KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36 Edg/138.0.0.0", # Firefox 140 — Windows / macOS / Linux "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) " "Gecko/20100101 Firefox/140.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:140.0) " "Gecko/20100101 Firefox/140.0", "Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0", # Safari 18 — macOS(WebKit 指纹,应对 Chromium 针对性拦截) "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 " "(KHTML, like Gecko) Version/18.0 Safari/605.1.15", ]