Léon Tiekötter
221740f76e
[mod] limiter plugin: Accept-Encoding handling
...
Only raise "suspicious Accept-Encoding" when both "gzip" and "deflate" are missing from Accept-Encoding.
Prevent Browsers which only implement one compression solution from being blocked by the limiter plugin.
Example Browser which is currently blocked: Lynx Browser (https://lynx.invisible-island.net )
2022-08-25 23:21:30 +02:00
Solirs
6d646129c3
[mod] add tor_check plugin - convenient tor checking trough searxng
2022-07-19 07:34:54 +02:00
mrpaulblack
38385e48cf
fix: return body on limiter block so there is not just a blank page
2022-07-05 22:57:26 +02:00
Alexandre Flament
ea0cddba0b
Merge pull request #1047 from return42/redis-lib
...
Add a redis library to generalize DB functions we need in SearXNG.
2022-06-06 10:59:11 +02:00
Markus Heiser
2de007138c
[fix] prepare for pylint 2.14.0
...
Remove issue reported by Pylint 2.14.0:
- no-self-use: has been moved to optional extension [1]
- The refactoring checker now also raises 'consider-using-generator' messages
for max(), min() and sum(). [2]
.pylintrc:
- <option name>-hint has been removed since long, Pylint 2.14.0 raises an
error on invalid options
- bad-continuation and bad-whitespace have been removed [3]
[1] https://pylint.pycqa.org/en/latest/whatsnew/2/2.14/summary.html#removed-checkers
[2] https://pylint.pycqa.org/en/latest/whatsnew/2/2.14/full.html#what-s-new-in-pylint-2-14-0
[2] https://pylint.pycqa.org/en/latest/whatsnew/2/2.6/summary.html#summary-release-highlights
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-06-03 15:41:52 +02:00
Markus Heiser
4b185f0e11
[mod] plugins/limiter.py - use searx.redislib.incr_sliding_window
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-05-30 11:10:30 +02:00
Émilien Devos
66b77c46c7
Fix typo
2022-05-10 20:45:59 +00:00
Alexandre Flament
9b3efa6d8a
theme: remove __common__
2022-05-07 19:40:48 +02:00
Markus Heiser
37493b0a1e
[doc] add some documentation about the limiter plugin (and redis)
...
Requested-by: https://github.com/searxng/searxng/discussions/993#discussioncomment-2396914
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-03-25 11:26:10 +01:00
Alexandre Flament
56e34947a6
[mod] infinite_scroll as preference
...
* oscar theme: code from searx/plugins/infinite_scroll.py
* simple theme: new implementation
Co-authored-by: Markus Heiser <markus.heiser@darmarIT.de>
2022-02-20 22:58:51 +01:00
Alexandre Flament
29182eb1c9
Merge pull request #899 from dalf/limiter_update
...
[limiter] update
2022-02-18 22:17:26 +01:00
Markus Heiser
7352c6bc79
[mod] templates: rename field for <iframe> URL to iframe_src
...
Rename result field data_src to iframe_src
Suggested-by: @dalf https://github.com/searxng/searxng/pull/882#issuecomment-1037997402
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 19:00:49 +01:00
Markus Heiser
795e8af61d
[fix] hostname_replace.py: don't stop replace URL in fields
...
This is a rewrite of the hostname_replace.py that:
- don't stop to replace URL in fields ('data_src', 'audio_src') if there isn't a
'parsed_url',
- adds a comment about keep or remove a result from the result list
- adds a loop over ['data_src', 'audio_src'] instead of doubling code lines
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-18 18:59:58 +01:00
Alexandre Flament
d1b7debac6
[limiter] update
2022-02-17 20:27:02 +01:00
Markus Heiser
98cab4cf75
[mod] result_templates/default.html replace embedded HTML by data_src audio_src
...
Embedded HTML breaks SearXNG architecture. To modularize, HTML is generated in
the templates (oscar & simple) and result parameter 'embedded' is replaced by
'data_src' (and 'audio_src'), an URL for embedded content (<iframe>).
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Markus Heiser
b9a2e8b387
[mod] hostname_replace: replace hostnames in result's data_src param
...
To test you need to redirect embeded videos (e.g.) from youtube to a invidios
instance. Search for videos using engine `!youtube lebowski`. The result URLs
and the embeded videos should link to the invidios instance.
Here is an example of such a `hostname_replace` configuration::
hostname_replace:
# youtube --> Invidious
'(.*\.)?youtube-nocookie\.com': 'invidio.xamh.de'
'(.*\.)?youtube\.com$': 'invidio.xamh.de'
'(.*\.)?invidious\.snopyta\.org$': 'invidio.xamh.de'
'(.*\.)?vid\.puffyan\.us': 'invidio.xamh.de'
'(.*\.)?invidious\.kavin\.rocks$': 'invidio.xamh.de'
'(.*\.)?inv\.riverside\.rocks$': 'invidio.xamh.de'
Closes: https://github.com/searxng/searxng/issues/873
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-13 14:20:47 +01:00
Alexandre Flament
b99ccd7c02
plugin limiter: check only /image_proxy and /search
...
also adjust the number of req/time
2022-02-12 15:57:07 +01:00
Alexandre Flament
f79b0fce06
[enh] limiter plugin
...
can replace filtron:
* rate limite the number of request per IP and per (IP, User-Agent)
* block some bots
use Redis
data stored in Redis never contains the IP addresses, only HMAC using the secret_key
Co-authored-by: Markus Heiser <markus.heiser@darmarit.de>
2022-02-02 09:15:59 +01:00
Martin Fischer
6d43cf7952
[typing] add optional attrs to Plugin
2022-01-17 11:42:48 +01:00
Martin Fischer
bb06758a7b
[refactor] add type hints & remove Setting._post_init
...
Previously the Setting classes used a horrible _post_init
hack that prevented proper type checking.
2022-01-06 14:21:14 +01:00
Markus Heiser
3d96a9839a
[format.python] initial formatting of the python code
...
This patch was generated by black [1]::
make format.python
[1] https://github.com/psf/black
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-12-27 09:26:22 +01:00
Markus Heiser
fcdc2c2cd2
[format.python] disable py code formatting for some hunks of code
...
Disable the python code formatting from python-black, where the readability of
code suffers by formatting.
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-12-27 09:16:03 +01:00
Markus Heiser
5731b6b700
[mod] searx.plugins.prepare_package_resources() - use generators
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:56 +02:00
Markus Heiser
aa5a5147b2
[fix] searx.plugins.initialize() - don't miss module & module-name
...
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-10-07 18:41:41 +02:00
Alexandre Flament
2b4fef7118
plugins: refactor initialization
...
add a new function "init" call when the app starts.
The function can:
* return False to disable the plugin.
* modify the Flask app.
2021-10-06 19:18:19 +02:00
Alexandre Flament
0f43b39eac
[enh] add hostname_replace plugin
...
* backport of https://github.com/searx/searx/pull/2724
* allow to remove result if the replacement is the boolean value false
2021-09-11 13:23:06 +02:00
Alexandre Flament
b941763e20
[mod] ahmia_filter: use on_result instead of post_search
...
see commit 6c9ae7911e9639bc46cd53af215734b4bdb61ba9
2021-09-09 11:31:46 +02:00
Alexandre Flament
fc20c561bf
[mod] oa_doi_rewrite plugin: get_doi_resolver: remove args parameter
...
doi_resolvers.get_value('preferences') already contains the value from
request.args.get('doi_resolver')
2021-09-07 19:14:36 +02:00
Alexandre Flament
3f3b5d6181
[mod] plugins: minor change
...
required attributes: display a different message
when the attribute has the wrong type
2021-08-14 18:03:31 +02:00
Alexandre Flament
881659ca9d
[mod] oscar theme: /preferences : HTML detail order match visual tabs
...
First details about the general tab, then detail about UI tab, etc...
No functionnal change
2021-06-17 15:29:07 +02:00
Alexandre Flament
f83b64270c
[mod] oscar theme /preferences: reorganize the preferences
...
close #115
2021-06-17 15:29:07 +02:00
Alexandre Flament
4b07df62e5
[mod] move all default settings into searx.settings_defaults
2021-06-01 08:10:15 +02:00
Markus Heiser
247c46c6b0
[drop] plugin HTTPS rewrite - rule base is to old (update is to big)
...
The usefulness of the _HTTPS rewrite_ plugin is questionable:
- the 36 rule files have not been updated since 2015 [1]
- actual there are 23760 rule files in the https-everywhere repo [2]
For the first, we can remove this plugin. For a complete new implementation, it
might be good to know that there is a project "https-everywhere : Privacy for
Pythons" [3]
related: https://github.com/return42/searx-next/issues/8
[1] https://github.com/return42/searx-next/tree/d187a1d/searx/plugins/https_rules
[2] https://github.com/EFForg/https-everywhere/tree/master/src/chrome/content/rules
[3] https://github.com/jayvdb/https-everywhere-py
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-22 11:47:16 +02:00
3nprob
2ca0aa4f29
Remove hubsbpot tracking URL params
...
More information here:
https://knowledge.hubspot.com/settings/how-do-i-create-a-tracking-url
https://knowledge.hubspot.com/ads/ad-tracking-in-hubspot
https://knowledge.hubspot.com/ctas/calls-to-action-frequently-asked-questions
https://meta.stackexchange.com/questions/263392/what-are-these-very-long-parameters-in-so-careers-feedback-always-welcome-url
2021-04-06 02:11:09 +09:00
Markus Heiser
ebfd0eb2b7
[fix] default_doi_resolver in preferences
...
Instead of a hard-coded `oadoi.org` default, use the default value from
`settings.yml`.
Fix an issue in the themes: The replacement 'current_doi_resolver' contains the
doi_resolver_url, not the name of the DOI resolver. Compare return value of::
searx.plugins.oa_doi_rewrite.get_doi_resolver(...)
Fix a typo in `get_doi_resolver(..)`: suggested by @kvch:
*L32 should set doi_resolver not doi_resolvers*
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
2021-04-04 13:36:33 +02:00
Alexandre Flament
b00d108673
[mod] pylint: numerous minor code fixes
2020-12-01 15:21:19 +01:00
Alexandre Flament
3038052c79
[mod] remove unused import
...
use
from searx.engines.duckduckgo import _fetch_supported_languages, supported_languages_url # NOQA
so it is possible to easily remove all unused import using autoflake:
autoflake --in-place --recursive --remove-all-unused-imports searx tests
2020-11-14 14:11:02 +01:00
Alexandre Flament
5e7060053c
[mod] ahmia_filter.py: minor changes
...
- use result['parsed_url']
- load ahmia_blacklist.txt in searx.datae
2020-10-27 20:00:04 +01:00
Marc Abonce Seguin
32957cdf49
add Ahmia filter plugin for onion results
2020-10-25 17:59:43 -07:00
Venca24
2b93e70a26
[fix] code style
2020-10-24 09:20:55 +02:00
Venca24
1cbcf2ccb6
[mod] adapt hash plugin to current version of searx
2020-10-23 21:35:13 +02:00
Venca24
40c552c11e
[fix] hash plugin
2020-10-23 21:26:42 +02:00
Venca24
69e5a58058
[fix] code style
2020-10-23 21:26:42 +02:00
Venca24
1ea9438f5d
[fix] hash plugin
2020-10-23 21:25:10 +02:00
Venca24
c9593c8ffd
[enh] add plugin converting strings into hash digests
2020-10-23 21:25:10 +02:00
Adam Tauber
a05c660e30
[enh] add ability to set enabled plugins from settings - closes #1613 #778
2020-10-09 14:12:31 +02:00
Dalf
c225db45c8
Drop Python 2 (4/n): SearchQuery.query is a str instead of bytes
2020-09-10 10:49:42 +02:00
Dalf
1022228d95
Drop Python 2 (1/n): remove unicode string and url_utils
2020-09-10 10:39:04 +02:00
Noémi Ványi
74013c212a
Revert "[enh] new plugin to open results on new browser tabs"
...
This reverts commit ab6a7601cb
.
Closes #2037
2020-07-29 22:10:16 +02:00
Adam Tauber
93ac4db312
[enh] copy atime_ns and mtime_ns of external plugin resources
2020-07-28 13:57:57 +02:00