mirror of
https://github.com/searxng/searxng
synced 2024-01-01 19:24:07 +01:00
SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
![]() One reason for the often seen CAPTCHA of the startpage requests are the
incomplete requests SearXNG sends to startpage.com. To avoid CAPTCHA we need to
send a well formed HTTP POST request with a cookie, we need to form a request
that is identical to the request build by startpage.com itself:
- in the cookie the **region** is selected
- in the POST arguments the **language** is selected
Based on the *engine_properties* boilerplate, SearXNG's startpage engine now
implements a `_fetch_engine_properties()` function to fetch regions & languages
from startpage.com.
This patch is a complete new implementation of the request() function, reversed
engineered from the startpage.com page. The new implementation adds
- time-range support
- save-search support
to the startpage engine which has been missed in the past.
The locale code 'no_NO' from startpage does not exists and is mapped to nb-NO.
For reference see languages-subtag at iana [1], `no` is the macrolanguage::
type: language
Subtag: nb
Description: Norwegian Bokmål
Added: 2005-10-16
Suppress-Script: Latn
Macrolanguage: no
Additional hints:
- To fetch languages from startpage, this patch makes use of the
EngineProperties implemented in 7bf0d46c
- Te get Startpage's locale & language, the function get_engine_locale from
|
||
---|---|---|
.github | ||
dockerfiles | ||
docs | ||
examples | ||
searx | ||
searxng_extra | ||
src/brand | ||
tests | ||
utils | ||
.coveragerc | ||
.dir-locals.el | ||
.dockerignore | ||
.gitattributes | ||
.gitignore | ||
.nvmrc | ||
.pylintrc | ||
.weblate | ||
.yamllint.yml | ||
AUTHORS.rst | ||
babel.cfg | ||
CHANGELOG.rst | ||
CONTRIBUTING.md | ||
Dockerfile | ||
LICENSE | ||
Makefile | ||
manage | ||
package.json | ||
PULL_REQUEST_TEMPLATE.md | ||
pyrightconfig-ci.json | ||
pyrightconfig.json | ||
README.rst | ||
requirements-dev.txt | ||
requirements.txt | ||
SECURITY.md | ||
setup.py |
Privacy-respecting, hackable metasearch engine
If you are looking for running instances, ready to use, then visit searx.space. Otherwise jump to the user, admin and developer handbooks you will find on our homepage.
Contact
Come join us if you have questions or just want to chat about SearXNG.
- Matrix
- IRC
#searxng on libera.chat which is bridged to Matrix.
Differences to searx
SearXNG is a fork of searx. Here are some of the changes:
User experience
- Huge update of the simple theme:
- usable on desktop, tablet and mobile
- light and dark versions (you can choose in the preferences)
- support right-to-left languages
- see the screenshots
- the translations are up to date, you can contribute on Weblate
- the preferences page has been updated:
- you can see which engines are reliable or not
- engines are grouped inside each tab
- each engine has a description
- thanks to the anonymous metrics, it is easier to report a bug of an engine and thus engines get fixed more quickly
- if you don't want any metrics to be recorded, you can disable them on the server
- administrator can block and/or replace the URLs in the search results
Setup
- you don't need Morty to proxy the images even on a public instance
- you don't need Filtron to block bots, we implemented the builtin limiter
- you get a well maintained Docker image, now also built for ARM64 and ARM/v7 architectures
- alternatively we have up to date installation scripts
Contributing is easier
- readable debug log
- contributions to the themes are made easier, check out our Development Quickstart guide
- a lot of code cleanup and bug fixes
- the dependencies are up to date
Translations
We need translators, suggestions are welcome at https://weblate.bubu1.eu/projects/searxng/searxng/
Make a donation
You can support the SearXNG project by clicking on the donation page: https://docs.searxng.org/donate.html