14 Commits
Author SHA1 Message Date
junv c5c18ae74a Add format=llm support which get rid of extra content and only focus on title, url, snippet 2026-03-09 17:55:38 +11:00
junv e486ca1dc7 Update readme 2026-03-07 12:23:15 +11:00
junv 9c9c52bf8b Add docker-compose 2026-03-07 12:15:53 +11:00
junv 91499c5133 Update readme about how to use curl to search 2026-03-07 11:47:20 +11:00
junv d7a3c8549d Update readme 2026-03-07 11:28:26 +11:00
junvandGitHub c8b1f269a3 Merge branch 'master' into feat/update-guide 2026-03-07 11:25:00 +11:00
junv f20b7f5fce Add screenshots 2026-03-07 11:23:28 +11:00
junv 14b30bdb6e Update App name 2026-03-07 11:04:18 +11:00
junvandCopilot 7a2126ddb1 Open source: add AGPL-3.0 license, NOTICE, and copyright headers
- Add LICENSE (GNU Affero General Public License v3.0)
- Add NOTICE file with SearXNG attribution for borrowed scraping patterns
  in google.py (arc_id, GSA user-agent, HTML selectors) and bing.py
  (PERE pagination, base64 redirect decoding, CAPTCHA detection)
- Add CONTRIBUTING.md with contribution guidelines and license info
- Add SPDX-License-Identifier headers to all Python source files
- Add AGPL-3.0 license badge and License section to README.md

SearXNG is licensed under AGPL-3.0-or-later; this project follows suit
as it incorporates techniques derived from SearXNG's search engines.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-07 10:18:05 +11:00
junvandCopilot efc237ae52 feat: add POST support and compatibility params to /api/search
- Switch @router.get to @router.api_route with methods=[GET, POST]
- Add pageNumber alias for page (takes precedence when provided)
- Add numResults, format, imageProxy, safesearch params (accepted for
  compatibility with external clients)
- Update README.md, agents.md, FEATURES.md with param reference tables
- Add CHANGELOG 1.8.1 entry

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-24 10:53:35 +11:00
junvandCopilot 5fbd30de6a feat: mountable data directory for persistent config
- DB path now uses DATA_DIR env var (defaults to backend/data/ for local dev)
- Dockerfile sets DATA_DIR=/app/data with VOLUME declaration
- Docker run examples show -v mount for persistence across restarts
- /app/data stores SQLite DB (engines, excluded domains, cache settings)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-23 18:18:25 +11:00
junvandCopilot e9a5d68553 feat: Redis search cache with configurable TTL
- Add optional Redis caching for search results (REDIS_URL env var)
- Cache TTL configurable via UI: 0h (disabled) to 168h (1 week), default 6h
- New backend modules: cache.py (async Redis get/set/flush), settings.py (SQLite settings table)
- New API endpoints: GET/PUT /api/settings, DELETE /api/cache
- New 'Cache' tab in Settings modal with status indicator, preset buttons, slider, and flush
- Cache keys are deterministic hashes of query+category+page+image_size+engines
- Redis is fully optional: graceful no-op when REDIS_URL unset or Redis unreachable
- Updated Dockerfile, README, CHANGELOG, FEATURES

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-23 17:26:14 +11:00
junv 8ded475231 Update 2026-02-23 14:41:23 +11:00
junv 9d36d4aba9 Done by copilot 2026-02-23 14:37:07 +11:00