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.
while PR #2357 [1] was being implemented the question came up:
would be better to change the PING resource from CSS to an image so that
some terminal based browser may still able to pass the test [1]
This patch implements a POC in where a <img src=token> tag is loaded instaed a
CSS.
To test this patch activate limiter and link_token method [3] and start a
developer instance::
make run
In your terminal browser open http://127.0.0.1:8888/search?q=foo
If the browser is suitable for the link_token method, it loads the image and the
following messages appear::
DEBUG searx.botdetection.limiter : OK 127.0.0.1/32: /clientft61aak7fzyu6o6v.svg ...
DEBUG searx.botdetection.link_token : token is valid --> True
DEBUG searx.botdetection.link_token : store ping_key for (client) network 127.0.0.1/32 (IP 127.0.0.1) -> SearXNG_limiter.ping[...]
Browsers that do not load images will be blocked: If you try by example::
lynx http://127.0.0.1:8888/search?q=foo
you will see a WARNING message like::
WARNING searx.botdetection.link_token : missing ping (IP: 127.0.0.1/32) / request: SearXNG_limiter.ping[...]
Modern terminal WEB browser do support `<img>` tag as well as CSS:
browsh http://127.0.0.1:8888/search?q=foo
----
[1]
|
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .vscode | ||
| dockerfiles | ||
| docs | ||
| searx | ||
| searxng_extra | ||
| src/brand | ||
| tests | ||
| utils | ||
| .coveragerc | ||
| .dir-locals-template.el | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .nvmrc | ||
| .pylintrc | ||
| .tool-versions | ||
| .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
Searx.space lists ready-to-use running instances.
A user, admin and developer handbook is available on the homepage.
Contact
Ask questions or chat with the SearXNG community (this not a chatbot) on
- IRC
#searxng on libera.chat which is bridged to Matrix.
- Matrix
Setup
- A well maintained Docker image, also built for ARM64 and ARM/v7 architectures.
- Alternatively there are up to date installation scripts.
- For individual setup consult our detailed Step by step instructions.
- To fine-tune your instance, take a look at the Administrator documentation.
Translations
Help translate SearXNG at Weblate
Contributing
Are you a developer? Have a look at our development quickstart guide, it's very easy to contribute. Additionally we have a developer documentation.
Codespaces
You can contribute from your browser using GitHub Codespaces:
- Fork the repository
- Click on the
<> Codegreen button - Click on the
Codespacestab instead ofLocal - Click on
Create codespace on master - VSCode is going to start in the browser
- Wait for
git pull && make installto appear and then disappear - You have 120 hours per month (see also your list of existing Codespaces)
- You can start SearXNG using
make runin the terminal or by pressingCtrl+Shift+B