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

1023 Commits

Author SHA1 Message Date
neon_arch
4993da4d89 feat: multiple profiles to support various devices with other architectures (#566)
- Add 2 profiles with binary size reduction feature to allow devices
  with low storage to compile/build the app with smaller size.
- Add 3 profiles to allow devices with low powered cpus or other
  architectures like arm to compile apps using less cpu usage.
- Add 6 profiles with hybrid of both for both low powered cpu and low
  storage devices.
2024-05-04 18:54:37 +03: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
dependabot[bot]
9efcf0b079
build(deps): bump rustls from 0.21.10 to 0.21.11 (#554) 2024-04-20 09:10:14 +00:00
dependabot[bot]
c077e39ae7
build(deps): bump softprops/action-gh-release from 1 to 2 (#553) 2024-04-02 20:32:37 +00:00
Kekma
b1df4f1154
feat(config): config option to timeout idle connections within the reqwest pool (#551) 2024-03-30 16:05:44 +03:00
Spencer
bb50e8bb25
Ranking of aggregated search results based on relevancy of the search result to the user's search query (#549)
* add sorting by relevance and merge new changes

* fix conflicts

* Update src/models/aggregation_models.rs

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

* Update src/models/aggregation_models.rs

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

* Update Cargo.toml

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

* Update Cargo.toml

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

* Update Cargo.toml

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

* enable non-static-synonyms features

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
2024-03-25 09:16:49 +00:00
Kekma
c584a7d601
feat(config): config option to keep tcp connection alive for a certain period for subsequent requests (#548)
* Added new HTTP connection setting to the reqwest::ClientBuilder to timeout requests for fetching the search results from the upstream search engines.

* Provided a config option under the server section of the config to allow users to keep tcp connections alive for each request for a certain period of time

* Update src/results/aggregator.rs

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

* Update src/results/aggregator.rs

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

* Fixed import issue in `tcp_connection_keepalive`

* updated size to u8

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

* Fixed sizer eror in `parser.rs`

---------

Co-authored-by: neon_arch <mustafadhuleb53@gmail.com>
Co-authored-by: alamin655 <129589283+alamin655@users.noreply.github.com>
2024-03-25 12:11:56 +03:00
Phetzy
ce4912b9c5
Rose pine colorscheme variants for the search engine (#550)
* created 3 rose pine color schemes for more customization

* adjusted simple.css about logo container svg to use the logo color variable and match the search container
2024-03-24 07:31:17 +00:00
alamin655
236e8871c6
Merge pull request #547 from phetzy/rolling
🚸 Further strip away debug symbols to reduce binary size
2024-03-21 12:22:17 +05:30
alamin655
f78c6d7660
🔖 chore(release): bump the app version (#547) 2024-03-21 12:18:09 +05:30
alamin655
9c6729c931
🔖 chore(release): bump the app version (#547) 2024-03-21 12:17:38 +05:30
phetzy
8779c03afa resolved issue 520: reducing binary size by using symbols instead of debug info 2024-03-18 17:59:37 -04:00
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