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 and Markus Heiser
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 and GitHub
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 and Markus Heiser
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 and Markus Heiser
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 and Markus Heiser
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
Adam Tauber
164e4725f3
[mod] add dedicated directory to external plugins with gitignore file
2020-07-28 13:10:40 +02:00
Adam Tauber
3f60bb470a
[fix] correct imported modules
2020-07-28 13:10:40 +02:00
Adam Tauber
dff879d07d
[fix] resolve minor review issues
2020-07-28 13:10:40 +02:00
Adam Tauber
e45a269ecb
[mod] create static directory for each external plugin
2020-07-28 13:10:40 +02:00
Adam Tauber
81e9c75534
[fix] pep8
2020-07-28 13:10:40 +02:00
Adam Tauber
7b93d11d84
[fix] add plugin sha sum check to be able to copy updated resources
2020-07-28 13:10:40 +02:00
Adam Tauber
1f2dc6c647
[enh] add external plugin support
2020-07-28 13:10:40 +02:00
Lukáš Kucharczyk and GitHub
74e4e5e507
Allow localization of "Self Informations"
...
Allows the string "Self Informations" in the plugin of the same name to be localized by wrapping it with gettext().
2020-07-16 15:26:01 +02:00