0
0
mirror of https://github.com/neon-mmd/websurfx.git synced 2024-12-22 20:38:22 -05:00
Commit Graph

61 Commits

Author SHA1 Message Date
Jorge Botto
ef0ae2f0aa
Fixing Librex SearchResultParser results selector (#619) 2024-11-02 15:36:14 +00:00
Todor Todorov
93fd8f8565
🎨 style: change http/https header word/sentence casing (#555)
Currently all HTTP request headers are in snake case and upper case.
The adopted standard is kebab case and title case.

Here you will find more details:
https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Standard_request_fields
2024-04-25 20:31:47 +03:00
neon_arch
991f3f59de
perf: several optimizations for improving the performance of the engine (#540)
* ♻️ refactor: initialize & store the config & cache structs as a constant (#486)
- initializes & stores the config & cache structs as a static constant.
- Pass the config & cache structs as a static reference to all the
  functions handling their respective route.

*  perf: replace hashmaps with vectors for fetching & aggregating results (#486)
- replace hashmaps with vectors for fetching, collecting & aggregating results as it tends to be contigous & cache efficient data structure.
- refactor & redesign algorithms for fetching & aggregating results
  centered around vectors in aggregate function.

*  build: add the future crate (#486)

*  perf: use `futureunordered` for collecting results fetched from the tokio spawn tasks (#486)
- using the `futureunordered` instead of vector for collecting results
  reduces the time it takes to fetch the results as the results do not
  need to come in specific order so any result that gets fetched first
  gets collected in the `futureunordered` type.

Co-authored-by: Spencerjibz <spencernajib2@gmail.com>

*  perf: initialize new async connections parallely using tokio spawn tasks (#486)

*  perf: initialize redis pipeline struct once with the default size of 3 (#486)

*  perf: reduce branch predictions by reducing conditional code branches (#486)

*  test(unit): provide unit test for the `get_safesearch_level` function (#486)

*  perf: reduce clones & use index based loop to improve search results filtering performance (#486)

* 🚨 fix(clippy): make clippy/format checks happy (#486)

* 🚨 fix(build): make the cargo build check happy (#486)

*  perf: reduce the amount of clones, to_owneds & to_strings (#486)

*  perf: use async crates & methods & make functions async (#486)

* 🔖 chore(release): bump the app version (#486)

---------

Co-authored-by: Spencerjibz <spencernajib2@gmail.com>
2024-03-11 12:01:30 +03:00
Jann Marc Villablanca
50aa52c485
Bing for the search engine (#473) (#473)
fix: add closing curly brace

- accidentally removed from previous PR. i hope i did not ruin some
  build

* feat: implement mojeek engine

* Merge branch 'rolling' into FEAT_316_bing_search_engine

*  feat: implement bing engine

* Fix: include cookie string to header_map

* Fix: include <strong> tags from upstream search

* Merge branch 'rolling' into FEAT_316_bing_search_engine

Co-authored-by: neon-mmd <132049916+neon-mmd@users.noreply.github.com>
2024-01-01 14:57:31 +03:00
neon_arch
7d42c84aaf 🚑️ fix(engine): fix the pagination code for startpage engine (#468) 2023-12-30 13:07:18 +03:00
neon_arch
72da32383e 🚑️ fix(engine): fix the pagination code for searx engine (#468) 2023-12-30 13:06:57 +03:00
neon_arch
2bdddaf928 🚑️ fix(engine): fix the pagination code for librex engine (#468) 2023-12-30 13:06:35 +03:00
neon_arch
0dd25aacb6 🚑️ fix(engine): fix the pagination code for duckduckgo engine (#468) 2023-12-30 13:05:04 +03:00
Jann Marc Villablanca
9f23a1c70b
feat(engine): mojeek for the search engine (#464)
* 🧑‍💻 fix: add closing curly brace in the nix build step

*  feat: add code to provide search results from `mojeek` engine

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-12-29 19:21:06 +03:00
neon_arch
582f8aee5b 👽️ chore: update the search result selectors in accordance with the html changes (#432) 2023-12-12 21:57:59 +03:00
alamin655
2c985b8db5
Merge branch 'rolling' into fix-useless-use-of-format! 2023-12-11 09:17:15 +05:30
Diogo Canut
c6ae86dbb4 Fix: useless use of format! (cargo clippy warning) 2023-12-10 21:34:10 -03:00
Diogo Canut
15b0505b96 Provide a more resilient and reliable searx instance 2023-12-10 21:24:17 -03:00
alamin655
c02006c297
LibreX for the search engine (#429)
*  feat(engine): provide librex search engine (#318)

*  feat(engine): provide librex search engine (#318)

*  feat(engine): provide librex search engine (#318)

* 🔖 chore(release): bump the app version (#318)

* 🔖 chore(release): bump the app version (#318)

*  feat(engine): provide librex search engine (#318)

*  feat(engine): provide librex search engine (#429)

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>

*  feat(engine): provide librex search engine (#429)

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>

*  feat(engine): provide librex search engine (#429)

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>

*  feat(engine): provide librex search engine (#429)

*  feat(engine): provide librex search engine (#429)

*  feat(engine): provide librex search engine (#429)

*  feat(engine): provide librex search engine (#429)

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2023-12-09 14:25:28 +03:00
Ananth
1143846ca6
💡 Module comment text to better describe the module code (#428)
* better description

* 🔖 chore(release): bump the app version (#428)

* 🔖 chore(release): bump the app version (#428)

---------

Co-authored-by: alamin655 <mdalamin655@outlook.com>
2023-12-08 17:35:22 +03:00
neon_arch
e1e426c517 feat(engine): provide startpage search engine (#314) 2023-12-05 20:47:28 +03:00
neon_arch
fe74f2eef7 ♻️ refactor: code to take prebuilt client to request search results (#384) 2023-11-20 15:30:00 +03:00
jkaczmarkiewicz
27bc52c008
Brave for the search engine (#335)
* feat: implement brave engine

* refactor: correct indentations in stylelint config

* docs: add dummy config option to config.lua

* feat: implement safe_search_level in brave engine

* refactor: move var to format

* fix: make strict search above level 1
2023-10-16 20:25:15 +03:00
Zsombor Gegesy
32abacb4c3 Fix missing doc errors 2023-10-07 00:33:44 +02:00
Zsombor Gegesy
57c73d38c8 Refactor the search result parsing 2023-10-07 00:33:44 +02:00
Zsombor Gegesy
75a77d25f0 Create separate search_result_parser 2023-10-07 00:33:44 +02:00
neon_arch
ca4447fcdf Merge branch 'rolling' into reorganize-code-and-restructure-the-codebase 2023-09-13 18:31:37 +03:00
neon_arch
fb231de416
Merge branch 'rolling' into change-document-style-with-linter-warnings 2023-09-12 17:49:46 +03:00
alamin655
60b2fcc27a
Merge branch 'rolling' into feat-disallow-user-to-search-via-lists 2023-09-10 20:51:10 +05:30
neon_arch
493c56bd02 ⚙️ refactor: reorganize code & restructure codebase for better maintainability (#207) 2023-09-03 20:50:50 +03:00
neon_arch
453dbdc47d 🧹 chore: make rustfmt happy (#205) 2023-09-03 19:34:22 +03:00
neon_arch
049b1c1ddd ⚙️ refactor: change & add documentation to the code based on the lints (#205) 2023-09-03 19:23:34 +03:00
neon_arch
cbad560139 feat: pass new safe search option in the results function in the
trait (#201)
2023-09-02 17:45:17 +03:00
neon_arch
6fa45ecb12 feat: pass the config option into the results function (#201) 2023-09-02 17:44:05 +03:00
neon_arch
2a68081ae2 ⚙️ refactor: remove deprecated intoreport functions & add minor optimizations (#180)(#178) 2023-08-27 21:00:22 +03:00
neon_arch
f5f0488954 ⚙️ refactor: add several optimizations to the engine code (#180)(#178) 2023-08-27 20:59:08 +03:00
Milim
5aca5c0d0d Improve aggregation
Adds the EngineHandler struct
Removes vulnerability where an attacker could send requests cookies with fake engine names and crash the server.
Merged RawSearchResult and SearchResult, as they were functionally identical.
2023-08-18 10:43:53 +02:00
Milim
15dfda6ea9 Improve Aggregation function & config parser
Refactor aggregation function
Rename visiting_url to url, as they are always the same (see upstream engine scalping).
Refactor parsing function to be more readable.
2023-08-17 22:48:20 +02:00
neon_arch
a8b6a9bce2
Merge branch 'rolling' into patch-searx-results-on-first-page 2023-07-31 13:57:34 +03:00
neon_arch
a8791deb13 🛠️ fix: add & improve code to handle page handling in searx & duckduckgo 2023-07-30 20:14:40 +03:00
neon_arch
9cb582a10d feat: improve code documentation 2023-07-30 17:08:47 +03:00
neon_arch
25d6af0251 🧹 chore: reformat code to make rustfmt happy 2023-07-30 16:58:19 +03:00
neon_arch
2d47e8d730 feat: provide the functionality to use the new config option 2023-07-30 10:53:48 +03:00
neon_arch
74e4fc6169 Merge branch 'rolling' into improve-async-multithreading 2023-07-15 19:50:31 +03:00
neon_arch
94ef62eec9 feat: add documentation to code 2023-07-15 13:36:46 +03:00
neon_arch
9ee516e9b1 feat: fix code for clippy suggestions 2023-07-14 21:18:26 +03:00
neon_arch
27247baf0c feat: define common behaviour for all engines 2023-07-14 17:17:05 +03:00
neon_arch
c223fed394 feat: remove the time crate import 2023-07-14 17:16:13 +03:00
neon_arch
f9b9e87a0e feat: rewrite code by implementing common engine trait SearchEngine 2023-07-11 19:42:17 +03:00
neon_arch
b72af01e0e feat: implement common engine trait 2023-07-11 19:41:34 +03:00
Milim
440216871d Rename Things, refactor some code
BREAKING: renames `binding_ip_addr` to `binding_ip` and `redis_connection_url` to `redis_url`.

Renames a lot of internals as well, but they are to many to mention.
2023-07-03 19:30:25 +02:00
Milim
dbe5b533d6 fix spelling 2023-06-29 19:40:49 +02:00
xffxff
ebb9e9ee2b make format happy 2023-06-15 06:48:37 +08:00
zhou fan
b6faa09750
Update src/engines/engine_models.rs
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2023-06-15 06:28:21 +08:00
xffxff
9a4cf949e4 improve error handling by using error-stack crate 2023-06-14 21:23:00 +08:00