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

1011 Commits

Author SHA1 Message Date
Kekma
2149e32c9e
feat: config option to timeout requests for fetching search results from the upstream search engines (#545) 2024-03-18 22:33:52 +03:00
Evan Yang
4a990c537b
🚸 chore: thin lto for the compilation instead of fat lto to improve build times 2024-03-13 11:25:54 +03:00
neon_arch
d110f72c18
feat: new experimental feature to improve performance using io_uring on linux distributions (#541)
*  feat: provide a new experimental conditional compilation feature to enable io-uring support (#528)

* 🔖 chore(release): bump the app version (#528)
2024-03-12 15:36:13 +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
dependabot[bot]
8d9b660eb1
build(deps): bump rust from 1.75.0-alpine3.18 to 1.76.0-alpine3.18 (#539) 2024-03-02 11:23:07 +00:00
dependabot[bot]
9c51128af2
build(deps): bump peterjgrainger/action-create-branch (#538) 2024-03-02 10:42:37 +00:00
dependabot[bot]
c494edcaff
build(deps): bump reqwest from 0.11.23 to 0.11.24 (#537) 2024-03-02 09:50:36 +00:00
dependabot[bot]
6aab9c85b9
build(deps): bump tempfile from 3.9.0 to 3.10.1 (#536) 2024-03-02 09:46:09 +00:00
dependabot[bot]
1d133ed2a8
build(deps): bump log from 0.4.20 to 0.4.21 (#535) 2024-03-02 09:09:20 +00:00
dependabot[bot]
d020895a51
build(deps): bump actix-cors from 0.6.5 to 0.7.0 (#534) 2024-03-02 09:04:34 +00:00
dependabot[bot]
b7a3a8d855
build(deps): bump dhat from 0.3.2 to 0.3.3 (#533) 2024-03-02 06:57:42 +00:00
aocosmic
11d23fd1b2
💄 chore(simple): modernize the appearance of about page & make it responsive. (#530)
* lazyload search result text with css content-visibility

* typo, lightning-fast is grammatically correct

* revamped logo to look more modern

* added class to control how new logo looks and behaves

* added class to control how new logo looks and behaves

* Replace old websurfx logo in readme file

* major visual revamp

* removed logo files and switched to inline svg

* added `--logo-color` to make svg logo colorscheme adaptive

* Update public/static/themes/simple.css

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

* [CodeFactor] Apply fixes

* chores: fix duplicate footer selector and remove unknown pseudo-class

* chores: remove missed  duplicate footer selector

* chores: pass formatter check by deleting empty line at 18

* fix search result title disappearing after being visited

* 💄 style: revamped the about page to look more modern and responsive

* [CodeFactor] Apply fixes

* chore: remove invalid css property

* chore: remove lines between or after svg string literals to conform with proper rust formatting

* chore: remove blank lines between svg literals to conform with proper Rust formatting

* refactor: changed decimal values to percentage, added quotation in urls, add blank lines to before rule declarations and between font-face rules

* refactor: correctly remove blank lines between and after svg string literals to conform with proper rust formatting

* chore: revert percentage values into decimals and trimmed blank lines before first rule inside media queries

* combine font face queries into one

* fix: added missing quotation marks on font face url

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: alamin655 <mdalamin655@outlook.com>
Co-authored-by: codefactor-io <support@codefactor.io>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-03-02 09:50:35 +03:00
ddotthomas
41ab8a2a76
config option to configure the https adaptive window size for requests (#529)
* Added config option to enable the reqwest client adaptive window

* Change adaptive window config name

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

* Modified documentation

* Trimmed down aggregate parameters

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2024-02-28 15:08:29 +03:00
alamin655
2df6499fb2
📝 docs(instances): more instances with the rolling/edge version (#495)
* add 2 additional instance

Added two new instance
- https://websurfx.instance.pp.ua
- https://alamin655-spacex.hf.space

Changed the `Managed by` column to `Status`

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

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

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

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

* Remove unnecessary line

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

* Update docs/instances.md

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

* Update instances.md

* bump version

* bump version

* Update instances.md

* Update instances.md

* use shields.io

* Update instances.md

* change websurfx.co to websurfx.pp.ua

* update the status badge

* bump app version

v1.9.20

* Add maintained by

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

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2024-02-08 07:52:16 +03:00
Scott
280c7e2b5e
🐛 Auto release github action failure due to missing permissions (#506)
* ci: add release.yml to help automate release versions

* ci: add release.yml to help automate release versions - edited file further to cover edge cases

* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable

* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v

* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0

* ci: changing structure of release.yml to be easier to understand

* ci: #minor changes made

* ci: #minor changes made to make rolling and stable both release branches

* ci: #minor changes to hopefully turn off pre-release

* ci: #minor change - trying to make pre-release suffic set to nothing

* ci: #minor change - removed older release action for a better up to date one

* ci: #minor change

* ci: #minor change to fixed the pre-release issue

* ci: #minor change to fixed the pre-release issue again

* ci: #minor change to fixed the pre-release issue again2

* ci: changed action for tag. I believe it was causing errors

* ci: missing }

* ci: testing some things

* ci: fixing self inflicted error where I forgot to put an ID in

* ci: fixing to make the release branch rolling

* major: testing updating major

* BREAKING CHANGE: removed changelog action

* ci: reset commit and removed changelog

* ci: changed action for tag. I believe it was causing errors

* ci: missing }

* ci: testing some things

* ci: fixing self inflicted error where I forgot to put an ID in

* ci: fixing to make the release branch rolling

* ci: reset commit and removed changelog

* ci: added step to change Cargo.toml app version to the latest tag version without the v

* ci: using echo and double quotes in the appversion variable. Testing now

* ci: testing autocommit

* Apply automatic changes

* ci: testing autocommit further

* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag

* Apply automatic changes

* ci: testing autocommit with branch protection and doing a PR to rolling

* Apply automatic changes

* ci: testing PR create and merge - removed the if that was causing it not to run

* ci: testing PR create and merge - removed the if that was causing it not to run

* Apply automatic changes

* ci: testing PR create and merge - fixed permission issues

* ci: testing PR create and merge - fixed permission issues

* Apply automatic changes

* ci: testing PR create and merge - potentially fixed PR issue

* Apply automatic changes

* ci: testing PR create and merge - potentially fixed PR issue2

* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets

* ci: testing PR create and merge - testing PAT

* ci: testing PR create and merge - testing to see if merge loop stops

* ci: adding in cargo.toml version in auto git commit

* Update Cargo.toml

Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>

* ci: adding in steps to regenerate the Cargo.lock file

* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml

* ci: testing permissions

* ci: testing permissions with PAT

* ci: testing permissions with PAT again

---------

Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-02-03 03:17:38 +00:00
dependabot[bot]
8790f5f719
build(deps): bump actix-files from 0.6.2 to 0.6.5 (#511) 2024-02-02 07:29:35 +00:00
dependabot[bot]
0f19ade40c
build(deps): bump env_logger from 0.10.1 to 0.11.1 (#512) 2024-02-02 07:24:55 +00:00
dependabot[bot]
ae5b3370bc
build(deps): bump smallvec from 1.11.2 to 1.13.1 (#514) 2024-02-02 07:20:11 +00:00
dependabot[bot]
3d76b1bd86
build(deps): bump lightningcss from 1.0.0-alpha.51 to 1.0.0-alpha.52 (#513) 2024-02-02 07:14:54 +00:00
dependabot[bot]
6c3d9ecd50
⬆️ build(deps): bump serde from 1.0.193 to 1.0.196 (#510)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.193 to 1.0.196.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.196)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2024-02-02 10:10:08 +03:00
dependabot[bot]
57267827f5
build(deps): bump peterjgrainger/action-create-branch (#509) 2024-02-02 06:53:56 +00:00
dependabot[bot]
1909cc36a8
build(deps): bump actions/cache from 3 to 4 (#508) 2024-02-02 06:44:35 +00:00
dependabot[bot]
ca425f9ef5
build(deps): bump hennejg/github-tag-action from 4.3.1 to 4.4.0 (#507) 2024-02-02 06:39:32 +00:00
Scott
a92550e050
👷 GitHub action to automate release based on semantic versioning (#499)
* ci: add release.yml to help automate release versions

* ci: add release.yml to help automate release versions - edited file further to cover edge cases

* ci: add release.yml to help automate release versions - I had a typo in a line which pointed at a different variable

* ci: add release.yml to help automate release versions - Fixing the release portion to prepend a v

* ci: add release.yml to help automate release versions. Lowercased V so it looks like v1.1.0 instead of V1.1.0

* ci: changing structure of release.yml to be easier to understand

* ci: #minor changes made

* ci: #minor changes made to make rolling and stable both release branches

* ci: #minor changes to hopefully turn off pre-release

* ci: #minor change - trying to make pre-release suffic set to nothing

* ci: #minor change - removed older release action for a better up to date one

* ci: #minor change

* ci: #minor change to fixed the pre-release issue

* ci: #minor change to fixed the pre-release issue again

* ci: #minor change to fixed the pre-release issue again2

* ci: changed action for tag. I believe it was causing errors

* ci: missing }

* ci: testing some things

* ci: fixing self inflicted error where I forgot to put an ID in

* ci: fixing to make the release branch rolling

* major: testing updating major

* BREAKING CHANGE: removed changelog action

* ci: reset commit and removed changelog

* ci: changed action for tag. I believe it was causing errors

* ci: missing }

* ci: testing some things

* ci: fixing self inflicted error where I forgot to put an ID in

* ci: fixing to make the release branch rolling

* ci: reset commit and removed changelog

* ci: added step to change Cargo.toml app version to the latest tag version without the v

* ci: using echo and double quotes in the appversion variable. Testing now

* ci: testing autocommit

* Apply automatic changes

* ci: testing autocommit further

* ci: testing autocommit: removing tagging since it creates another tag instead of using that tag

* Apply automatic changes

* ci: testing autocommit with branch protection and doing a PR to rolling

* Apply automatic changes

* ci: testing PR create and merge - removed the if that was causing it not to run

* ci: testing PR create and merge - removed the if that was causing it not to run

* Apply automatic changes

* ci: testing PR create and merge - fixed permission issues

* ci: testing PR create and merge - fixed permission issues

* Apply automatic changes

* ci: testing PR create and merge - potentially fixed PR issue

* Apply automatic changes

* ci: testing PR create and merge - potentially fixed PR issue2

* ci: testing PR create and merge - potentially fixed PR issue + fixing what branch it targets

* ci: testing PR create and merge - testing PAT

* ci: testing PR create and merge - testing to see if merge loop stops

* ci: adding in cargo.toml version in auto git commit

* Update Cargo.toml

Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>

* ci: adding in steps to regenerate the Cargo.lock file

* ci: adding in steps to regenerate the Cargo.lock file - fixing commit issue with cargo.toml

---------

Co-authored-by: scottc943 <scottc943@users.noreply.github.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-01-31 07:08:37 +00:00
Jann Marc Villablanca
669e365913
feat: add new helper function to fetch upstream search engine JSON response (#504)
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2024-01-30 13:37:50 +00:00
abdulahad5112
b2cbc5eaa5
📝 Maintained badge/shield status in the readme from stale to yes/maintained #500 (#503)
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-01-30 07:20:14 +00:00
abdulahad5112
851ea314a7
🐛 parsed_cet not found in scope error when building the app with the no-cache feature #498 (#502)
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-01-30 07:14:31 +00:00
abdulahad5112
fbf73634ee
🐛 Undeclared mini-mocha crate error when building the app with features other than memory-cache #493 (#501) 2024-01-30 07:09:33 +00:00
Yogen P
779908cb11
updated stargazer link (#496) 2024-01-27 16:15:32 +00:00
alamin655
78858b0e04
Merge pull request #492 from spencerjibz/optimize-caching-code
️ Improve page load by optimizing the caching code
2024-01-26 15:08:07 +05:30
Spencer
660f85620d
Merge branch 'rolling' into optimize-caching-code 2024-01-24 23:09:20 +00:00
Spencerjibz
51214dc23a add support for caching N number of key-values pairs instead of only 3 2024-01-24 22:56:11 +00:00
Spencerjibz
29b76be459 dump up package version 2024-01-24 12:47:19 +00:00
Spencerjibz
6b9469e4b3 cache the next, current and previous results in a separate task 2024-01-22 19:29:08 +00:00
Spencerjibz
f5cf5f9151 changed cache_results method to support multiple values 2024-01-22 19:26:35 +00:00
Spencerjibz
c762f9cf8e use redis pipeline to set multiple values at once 2024-01-22 19:20:16 +00:00
alamin655
705ba81026
Merge pull request #491 from Siddh744542/Clippy/Format-checking/linting-GitHub-action-to-analyze-code-for-all-the-features
👷 Clippy/Format checking/linting GitHub action to analyze code for all the features
2024-01-21 16:00:46 +05:30
alamin655
0f717cc976
🔖 chore(release): bump the app version (#491) 2024-01-21 15:56:41 +05:30
alamin655
b2971c1829
🔖 chore(release): bump the app version (#491) 2024-01-21 15:56:16 +05:30
Siddharth Tiwari
99f0cf1113 fixed issue #490 2024-01-21 12:22:15 +05:30
TheNortheWind
c25cd9c3fe
📝 note Highlighting in the readme file (#488)
Changed the Note highlighting from: **Note** to [!Note]

Affected lines: 144, 169, 221
2024-01-16 11:21:12 +03:00
alamin655
388aaf4bfd
Merge pull request #470 from ddotthomas/FIX/463_results_from_different_search_engines_get_cached_as_the_same_key
🐛 Different cache keys when different search engines are selected
2024-01-13 20:34:11 +05:30
ddotthomas
31c9c676ee Change get_safe_search_level logic back 2024-01-12 09:51:31 -07:00
ddotthomas
ca96a76958 change: renamed get_safesearch_level variables 2024-01-11 11:58:09 -07:00
alamin655
326131aac4
Merge branch 'rolling' into FIX/463_results_from_different_search_engines_get_cached_as_the_same_key 2024-01-11 16:47:15 +05:30
Evan Yang
efa8efc6c7
Compression and encryption for the cached search results (#443)
* attempt1

* rough draft

* add features and their optional dependancies

* add encryption and compression error variants

* add  a sample implementation to cache trait

* Update src/cache/cacher.rs

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

* adjust comment so feature flag would apply?

* adjust feature flag so it applies?

* formatting

* Update src/cache/cacher.rs

update documentation

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

* [features]Add base64 and chacha20 dependencies for compress-cache-results and encrypt-cache-results

* move encryption key and cipher logic to separate sub module

* added cacha20 and cec-results feature

* added cacha20 and cec-results feature

* added compression and encryption helper functions to trait implementations

* added compression and encryption  implementation for inMemoryCache

* base64 is only requried when redis-cache feature is enabled

* add error case for base64 and encryption/compression implementation to redisCache

* Refactor cacher to remove regex dependency

* fmt cache error and cacher

* Update Cargo.toml

disabling the unneeded default-features

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

* fix unused import warning for mimalloc

* remove deprecated method

* add doc comments for encryption module

* fix known bugs and use cfg-if module

* make cfg-if an optional dependency

* use feature-flag instead of maco lint

* add comment to explain type complexity

* bump app version

* Update src/cache/encryption.rs

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

* fixed type complexity and add docs for types

---------

Co-authored-by: Spencer Najib <spencernajib2@gmail.com>
Co-authored-by: alamin655 <mdalamin655@outlook.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
Co-authored-by: Spencerjibz <=spencernajib2@gmail.com>
Co-authored-by: spencer <spencer@DESKTOP-SIF13AR>
2024-01-11 11:10:35 +00:00
ddotthomas
80e950de3b refactor: changed Cookie to use Cow to facilitate using references when building 2024-01-10 14:14:14 -07:00
neon_arch
a47e28587c
Merge branch 'rolling' into FIX/463_results_from_different_search_engines_get_cached_as_the_same_key 2024-01-10 07:25:30 +03:00
ddotthomas
d912bff94e change: revert Cookie Strings back to &str 2024-01-08 11:46:21 -07:00
ddotthomas
6e9250c03a fix: safe search url parameter ignored 2024-01-08 09:19:36 -07:00