You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Markus Heiser 87e4c47621 [fix] url_for(..., _external=True) in templates
The `url_for` function in the template context is not the one from Flask, it is
the one from `webapp`.  The `webapp.url_for_theme` is different from its
namesake of Flask and has it quirks, when called with argument `_external=True`.

The `webapp.url_for_theme` can't handle absolute URLs since it pokes a leading
'/', here is the snippet of the old code::

    url = url_for(endpoint, **values)
    if settings['server']['base_url']:
        if url.startswith('/'):
            url = url[1:]
        url = urljoin(settings['server']['base_url'], url)

Next drawback of (Flask's) `_external=True` is, that it will not return the HTTP
scheme when searx (the Flask app) listens on http and is proxied by a https
server.

To get the right scheme `HTTP_X_SCHEME` is needed by Flask (werkzeug).  Since
this is not provided in every environment (e.g. behind Apache mod_wsgi or the
HTTP header is not fully set for some other reasons) it is recommended to
get *script_name*, *server* and *scheme* from the configured `base_url`.  If
`base_url` is specified, then these values from are given preference over any
Flask's generics.

BTW this patch normalize to use `url_for` in the `opensearch.xml` and drop the
need of `host` and `urljoin` in template's context.

Signed-off-by: Markus Heiser <markus@darmarit.de>
3 years ago
.github Fix integration.yml 3 years ago
dockerfiles [enh] add searx.shared 3 years ago
docs [mod] by default allow only HTTPS, not HTTP 3 years ago
examples Fix whitespaces 8 years ago
searx [fix] url_for(..., _external=True) in templates 3 years ago
searx_extra Add searx_extra package 3 years ago
tests [enh] add ability to send engine data to subsequent requests 3 years ago
utils [mod] LXC switch to Fedora 33 / Fedora 31 reached its EOL 3 years ago
.codecov.yml codecov : update the commit status 7 years ago
.config.sh [mod] utils/searx.sh install: create branch if not already exists 4 years ago
.coveragerc [mod] use github actions instead of travis 4 years ago
.dir-locals.el [mod] remove obsolete virtualenv command 4 years ago
.dockerignore [enh] update documentation about docker 4 years ago
.gitattributes [enh] add simple theme (WIP) 7 years ago
.gitignore [enh] Add onions category with Ahmia, Not Evil and Torch 4 years ago
.landscape.yaml Add landscape.io configuration 10 years ago
.pylintrc [mod] pylint: add extension-pkg-whitelist=lxml.etree 4 years ago
AUTHORS.rst Updated webutils.highlight_content to ignore double-quotes when highlighting query parts 3 years ago
CHANGELOG.rst prepare release 0.18.0 4 years ago
CONTRIBUTING.md [mod] documentations & comments: update http://* URL to https://*. 4 years ago
Dockerfile [enh] add checker 3 years ago
LICENSE [fix] full AGPLv3+ license according to #382 9 years ago
Makefile Merge pull request #2346 from dalf/upgrade-oscar 3 years ago
PULL_REQUEST_TEMPLATE.md Add PR template and contribution guidelines 4 years ago
README.rst [fix] migration from github.com/asciimoo/searx to github.com/searx/searx : fix URLs 4 years ago
babel.cfg [enh] babel.cfg added 11 years ago
manage.sh [mod] get rid of searx/brand.py 3 years ago
requirements-dev.txt Bump sphinx from 3.5.1 to 3.5.2 3 years ago
requirements.txt Bump pyyaml from 5.3.1 to 5.4.1 3 years ago
setup.py Add searx_extra package 3 years ago
tox.ini [enh] tox.ini added to rewrite standard pep8 rules 10 years ago

README.rst

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

.. SPDX-License-Identifier: AGPL-3.0-or-later

.. figure:: https://raw.githubusercontent.com/searx/searx/master/searx/static/themes/oscar/img/logo_searx_a.png
   :target: https://searx.github.io/searx/
   :alt: searX
   :width: 100%
   :align: center

-------

|searx install|
|searx homepage|
|searx wiki|
|AGPL License|
|Issues|
|commits|
|OpenCollective searx backers|
|OpenCollective searx sponsors|

Privacy-respecting, hackable `metasearch engine`_ / *pronunciation* **səːks**.

.. _metasearch engine: https://en.wikipedia.org/wiki/Metasearch_engine

.. |searx install| image:: https://img.shields.io/badge/-install-blue
   :target: https://searx.github.io/searx/admin/installation.html

.. |searx homepage| image:: https://img.shields.io/badge/-homepage-blue
   :target: https://searx.github.io/searx

.. |searx wiki| image:: https://img.shields.io/badge/-wiki-blue
   :target: https://github.com/searx/searx/wiki

.. |AGPL License|  image:: https://img.shields.io/badge/license-AGPL-blue.svg
   :target: https://github.com/searx/searx/blob/master/LICENSE

.. |Issues| image:: https://img.shields.io/github/issues/searx/searx?color=yellow&label=issues
   :target: https://github.com/searx/searx/issues

.. |PR| image:: https://img.shields.io/github/issues-pr-raw/searx/searx?color=yellow&label=PR
   :target: https://github.com/searx/searx/pulls

.. |commits| image:: https://img.shields.io/github/commit-activity/y/searx/searx?color=yellow&label=commits
   :target: https://github.com/searx/searx/commits/master

.. |OpenCollective searx backers| image:: https://opencollective.com/searx/backers/badge.svg
   :target: https://opencollective.com/searx#backer

.. |OpenCollective searx sponsors| image:: https://opencollective.com/searx/sponsors/badge.svg
   :target: https://opencollective.com/searx#sponsor


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_.

.. _searx.space: https://searx.space
.. _user: https://searx.github.io/searx/user
.. _admin: https://searx.github.io/searx/admin
.. _developer: https://searx.github.io/searx/dev
.. _homepage: https://searx.github.io/searx

contact:
  openhub_ // twitter_ // IRC: #searx @ freenode

.. _openhub: https://www.openhub.net/p/searx
.. _twitter: https://twitter.com/Searx_engine

-------

|gluten free|

.. |gluten free| image:: https://forthebadge.com/images/featured/featured-gluten-free.svg