Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 007d2e21 authored by Nivesh Krishna's avatar Nivesh Krishna
Browse files

Merge branch 'master' of github.com:searx/searx into 2022-08-08-update

parents d4bdba1a c1a611c6
Loading
Loading
Loading
Loading
+1 −43
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ confidence=
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=bad-whitespace, duplicate-code, consider-using-f-string
disable=duplicate-code, consider-using-f-string

# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
@@ -105,39 +105,18 @@ max-nested-blocks=5

[BASIC]

# List of builtins function names that should not be used, separated by a comma
bad-functions=map,filter,apply,input

# Naming hint for argument names
argument-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$

# Regular expression matching correct argument names
argument-rgx=(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*))$

# Naming hint for attribute names
attr-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$

# Regular expression matching correct attribute names
attr-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*)|([A-Z0-9_]*))$

# Bad variable names which should always be refused, separated by a comma
bad-names=foo,bar,baz,toto,tutu,tata

# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$

# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$

# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$

# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$

# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$

# Regular expression matching correct constant names
const-rgx=(([a-zA-Z_][a-zA-Z0-9_]*)|(__.*__))$
#const-rgx=[f]?[A-Z_][a-zA-Z0-9_]{2,30}$
@@ -146,9 +125,6 @@ const-rgx=(([a-zA-Z_][a-zA-Z0-9_]*)|(__.*__))$
# ones are exempt.
docstring-min-length=-1

# Naming hint for function names
function-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$

# Regular expression matching correct function names
function-rgx=(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*))$

@@ -158,21 +134,12 @@ good-names=i,j,k,ex,Run,_,log,cfg,id
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no

# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$

# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$

# Naming hint for method names
method-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$

# Regular expression matching correct method names
method-rgx=(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*))$

# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$

# Regular expression matching correct module names
#module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
module-rgx=([a-z_][a-z0-9_]*)$
@@ -189,9 +156,6 @@ no-docstring-rgx=^_
# to this list to register other decorators that produce valid properties.
property-classes=abc.abstractproperty

# Naming hint for variable names
variable-name-hint=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$

# Regular expression matching correct variable names
variable-rgx=(([a-z][a-zA-Z0-9_]{2,30})|(_[a-z0-9_]*)|([a-z]))$

@@ -217,12 +181,6 @@ max-line-length=120
# Maximum number of lines in a module
max-module-lines=2000

# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1  : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,dict-separator

# Allow the body of a class to be on the same line as the declaration if body
# contains single statement.No config file found, using default configuration

+27 −0
Original line number Diff line number Diff line
@@ -166,3 +166,30 @@ generally made searx better:
- @xenrox
- @OliveiraHermogenes
- Paul Alcock @Guilvareux
- Ben Collerson
- @3nprob
- @plague-doctor
- @CicadaCinema
- @mikamp116
- @Zackptg5
- @darkmagic13
- @CrocodileCroco
- @allendema
- Jordan Webb @jordemort
- Samuel Dudik @dudik
- @c1492
- @nav1s
- Igor Rzegocki @ajgon
- Dmitrii Faiazov @scientia-ac-labore
- @noctux
- @jecarr
- @israelyago
- Georg @tacerus
- Dario Nuevo @narcoticfresh
- Andy Jones @andyljones
- Maciej Urbański @rooterkyberian
- @ilyakooo0
- Eric Zhang @EricZhang456
- @nathannaveen
- @liimee
- @james-still
+101 −0
Original line number Diff line number Diff line
1.1.0 2022.08.07
================

It has been a while since we released a new version of searx. Thus, we have lots of new things to offer, like new engines, autocompleter, plugins, etc. We got numerous contributions from ~30 new developers, but also we got many PRs from our recurring contributors.

Thank you so much for you support! We couldn't have release so many awesome things without you!

Core
~~~~

- Drop Python 3.6 support #3133
- Run tests under python 3.10 #3035
- Reduce redundant docker build steps #2725
- Allow overriding Docker repository when building docker image #2726
- Add healthcheck endpoint for Docker #2992

New engines
~~~~~~~~~~~

- Wordnik.com #2735
- Bandcamp #2763
- SJP - Słownik języka polskiego #2736
- Wikimini #2819
- Dogpile #2822
- PyPI XPATH engine #2830
- ManKier #2829
- Kaufland.de #2915
- ask.com #2898
- gpodder.net (JSON) #2885
- woxikon.de synonyme (xpath) #2883
- Petalsearch.com engine (xpath) #2897
- whaleslide.com #2861
- azlyrics.com #2955
- IMDB #2980
- Prowlarr #3118
- Tineye reverse image search #3040
- Onesearch #3065
- TVmaze #3246
- Emojipedia #3278
- Psychonautwiki by @dimethyltriptamine @kvch

Fixed engines
~~~~~~~~~~~~~

