36 Commits

Author SHA1 Message Date
Rustem Kamalov
25f4ff942b feat(query): add region parameter for per-engine geo targeting (google, yandex, bing, duck) 2026-05-21 20:45:10 +03:00
Rustem Kamalov
82abe57aae Improve SERP result classification and ad positioning 2026-05-19 00:32:11 +03:00
Rustem Kamalov
b3ca4e0803 feat(api): v2 response shape - absolute rank, ad/organic split, slimmer fields 2026-05-13 01:30:54 +03:00
Rustem Kamalov
00630a5d31 refactor: centralize engine prelude, page cleanup, and rate limiter 2026-05-11 11:35:09 +03:00
Rustem Kamalov
88337cd7ce refactor: Speed up Baidu. Fix raw client + reuse HTML parsers for raw search 2026-05-08 00:00:33 +03:00
Rustem Kamalov
471e5ad7fe refactor: speed up SERP parsing and centralize selectors 2026-05-06 04:12:15 +03:00
Rustem Kamalov
ed23af7acc feat: add POST /{engine}/parse HTML parser endpoints. One source of truth for browser and raw mode selectors 2026-05-05 05:07:59 +03:00
Rustem Kamalov
7a0fb21daf feat: propagate query locale to accept-language header and browser profile 2026-04-27 04:28:53 +03:00
Rustem Kamalov
2b10aca4ac feat: enhance query handling with locale support and date filtering for Bing, DuckDuckGo, Google, and Yandex 2026-04-27 04:07:28 +03:00
Rustem Kamalov
d47bf08523 fix api response format issues 2026-04-26 02:58:13 +03:00
Rustem Kamalov
24f9bdab30 perf(browser): smart waits, fix captcha detection selectors + selectors single source of truth 2026-04-23 22:04:28 +03:00
Rustem Kamalov
d052c30bd5 feat(browser): replace stealth with custom profile functionality 2026-04-23 03:06:49 +03:00
Rustem Kamalov
0d4e2da960 Improve logging: add structured logs, enrich logs with useful info. 2026-04-22 03:39:30 +03:00
Rustem Kamalov
d12a301cf8 Enhance error handling and logging across search engines 2026-04-21 03:48:52 +03:00
Rustem Kamalov
1842c4bb07 feat: implement DrainAndCloseResponse for safe HTTP response handling and update search handlers 2026-04-20 19:39:27 +03:00
Rustem Kamalov
e89b1a3a50 feat: propagate request context across search, retry, limiter, and browser navigation 2026-04-20 05:53:13 +03:00
Rustem Kamalov
0b7fbd3a45 docs: add godoc for public api and readme response examples 2026-04-20 01:20:52 +03:00
Rustem Kamalov
ecacfab4d6 Add integration tests for multiple search engines and enhance error handling
- Implement integration tests for Baidu, Bing, DuckDuckGo, Google, and Yandex.
- Refactor test utility functions to avoid core import cycles.
2026-04-14 02:05:58 +03:00
Rustem Kamalov
9e22f68c6f Add sanitized real html pages (google,yandex,baidu) for tests. Raw search HTML parser tests. 2026-04-14 00:41:35 +03:00
Rustem Kamalov
8bec5578c0 Implement proxy support with configuration, pooling, and integration tests
- Added ProxyConfig and ProxyPool structures to manage proxy settings and rotation.
- Implemented normalization functions for proxy URLs and configurations.
- Created a new ProxyPool that supports failure tracking and round-robin selection.
- Integrated proxy handling into the ResilientSearcher for search queries.
- Added integration tests for various proxy scenarios including SOCKS5 and HTTP proxies.
- Updated server and resilience stats to include proxy information.
- Refactored search functions to utilize the new proxy client.
- Removed direct proxy handling from search_raw.go and yandex/search_raw.go, using the new core proxy client instead.
- Added unit tests for proxy configuration and pool behavior.
2026-03-30 22:46:03 +03:00
Rustem Kamalov
7cdd358cad Add filter param to Google. Add start param for supporting engines 2026-03-17 01:54:25 +03:00
Rustem Kamalov
74fc15a6e2 Add DuckDuckGo. Add custom logger. Fix arg priority and other issues 2025-09-30 05:27:54 +03:00
Pachakutiq
81fc057c83 feat(raw search)!: Use utls to mimic chrome TLS clienthello fingerprint 2025-08-28 16:43:39 +08:00
Rustem Kamalov
7f0f32ac4e Handle failed navigation 2025-07-03 02:29:12 +03:00
Pachakutiq
6691ebaadd fix: Remove duplicated results for all search engines and both modes 2025-04-10 16:59:31 +08:00
Pachakutiq
84e2d46c4b feat: Support http and socks5 proxy with auth for raw search 2025-04-08 16:06:41 +08:00
Rustem Kamalov
fc49deba67 Fix yandex image search 2024-05-12 01:41:53 +03:00
Rustem Kamalov
29a7c2ca14 Yandex images scroll parsing 2023-07-23 04:35:48 +03:00
Rustem Kamalov
6eaab4a059 Yandex image search test 2023-07-05 18:42:14 +03:00
Rustem Kamalov
df972585c1 Fix default ratelimiter 2023-06-30 22:04:26 +03:00
Rustem Kamalov
dd5e0a2069 Default ratelimeter 2023-06-28 22:20:19 +03:00
Rustem Kamalov
72bddf7fc9 SearchTimeout error handling and proper tabs close 2023-06-27 23:13:10 +03:00
Rustem Kamalov
3f84503ce3 Add captcha check and error 2023-06-25 20:41:47 +03:00
Rustem Kamalov
46758db428 Check and log errors 2023-06-24 22:27:54 +03:00
Rustem Kamalov
801e3ddfd3 Fix package paths 2023-06-23 04:16:45 +03:00
Rustem Kamalov
8b87e7b4ab Init 2023-06-23 04:08:00 +03:00