0
0
mirror of https://github.com/neon-mmd/websurfx.git synced 2024-10-18 06:22:53 -04:00
Commit Graph

267 Commits

Author SHA1 Message Date
neon_arch
fcfd112e59 🛠️ fix: improve the documentation & move code in the correct files (#244) 2023-09-17 12:51:32 +03:00
neon_arch
8c239e2313 🛠️ fix: make the redis_url option only available on redis-cache feature (#244) 2023-09-17 12:50:25 +03:00
neon_arch
578c7bcf77 🛠️ fix: improve the documentation for the code (#244) 2023-09-17 12:48:11 +03:00
neon_arch
03384d4e04 🛠️ fix: implement hybrid caching and improve documentation (#244) 2023-09-17 12:47:02 +03:00
Zsombor Gegesy
e69126c5ea Fix git rebase problems, and the failing doctest 2023-09-15 23:25:17 +02:00
Zsombor Gegesy
1e7805cf42 Rename features, make the memory-cache the default 2023-09-15 23:21:19 +02:00
Zsombor Gegesy
76795c43cc Make the cache types compile time feature flags too, and make it more configurable! 2023-09-15 23:21:19 +02:00
Zsombor Gegesy
320f5f4720 Remove unnecessary clones 2023-09-15 23:21:19 +02:00
Zsombor Gegesy
519ebe0fd8 Instead of caching jsons, we can cache the original structure 2023-09-15 23:21:19 +02:00
Zsombor Gegesy
996ff84c5b Cache refactor - add an in-memory cache, so redis is not needed 2023-09-15 23:21:19 +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
c60fdb8366 🧹 chore: make github actions happy (#205) 2023-09-12 18:53:32 +03:00
neon_arch
1a222217c4 🧹 chore: make github actions happy (#205) 2023-09-12 17:59:33 +03:00
neon_arch
fb231de416
Merge branch 'rolling' into change-document-style-with-linter-warnings 2023-09-12 17:49:46 +03:00
neon_arch
b9d651c378 🧹 chore: make github actions happy (#203) 2023-09-11 20:16:42 +03:00
alamin655
8e56ac8ba2
Update parser.rs 2023-09-11 12:05:13 +05:30
alamin655
0132a63e6f
Apply suggestions from code review 2023-09-11 11:58:31 +05:30
alamin655
3c1aaf63f8
Update src/config/parser.rs 2023-09-11 11:56:12 +05:30
alamin655
531611f077
Update src/config/parser.rs 2023-09-11 11:54:21 +05:30
alamin655
70a5a2463b
Update src/config/parser.rs 2023-09-11 11:46:56 +05:30
alamin655
2790eefba8
Merge branch 'rolling' into feat-rate-limiter-for-websurfx 2023-09-11 11:40:10 +05:30
neon_arch
12bfc5276a 🧹 chore: make clippy happy (#201) 2023-09-10 18:56:54 +03:00
neon_arch
ac4e29a93f 🧹 chore: make github actions happy (#201) 2023-09-10 18:41:24 +03:00
alamin655
86991a2f9a
Merge branch 'rolling' into feat-rate-limiter-for-websurfx 2023-09-10 20:56:21 +05:30
alamin655
60b2fcc27a
Merge branch 'rolling' into feat-disallow-user-to-search-via-lists 2023-09-10 20:51:10 +05:30
neon_arch
82a78e3b42
Merge branch 'rolling' into optimize-and-make-code-idiomatic 2023-09-10 18:11:12 +03:00
neon_arch
8dfe2e1b2d
Merge branch 'rolling' into optimize-and-make-code-idiomatic-3 2023-09-10 17:58:28 +03:00
neon_arch
db009454c8 ⚙️ refactor: change import path for search route (#207) 2023-09-03 21:03:58 +03:00
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
0d2d449889 ⚙️ refactor: add lints to the codebase to ensure proper code style (#205) 2023-09-03 19:21:23 +03:00
neon_arch
51937a0d49 feat: pass the new config option into the middleware config (#203) 2023-09-02 20:22:24 +03:00
neon_arch
8cba040d80 feat: add code to parse the new config option (#203) 2023-09-02 20:21:48 +03:00
neon_arch
4eb75a8cb1 feat: add code to parse the new config option (#203) 2023-09-02 20:19:43 +03:00
neon_arch
3f73e85455 🧹 chore: make rustfmt happy (#201) 2023-09-02 19:07:23 +03:00
neon_arch
05c3e6cc12 feat: implement new search parameter safe_search & code to disallow
users when safe_search is set to 4 (#201)
2023-09-02 17:50:06 +03:00
neon_arch
410257c276 feat: implement new fields, traits and functions (#201) 2023-09-02 17:48:27 +03:00
neon_arch
f4c496c02c feat: implement default trait for style struct (#201) 2023-09-02 17:46:32 +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
37e650eb8a feat: add code to parse the new config option (#201) 2023-09-02 17:42:55 +03:00
neon_arch
d6463f0872 feat: add condition to filter results only when safe_search level is
set to 3 or above (#201)
2023-09-02 17:38:46 +03:00
neon_arch
a799af3125 🧹 chore: add fixes to code & make rustfmt & clippy happy (#180)(#178) 2023-08-30 18:09:58 +03:00
neon_arch
4c298ce18c ⚙️ refactor: add code to initialize redis cache struct only once (#180)(#178) 2023-08-29 20:15:06 +03:00
neon_arch
7b1f93b232 ⚙️ refactor: add compress middleware to reduce memory usage (#180)(#178) 2023-08-29 20:12:15 +03:00
neon_arch
1de52decd3 ⚙️ refactor: add clone trait to RedisCache struct (#180)(#178) 2023-08-29 20:10:32 +03:00
neon_arch
028463bb36 ⚙️ refactor: replace jemalloc with mimalloc (#178)(#180) 2023-08-29 20:07:28 +03:00
neon_arch
fceacdb916 🧹 chore: make cargo format happy (#180)(#178) 2023-08-27 21:17:21 +03:00
neon_arch
fd6cb46f87 ⚙️ refactor: replace string type to &str type (#180)(#178) 2023-08-27 21:07:57 +03:00
neon_arch
b2c72bdfc3 ⚙️ refactor: replace pass by value with pass by reference (#180)(#178) 2023-08-27 21:06:25 +03:00
neon_arch
13ce420642 ⚙️ refactor: add several minor optimizations (#180)(#178) 2023-08-27 21:04:41 +03:00
neon_arch
2885f23ec9 ⚙️ refactor: replace vecs with smallvecs for smaller data sizes & replace to_strings with to_owned (#180)(#178) 2023-08-27 21:02:23 +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
neon_arch
4ccd0486e7 ⚙️ refactor: replace oncecell with oncelock from std library (#180)(#178) 2023-08-27 20:57:33 +03:00
neon_arch
7b33744c9d ⚙️ refactor: implement default trait for Style struct (#180)(#178) 2023-08-27 20:56:29 +03:00
neon_arch
e4476aae28 ⚙️ refactor: replace rlua with mlua code implementation (#180)(#178) 2023-08-27 20:55:34 +03:00
neon_arch
5f1a43976f ⚙️ refactor: add error.rs module (#180)(#178) 2023-08-27 20:53:55 +03:00
neon_arch
01d8c7ae4c ⚙️ refactor: add new pooling error type for pooling code (#180)(#178) 2023-08-27 20:52:16 +03:00
neon_arch
db93c31603 ⚙️ refactor: implement async pooling for redis connections (#180)(#178) 2023-08-27 20:50:42 +03:00
neon_arch
4afc0d16f0 ⚙️ refactor: add dhat profiler configuration with feat flag (#180)(#178) 2023-08-27 20:46:19 +03:00
xffxff
c3a7c917f6 make format happy 2023-08-24 09:50:19 +08:00
xffxff
23ff24bdf3 add a test to check if the regex wildcard .* matches any character 2023-08-24 09:46:01 +08:00
xffxff
a2fc10ca39 add a test for invalid regex 2023-08-24 09:36:08 +08:00
xffxff
4280545e8c add a test for non-existent file 2023-08-24 09:32:22 +08:00
xffxff
5c0397c456 add some comments to filter_with_lists and add a basic test 2023-08-24 09:29:08 +08:00
zhou fan
2f1fa00f87
Merge branch 'rolling' into feat-error-box-for-engine-errors 2023-08-24 08:16:32 +08:00
zhou fan
575a7f95ba
Merge branch 'rolling' into feat-error-box-for-engine-errors 2023-08-24 08:02:03 +08:00
neon_arch
44216e4d4c feat: optimise search results filtering code (#163) 2023-08-23 13:11:09 +03:00
neon_arch
9c71c9f617 🧹 chore: make rustfmt happy 2023-08-22 19:29:13 +03:00
neon_arch
b17057471b feat: rename functions (#163) 2023-08-22 19:22:37 +03:00
neon_arch
09227d8c93 feat: move implementation of config file path to reduce duplication (#163) 2023-08-22 19:20:29 +03:00
neon_arch
fda6c3a9be feat: rename public_paths to paths (#163) 2023-08-22 19:18:43 +03:00
neon_arch
4f28711218 feat: add code to filter aggregated search results using lists (#163) 2023-08-22 19:16:37 +03:00
Milim
87e230d731 fix debug level not being set properly 2023-08-19 09:09:09 +02:00
Milim
21403d0a48 fix dumb rustfmt version and bump dependency versions 2023-08-18 22:04:34 +02: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
Milim
af3b1cb308 Use non-blocking sleep function
std:🧵:sleep blocks the entire thread and thus also forces all other current requests to be halted.
2023-08-17 21:45:48 +02:00
neon_arch
c4935f202a feat: add images, error_box & new message when no results are provided (#185) 2023-08-10 04:32:47 +03:00
neon_arch
272fdefff5
Merge branch 'rolling' into improve-results-caching 2023-08-06 20:53:14 +03:00
neon_arch
a596c07547 🔧 chore: add code to cache the previous & next pages (#160) 2023-08-06 20:31:30 +03:00
neon_arch
ca13fb7ad4 Merge branch 'improve-logging-based-on-levels-and-opts' of github.com:neon-mmd/websurfx into improve-logging-based-on-levels-and-opts 2023-08-05 19:20:58 +03:00
neon_arch
653d08c801 🔧 chore: fix link in the logs & add logs for engine error (#170) 2023-08-05 19:16:27 +03:00
neon_arch
0d8c12e26b
Merge branch 'rolling' into improve-logging-based-on-levels-and-opts 2023-08-04 12:55:05 +03:00
neon_arch
9d3a8e065a
Merge branch 'rolling' into patch-csrf-security-with-cors 2023-08-04 12:35:26 +03:00
neon_arch
8b0f2f50f0 🔧 chore: improve logging based on levels & config options (#173) 2023-08-03 23:09:08 +03:00
neon_arch
bef8956da6 🛠️ fix: add code to prevent csrf attacks using cors (#172) 2023-08-03 17:44:13 +03:00
neon_arch
e02fafd69c feat: fix doc tests 2023-08-03 01:03:56 +03:00
neon_arch
4b4dc28cd2 feat: add control check to avoid reinitializing logging & fix tests 2023-08-03 00:12:09 +03:00
neon_arch
11bcf9c98a feat: remove space from the end of the line 2023-08-02 20:07:29 +03:00
neon_arch
d8bd2feb6e feat: add new config option to manage threads and improve logging 2023-08-02 20:05:39 +03: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
6d3396b6f9 feat: provide functionality to parse the new config option 2023-07-30 10:52:03 +03:00
neon_arch
a28d559426 feat: add documentation for the outputs.iter() code block 2023-07-17 17:03:50 +03:00
neon_arch
987e667c3d feat: rename results_json to results 2023-07-17 13:17:24 +03:00
neon_arch
7e3b59e8c0 feat: remove the empty_result_set option and helper functions 2023-07-17 13:03:20 +03:00
neon_arch
c5fca32553 feat: fix spelling mistake in the comment 2023-07-17 10:50:15 +03:00
neon_arch
cff7de9d0f feat: rephrase the comment to break it into smaller sentences. 2023-07-17 10:47:29 +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
8133de1758 feat: add check to conditionaly pass empty_result_set to true to UI 2023-07-14 21:29:01 +03:00
neon_arch
a3edf70d1e feat: add code to pass engine errors to the UI 2023-07-14 21:27:23 +03:00
neon_arch
3aeb3b3e73 feat: add setter functions to SearchResults struct 2023-07-14 21:26:29 +03:00
neon_arch
9ee516e9b1 feat: fix code for clippy suggestions 2023-07-14 21:18:26 +03:00
neon_arch
3e6f7867eb feat: add code to parse cookies and handle engine selection from UI 2023-07-14 17:20:46 +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
2f01651be0 feat: fix bugs and add code to handle engine selections
Co-authored-by: Sabrina Jewson <58880148+SabrinaJewson@users.noreply.github.com>
2023-07-14 12:56:06 +03:00
neon_arch
0781385393 feat: implement async multithreading and engine selection code 2023-07-11 19:44:38 +03:00
neon_arch
897ab0807f feat: fix the argument type used 2023-07-11 19:43:32 +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
neon_arch
ff79c1fcfb feat: code to parse and handle the new config option 2023-07-11 19:38:59 +03:00
Trickshotblaster
99936bcb1a Rename getter functions 2023-07-04 15:11:30 -07:00
Milim
4cb38b1b54 Fix docs 2023-07-03 19:38:17 +02: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
Milim
e2907edf6e refactor config helper function 2023-06-29 19:10:09 +02:00
Milim
1f90b4e15c refactor search route and change default page to 0
that thing was utterly insane, and i am not sorry for saying this
2023-06-29 18:49:38 +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
1ebf888085 log the error from engines 2023-06-15 06:27:45 +08:00
xffxff
9a4cf949e4 improve error handling by using error-stack crate 2023-06-14 21:23:00 +08:00
neon_arch
c2280b7349 chore: add source and an appropriate message to different error variants 2023-06-04 11:56:07 +03:00
neon_arch
4460730ca6 chore: make clippy github action happy 2023-06-01 12:21:45 +03:00
neon_arch
975e8a480b
Merge branch 'rolling' into handle-reqwest-errors 2023-05-31 17:20:08 +00:00
neon_arch
5962cca294 chore: provide a better and more standardized way to handle engine errors 2023-05-31 19:54:51 +03:00
neon_arch
13632f1f99 feat: remove random delays when debug is set to true 2023-05-29 21:28:09 +03:00
neon_arch
60317a3b75 chore: make format ci happy 2023-05-29 21:13:07 +03:00
neon_arch
d4df90160d feat: add an option to enable/disable debug mode 2023-05-29 21:09:07 +03:00
neon_arch
8e7dc68d2d feat: add an option to enable or disable logs 2023-05-27 19:50:20 +03:00
neon_arch
dc3308cb5f chore: rename from theme to public 2023-05-25 11:50:37 +03:00
neon_arch
29456650f1 feat: add ability to put the themes folder on different paths 2023-05-24 17:37:41 +03:00
zhou fan
e6bb981133
Merge branch 'rolling' into ability-to-have-config-on-diff-paths 2023-05-24 17:10:07 +08:00
neon_arch
a7a28ed8c6 chore: make websurfx directory and config file names as constants 2023-05-24 12:01:36 +03:00
neon_arch
89796a054f feat: add ability to put config file on different paths 2023-05-23 23:47:36 +03:00
XFFXFF
ea013e718e make format happy 2023-05-23 10:00:35 +00:00
XFFXFF
9773cee38d change the 'aggregator' option to 'production_use' 2023-05-23 10:00:05 +00:00
XFFXFF
05272884ba supports the option to add a random delay 2023-05-23 10:00:03 +00:00
XFFXFF
cecffe4155 make format happy 2023-05-23 09:34:46 +00:00
neon_arch
6e19246cb2 fix: reduce the time to build user-agents 2023-05-22 13:07:37 +03:00
MD AL AMIN TALUKDAR
ae2fdb557c
Removed unnecessary comment 2023-05-20 08:01:24 +05:30
MD AL AMIN TALUKDAR
9a204b2f98 Fix page_url assignment in search route
The page_url variable in the search route was not being properly assigned in certain cases. This commit fixes the issue by ensuring that page_url is assigned the correct value based on the search parameters.

In the match expression, the conditions have been adjusted to correctly handle the page number and construct the appropriate page_url. This ensures that the generated URL for the search page is accurate and reflects the search query and page number.

This change improves the functionality and reliability of the search route by correctly setting the page_url variable based on the provided search parameters.
2023-05-19 17:13:11 +05:30
neon_arch
019b3322e7 chore: add enum to handle different reqwest errors & add timeout to requests 2023-05-16 12:22:00 +03:00