- Remove hubsbpot tracking URL params #2723
- Fix URL to solidtorrent result page #2786
- Update onion engines to v3 #2904
- Fix Seznam engine #2905
- Add pagination support for Library Genesis #2887
- Fix uppercase ip query #2991
- Fix Libgen + Uncomment Ebay and Urbandictionary #2986
- Fixed Hoogle engine #3146
- Fix Digg engine #3150
- Don't lump all search suggestions together in Yahoo #3208
- Fix DDG safe search #3247
- Fix Qwant: Remove extra q from URL #3091

New plugins
~~~~~~~~~~~

- hostname_replace plugin to rewrite result hostnames #2724
- search_operators plugin to filter search results using -, site: and -site: #3311

Fixed plugins
~~~~~~~~~~~~~

- Fix default_doi_resolver in preferences #2707
- Add DOI resolver from sci-hub and replace default DOI #2706

Themes
~~~~~~

- Fix dark "expand" button from infobox #2702
- fix url_for(..., _external=True) in templates #2656
- [enh] oscar: image thumbnail layout #2675
- Improve text overflow of custom select #2985
- Products results: add possibility to show if a product is in stock or not #3120
- Configurable autofocus of search input (#1984) #3285
- archive.today option for results page #3308
- Fix keyboard hints for category tabs (#1187) #3276

Enhancements
~~~~~~~~~~~~

- Allow overriding env vars SEARX_SETTINGS_PATH, UWSGI_SETTINGS_PATH #2717
- correct typo/grammatical mistake #2744
- Fix bug for 'FileNotFoundError' in 'standalone_searx.py' #2764
- Fix grammar mistake in debug log output #2759
- Fix typo #2768
- Fix redirect when saving preferences #2760
- Replace Makefile boilerplate by shell scripts #2594
- Fix Qwant's fetch_languages function #2799
- Apply HTTPS where possible + fix small typo #2922
- Сhange in user-agent Firefox versions to latest #3008
- Use engine-type when looking up supported_languages from JSON files #3002
- Update about section of Invidious and Rumble + Change filtron error wording #2959
- Verify that Tor proxy works every time searx starts #3015
- Update settings_loader.get_user_settings_path() #3056
- Fix wrong func call #3058
- Improve ranking based on language #3053

1.0.0 2021.03.27
================

+13 −51
Original line number Diff line number Diff line
@@ -130,12 +130,14 @@ Global Settings
       request_timeout : 2.0        # default timeout in seconds, can be override by engine
       # max_request_timeout: 10.0  # the maximum timeout in seconds
       useragent_suffix : ""        # informations like an email address to the administrator
       pool_connections : 100       # Maximum number of allowable connections, or None for no limits. The default is 100.
       pool_maxsize : 10            # Number of allowable keep-alive connections, or None to always allow. The default is 10.
       enable_http2: True           # See https://www.python-httpx.org/http2/
       pool_connections : 100       # Number of different hosts
       pool_maxsize : 10            # Number of simultaneous requests by host
   # uncomment below section if you want to use a proxy
   #    proxies:
   #        all://:
   #        http:
   #            - http://proxy1:8080
   #            - http://proxy2:8080
   #        https:
   #            - http://proxy1:8080
   #            - http://proxy2:8080
   # uncomment below section only if you have more than one network interface
@@ -143,7 +145,6 @@ Global Settings
   #    source_ips:
   #        - 1.1.1.1
   #        - 1.1.1.2
   #        - fe80::/126


``request_timeout`` :
@@ -156,46 +157,20 @@ Global Settings
  Suffix to the user-agent searx uses to send requests to others engines.  If an
  engine wish to block you, a contact info here may be useful to avoid that.

``keepalive_expiry``:
  Number of seconds to keep a connection in the pool. By default 5.0 seconds.

.. _httpx proxies: https://www.python-httpx.org/advanced/#http-proxying
.. _requests proxies: https://requests.readthedocs.io/en/latest/user/advanced/#proxies
.. _PySocks: https://pypi.org/project/PySocks/

``proxies`` :
  Define one or more proxies you wish to use, see `httpx proxies`_.
  Define one or more proxies you wish to use, see `requests proxies`_.
  If there are more than one proxy for one protocol (http, https),
  requests to the engines are distributed in a round-robin fashion.

  - Proxy: `see <https://2.python-requests.org/en/latest/user/advanced/#proxies>`__.
  - SOCKS proxies are also supported: `see <https://2.python-requests.org/en/latest/user/advanced/#socks>`__

``source_ips`` :
  If you use multiple network interfaces, define from which IP the requests must
  be made. Example:

  * ``0.0.0.0`` any local IPv4 address.
  * ``::`` any local IPv6 address.
  * ``192.168.0.1``
  * ``[ 192.168.0.1, 192.168.0.2 ]`` these two specific IP addresses
  * ``fe80::60a2:1691:e5a2:ee1f``
  * ``fe80::60a2:1691:e5a2:ee1f/126`` all IP addresses in this network.
  * ``[ 192.168.0.1, fe80::/126 ]``

``retries`` :
  Number of retry in case of an HTTP error.
  On each retry, searx uses an different proxy and source ip.

``retry_on_http_error`` :
  Retry request on some HTTP status code.

  Example:

  * ``true`` : on HTTP status code between 400 and 599.
  * ``403`` : on HTTP status code 403.
  * ``[403, 429]``: on HTTP status code 403 and 429.

``enable_http2`` :
  Enable by default. Set to ``False`` to disable HTTP/2.

``max_redirects`` :
  30 by default. Maximum redirect before it is an error.
  be made. This parameter is ignored when ``proxies`` is set.


``locales:``
@@ -241,13 +216,6 @@ Engine settings
     api_key : 'apikey'
     disabled : True
     language : en_US
     #enable_http: False
     #enable_http2: False
     #retries: 1
     #retry_on_http_error: True # or 403 or [404, 429]
     #max_connections: 100
     #max_keepalive_connections: 10
     #keepalive_expiry: 5.0
     #proxies:
     #    http:
     #        - http://proxy1:8080
@@ -302,12 +270,6 @@ Engine settings
``display_error_messages`` : default ``True``
  When an engine returns an error, the message is displayed on the user interface.

``network``: optional
  Use the network configuration from another engine.
  In addition, there are two default networks:
  * ``ipv4`` set ``local_addresses`` to ``0.0.0.0`` (use only IPv4 local addresses)
  * ``ipv6`` set ``local_addresses`` to ``::`` (use only IPv6 local addresses)

.. note::

   A few more options are possible, but they are pretty specific to some
+13 −13
Original line number Diff line number Diff line
@@ -38,26 +38,26 @@ jinja_contexts = {
extlinks = {}

# upstream links
extlinks['wiki'] = ('https://github.com/searx/searx/wiki/%s', ' ')
extlinks['pull'] = ('https://github.com/searx/searx/pull/%s', 'PR ')
extlinks['wiki'] = ('https://github.com/searx/searx/wiki/%s', '%s')
extlinks['pull'] = ('https://github.com/searx/searx/pull/%s', 'PR %s')

# links to custom brand
extlinks['origin'] = (brand.GIT_URL + '/blob/' + brand.GIT_BRANCH + '/%s', 'git://')
extlinks['patch'] = (brand.GIT_URL + '/commit/%s', '#')
extlinks['search'] = (brand.SEARX_URL + '/%s', '#')
extlinks['docs'] = (brand.DOCS_URL + '/%s', 'docs: ')
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: ')
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', '')
extlinks['origin'] = (brand.GIT_URL + '/blob/' + brand.GIT_BRANCH + '/%s', 'Origin: %s')
extlinks['patch'] = (brand.GIT_URL + '/commit/%s', 'path %s')
extlinks['search'] = (brand.SEARX_URL + '/%s', 'URL: %s')
extlinks['docs'] = (brand.DOCS_URL + '/%s', 'docs: %s')
extlinks['pypi'] = ('https://pypi.org/project/%s', 'PyPi: %s')
extlinks['man'] = ('https://manpages.debian.org/jump?q=%s', 'man: %s')
#extlinks['role'] = (
#    'https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-%s', '')
extlinks['duref'] = (
    'https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#%s', '')
    'https://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#%s', '%s')
extlinks['durole'] = (
    'https://docutils.sourceforge.net/docs/ref/rst/roles.html#%s', '')
    'https://docutils.sourceforge.net/docs/ref/rst/roles.html#%s', '%s')
extlinks['dudir'] =  (
    'https://docutils.sourceforge.net/docs/ref/rst/directives.html#%s', '')
    'https://docutils.sourceforge.net/docs/ref/rst/directives.html#%s', '%s')
extlinks['ctan'] =  (
    'https://ctan.org/pkg/%s', 'CTAN: ')
    'https://ctan.org/pkg/%s', 'CTAN: %s')

extensions = [
    'sphinx.ext.imgmath',
@@ -67,7 +67,7 @@ extensions = [
    "sphinx.ext.intersphinx",
    "pallets_sphinx_themes",
    "sphinx_issues", # https://github.com/sloria/sphinx-issues/blob/master/README.rst
    "sphinxcontrib.jinja",  # https://github.com/tardyp/sphinx-jinja
    "sphinx_jinja",  # https://github.com/tardyp/sphinx-jinja
    "sphinxcontrib.programoutput",  # https://github.com/NextThought/sphinxcontrib-programoutput
    'linuxdoc.kernel_include',  # Implementation of the 'kernel-include' reST-directive.
    'linuxdoc.rstFlatTable',    # Implementation of the 'flat-table' reST-directive.
Loading