mirror of
https://github.com/searxng/searxng.git
synced 2025-07-19 03:09:25 +02:00
Branded SearXNG fork for costmikuSearch
Replaces `x_for` functionality with `trusted_proxies`. This allows defining which IP / ranges to trust extracting the client IP address from X-Forwarded-For and X-Real-IP headers. We don't know if the proxy chain will give us the proper client address, so we rely on reading the headers of the proxy before SearXNG (if there is one, in that case it must be added to trusted_proxies) hoping it has done the proper checks. In case a proxy in the chain does not check the client address correctly, integrity is compromised and this should be fixed by whoever manages the proxy, not us. I had to move the get_cnf func to another file (config.py) to prevent cyclic imports since we need to read the list inside _helpers.py Closes https://github.com/searxng/searxng/issues/4907 Closes https://github.com/searxng/searxng/issues/3632 Closes https://github.com/searxng/searxng/issues/3191 Closes https://github.com/searxng/searxng/issues/1237 Related https://github.com/searxng/searxng-docker/issues/386 Related https://github.com/inetol-infrastructure/searxng-container/issues/81 |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
client/simple | ||
container | ||
docs | ||
searx | ||
searxng_extra | ||
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 | ||
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 |
.. SPDX-License-Identifier: AGPL-3.0-or-later ---- .. figure:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng.svg :target: https://docs.searxng.org/ :alt: SearXNG :width: 100% :align: center ---- Privacy-respecting, hackable `metasearch engine`_ Searx.space_ lists ready-to-use running instances. A user_, admin_ and developer_ handbook is available on the homepage_. |SearXNG install| |SearXNG homepage| |SearXNG wiki| |AGPL License| |Issues| |commits| |weblate| |SearXNG logo| ---- .. _searx.space: https://searx.space .. _user: https://docs.searxng.org/user .. _admin: https://docs.searxng.org/admin .. _developer: https://docs.searxng.org/dev .. _homepage: https://docs.searxng.org/ .. _metasearch engine: https://en.wikipedia.org/wiki/Metasearch_engine .. |SearXNG logo| image:: https://raw.githubusercontent.com/searxng/searxng/master/client/simple/src/brand/searxng-wordmark.svg :target: https://docs.searxng.org/ :width: 5% .. |SearXNG install| image:: https://img.shields.io/badge/-install-blue :target: https://docs.searxng.org/admin/installation.html .. |SearXNG homepage| image:: https://img.shields.io/badge/-homepage-blue :target: https://docs.searxng.org/ .. |SearXNG wiki| image:: https://img.shields.io/badge/-wiki-blue :target: https://github.com/searxng/searxng/wiki .. |AGPL License| image:: https://img.shields.io/badge/license-AGPL-blue.svg :target: https://github.com/searxng/searxng/blob/master/LICENSE .. |Issues| image:: https://img.shields.io/github/issues/searxng/searxng?color=yellow&label=issues :target: https://github.com/searxng/searxng/issues .. |PR| image:: https://img.shields.io/github/issues-pr-raw/searxng/searxng?color=yellow&label=PR :target: https://github.com/searxng/searxng/pulls .. |commits| image:: https://img.shields.io/github/commit-activity/y/searxng/searxng?color=yellow&label=commits :target: https://github.com/searxng/searxng/commits/master .. |weblate| image:: https://translate.codeberg.org/widgets/searxng/-/searxng/svg-badge.svg :target: https://translate.codeberg.org/projects/searxng/ Contact ======= Ask questions or chat with the SearXNG community (this not a chatbot) on IRC `#searxng on libera.chat <https://web.libera.chat/?channel=#searxng>`_ which is bridged to Matrix. Matrix `#searxng:matrix.org <https://matrix.to/#/#searxng:matrix.org>`_ 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`_. .. _Administrator documentation: https://docs.searxng.org/admin/index.html .. _Step by step: https://docs.searxng.org/admin/installation-searxng.html .. _installation scripts: https://docs.searxng.org/admin/installation-scripts.html .. _Docker image: https://github.com/searxng/searxng-docker Translations ============ .. _Weblate: https://translate.codeberg.org/projects/searxng/searxng/ Help translate SearXNG at `Weblate`_ .. figure:: https://translate.codeberg.org/widgets/searxng/-/multi-auto.svg :target: https://translate.codeberg.org/projects/searxng/ Contributing ============ .. _development quickstart: https://docs.searxng.org/dev/quickstart.html .. _developer documentation: https://docs.searxng.org/dev/index.html 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 ``<> Code`` green button - Click on the ``Codespaces`` tab instead of ``Local`` - Click on ``Create codespace on master`` - VSCode is going to start in the browser - Wait for ``git pull && make install`` to appear and then disappear - You have `120 hours per month`_ (see also your `list of existing Codespaces`_) - You can start SearXNG using ``make run`` in the terminal or by pressing ``Ctrl+Shift+B`` .. _GitHub Codespaces: https://docs.github.com/en/codespaces/overview .. _120 hours per month: https://github.com/settings/billing .. _list of existing Codespaces: https://github.com/codespaces