[-] neon_arch@programming.dev 6 points 6 months ago

Ok sure, thanks for the suggestion, I would make the change as soon as possible. Also, next time, I would make sure to provide a brief description with the release announcement.

5
Websurfx 1.15.0 release (programming.dev)

cross-posted from: https://programming.dev/post/13475052

Hello again!!

Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again.

So, through the medium of this post I would like to share with you all the v1.15.0 major release version of the websurfx project which was released on the 25th of March.

If you are new, and you don't know what is websurfx then I would suggest taking a look at my previous post here:

https://programming.dev/post/2678496

Which covers in depth about what the project is and why it exists.

Credits

Before I share with you the changelog, what this release version means and a preview on what we are planning to work on for the next major release v2.0.0. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also, Websurfx would not have been possible without alamin655 and xffxff early involvement.

Thanks ๐Ÿ’– to all the people involved in the project

Now, let's dive straight into what this release version actually means.

What does this release version means

This new release version v1.15.0 introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query.

Changelog

The changelog of all the changes can be found here:

https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0

Preview of the goals for the next major release

  • Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress).
  • Even more engines will be supported.
  • Categories would be added to search results like images, news, etc.
  • More themes will be provided by default
  • More animations for the websurfx frontend will be supported.
  • Multi language support would be added.
  • I2p and tor support will be provided.
  • Reduce animations would be added for those who don't want animations and effects on the frontend.
  • And lots more โœจ.
25
Websurfx 1.15.0 release (programming.dev)

cross-posted from: https://programming.dev/post/13475052

Hello again!!

Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again.

So, through the medium of this post I would like to share with you all the v1.15.0 major release version of the websurfx project which was released on the 25th of March.

If you are new, and you don't know what is websurfx then I would suggest taking a look at my previous post here:

https://programming.dev/post/2678496

Which covers in depth about what the project is and why it exists.

Credits

Before I share with you the changelog, what this release version means and a preview on what we are planning to work on for the next major release v2.0.0. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also, Websurfx would not have been possible without alamin655 and xffxff early involvement.

Thanks ๐Ÿ’– to all the people involved in the project

Now, let's dive straight into what this release version actually means.

What does this release version means

This new release version v1.15.0 introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query.

Changelog

The changelog of all the changes can be found here:

https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0

Preview of the goals for the next major release

  • Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress).
  • Even more engines will be supported.
  • Categories would be added to search results like images, news, etc.
  • More themes will be provided by default
  • More animations for the websurfx frontend will be supported.
  • Multi language support would be added.
  • I2p and tor support will be provided.
  • Reduce animations would be added for those who don't want animations and effects on the frontend.
  • And lots more โœจ.
32
Websurfx 1.15.0 release (programming.dev)

cross-posted from: https://programming.dev/post/13475052

Hello again!!

Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again.

So, through the medium of this post I would like to share with you all the v1.15.0 major release version of the websurfx project which was released on the 25th of March.

If you are new, and you don't know what is websurfx then I would suggest taking a look at my previous post here:

https://programming.dev/post/2678496

Which covers in depth about what the project is and why it exists.

Credits

Before I share with you the changelog, what this release version means and a preview on what we are planning to work on for the next major release v2.0.0. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also, Websurfx would not have been possible without alamin655 and xffxff early involvement.

Thanks ๐Ÿ’– to all the people involved in the project

Now, let's dive straight into what this release version actually means.

What does this release version means

This new release version v1.15.0 introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query.

Changelog

The changelog of all the changes can be found here:

https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0

Preview of the goals for the next major release

  • Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress).
  • Even more engines will be supported.
  • Categories would be added to search results like images, news, etc.
  • More themes will be provided by default
  • More animations for the websurfx frontend will be supported.
  • Multi language support would be added.
  • I2p and tor support will be provided.
  • Reduce animations would be added for those who don't want animations and effects on the frontend.
  • And lots more โœจ.
24
Websurfx 1.15.0 release (programming.dev)

Hello again!!

Sorry for the big delay in the announcements. I know it has been a long time I have not made any announcements, but I will try my best next time this doesn't happen again.

So, through the medium of this post I would like to share with you all the v1.15.0 major release version of the websurfx project which was released on the 25th of March.

If you are new, and you don't know what is websurfx then I would suggest taking a look at my previous post here:

https://programming.dev/post/2678496

Which covers in depth about what the project is and why it exists.

Credits

Before I share with you the changelog, what this release version means and a preview on what we are planning to work on for the next major release v2.0.0. I would first like to thank all our contributors and maintainers because of whom this was all possible. Specially I would like to thank spencerjibz, ddotthomas and evanyang1 who have been invaluable to the project. Also, Websurfx would not have been possible without alamin655 and xffxff early involvement.

Thanks ๐Ÿ’– to all the people involved in the project

Now, let's dive straight into what this release version actually means.

What does this release version means

This new release version v1.15.0 introduces the new ranking algorithm for search results on the search page which ranks the results based on the relevancy to the user's search query.

Changelog

The changelog of all the changes can be found here:

https://github.com/neon-mmd/websurfx/releases/tag/v1.15.0

Preview of the goals for the next major release

  • Different levels of privacy to choose from with the help of rust's conditional compiling features (In progress).
  • Even more engines will be supported.
  • Categories would be added to search results like images, news, etc.
  • More themes will be provided by default
  • More animations for the websurfx frontend will be supported.
  • Multi language support would be added.
  • I2p and tor support will be provided.
  • Reduce animations would be added for those who don't want animations and effects on the frontend.
  • And lots more โœจ.
[-] neon_arch@programming.dev 3 points 1 year ago* (last edited 1 year ago)

Yes, I have found the fix. I will publish it tomorrow morning as soon as possible, so no worries :).

[-] neon_arch@programming.dev 3 points 1 year ago

Sorry for the delay in reply.

Thanks for the suggestion :). We are already having plans of supporting this in the near future.

[-] neon_arch@programming.dev 3 points 1 year ago* (last edited 1 year ago)

Sorry for the delay in reply.

Thanks for checking out my project. We are already working on fixing this issue, and we will fix it soon as possible as :).

Also, I would suggest following this issue. Here I explain on how to fix this issue.

Here is the link:

https://github.com/neon-mmd/websurfx/issues/242

If you find any difficulties, just leave a reply on this issue. We would be glad to help :).

[-] neon_arch@programming.dev 2 points 1 year ago

Sorry for the delay in reply.

Thanks for the feedback on my project :).

97

cross-posted from: https://programming.dev/post/2678496

Introduction

Hello everybody, About 5 months ago I started building an alternative to the Searx metasearch engine called Websurfx which brings many improvements and features which lacks in Searx like speed, security, high levels of customization and lots more. Although as of now it lacks many features which will be added soon in futures release cycles but right now we have got everything stabilized and are nearing to our first release v1.0.0. So I would like to have some feedbacks on my project because they are really valuable part for this project.

In the next part I share the reason this project exists and what we have done so far, share the goal of the project and what we are planning to do in the future.

Why does it exist?

The primary purpose of the Websurfx project is to create a fast, secure, and privacy-focused metasearch engine. While there are numerous metasearch engines available, not all of them guarantee the security of their search engine, which is critical for maintaining privacy. Memory flaws, for example, can expose private or sensitive information, which is never a good thing. Also, there is the added problem of Spam, ads, and unorganic results which most engines don't have the full-proof answer to it till now. Moreover, Rust is used to write Websurfx, which ensures memory safety and removes such issues. Many metasearch engines also lack important features like advanced picture search, which is required by many graphic designers, content providers, and others. Websurfx attempts to improve the user experience by providing these and other features, such as providing custom filtering ability and Micro-apps or Quick results (like providing a calculator, currency exchanges, etc. in the search results).

Preview

Home Page

Search Page

404 Page

What Do We Provide Right Now?

  • Ad-Free Results.
  • 12 colorschemes and a simple theme by default.
  • Ability to filter content using filter lists (coming soon).
  • Speed, Privacy, and Security.

In Future Releases

We are planning to move to leptos framework, which will help us provide more privacy by providing feature based compilation which allows the user to choose between different privacy levels. Which will look something like this:

  • Default: It will use wasm and js with csr and ssr.
  • Harderned: It will use ssr only with some js
  • Harderned-with-no-scripts: It will use ssr only with no js at all.

Goals

  • Organic and Relevant Results
  • Ad-Free and Spam-Free Results
  • Advanced Image Search (providing searches based on color, size, etc.)
  • Dorking Support (in other words advanced search query syntax like using And, not and or in search queries)
  • Privacy, Security, and Speed.
  • Support for low memory devices (like you will be able to host websurfx on low memory devices like phones, tablets, etc.).
  • Quick Results and Micro-Apps (providing quick apps like calculator, and exchange in the search results).
  • AI Integration for Answering Search Queries.
  • High Level of Customizability (providing more colorschemes and themes).

Benchmarks

Well, I will not compare my benchmark to other metasearch engines and Searx, but here is the benchmark for speed.

Number of workers/users: 16
Number of searches per worker/user: 1
Total time: 75.37s
Average time per search: 4.71s
Minimum time: 2.95s
Maximum time: 9.28s

Note: This benchmark was performed on a 1 Mbps internet connection speed.

Installation

To get started, clone the repository, edit the config file, which is located in the websurfx directory, and install the Redis server by following the instructions located here. Then run the websurfx server and Redis server using the following commands.

git clone https://github.com/neon-mmd/websurfx.git
cd websurfx
cargo build -r
redis-server --port 8082 &
./target/debug/websurfx

Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080 to start using Websurfx.

Check out the docs for docker deployment and more installation instructions.

Call to Action: If you like the project then I would suggest leaving a star on the project as this helps us reach more people in the process.

"Show your love by starring the project"

Project Link:

https://github.com/neon-mmd/websurfx

95

cross-posted from: https://programming.dev/post/2678496

Introduction

Hello everybody, About 5 months ago I started building an alternative to the Searx metasearch engine called Websurfx which brings many improvements and features which lacks in Searx like speed, security, high levels of customization and lots more. Although as of now it lacks many features which will be added soon in futures release cycles but right now we have got everything stabilized and are nearing to our first release v1.0.0. So I would like to have some feedbacks on my project because they are really valuable part for this project.

In the next part I share the reason this project exists and what we have done so far, share the goal of the project and what we are planning to do in the future.

Why does it exist?

The primary purpose of the Websurfx project is to create a fast, secure, and privacy-focused metasearch engine. While there are numerous metasearch engines available, not all of them guarantee the security of their search engine, which is critical for maintaining privacy. Memory flaws, for example, can expose private or sensitive information, which is never a good thing. Also, there is the added problem of Spam, ads, and unorganic results which most engines don't have the full-proof answer to it till now. Moreover, Rust is used to write Websurfx, which ensures memory safety and removes such issues. Many metasearch engines also lack important features like advanced picture search, which is required by many graphic designers, content providers, and others. Websurfx attempts to improve the user experience by providing these and other features, such as providing custom filtering ability and Micro-apps or Quick results (like providing a calculator, currency exchanges, etc. in the search results).

Preview

Home Page

Search Page

404 Page

What Do We Provide Right Now?

  • Ad-Free Results.
  • 12 colorschemes and a simple theme by default.
  • Ability to filter content using filter lists (coming soon).
  • Speed, Privacy, and Security.

In Future Releases

We are planning to move to leptos framework, which will help us provide more privacy by providing feature based compilation which allows the user to choose between different privacy levels. Which will look something like this:

  • Default: It will use wasm and js with csr and ssr.
  • Harderned: It will use ssr only with some js
  • Harderned-with-no-scripts: It will use ssr only with no js at all.

Goals

  • Organic and Relevant Results
  • Ad-Free and Spam-Free Results
  • Advanced Image Search (providing searches based on color, size, etc.)
  • Dorking Support (in other words advanced search query syntax like using And, not and or in search queries)
  • Privacy, Security, and Speed.
  • Support for low memory devices (like you will be able to host websurfx on low memory devices like phones, tablets, etc.).
  • Quick Results and Micro-Apps (providing quick apps like calculator, and exchange in the search results).
  • AI Integration for Answering Search Queries.
  • High Level of Customizability (providing more colorschemes and themes).

Benchmarks

Well, I will not compare my benchmark to other metasearch engines and Searx, but here is the benchmark for speed.

Number of workers/users: 16
Number of searches per worker/user: 1
Total time: 75.37s
Average time per search: 4.71s
Minimum time: 2.95s
Maximum time: 9.28s

Note: This benchmark was performed on a 1 Mbps internet connection speed.

Installation

To get started, clone the repository, edit the config file, which is located in the websurfx directory, and install the Redis server by following the instructions located here. Then run the websurfx server and Redis server using the following commands.

git clone https://github.com/neon-mmd/websurfx.git
cd websurfx
cargo build -r
redis-server --port 8082 &
./target/debug/websurfx

Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080 to start using Websurfx.

Check out the docs for docker deployment and more installation instructions.

Call to Action: If you like the project then I would suggest leaving a star on the project as this helps us reach more people in the process.

"Show your love by starring the project"

Project Link:

https://github.com/neon-mmd/websurfx

[-] neon_arch@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Ahh, I see, Why didn't I remember this before that I can do something like this. Thanks for the help :). Actually the thing is I am not very good at docker, and I am in the process of finding someone who can actually work on in this area like for example reducing build times, caching, etc. One of the things we want to improve right now is reducing build time like I am using layered caching approach but still it takes about 800 seconds which is not very great. So if you are interested then I would suggest making a PR at our repository. We would be glad to have you as part of the project contributors. And Maybe in future as the maintainer too. Currently, the Dockerfile looks like this:

FROM rust:latest AS chef
# We only pay the installation cost once,
# it will be cached from the second build onwards
RUN cargo install cargo-chef

WORKDIR /app

FROM chef AS planner
COPY . . 
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS builder
COPY --from=planner /app/recipe.json recipe.json
# Build dependencies - this is the caching Docker layer!
RUN cargo chef cook --release --recipe-path recipe.json

# Build application
COPY . .
RUN cargo install --path .

# We do not need the Rust toolchain to run the binary!
FROM gcr.io/distroless/cc-debian12
COPY --from=builder /app/public/ /opt/websurfx/public/
COPY --from=builder /app/websurfx/config.lua /etc/xdg/websurfx/config.lua # -- 1
COPY --from=builder /app/websurfx/config.lua /etc/xdg/websurfx/allowlist.txt # -- 2
COPY --from=builder /app/websurfx/config.lua /etc/xdg/websurfx/blocklist.txt # -- 3
COPY --from=builder /usr/local/cargo/bin/* /usr/local/bin/
CMD ["websurfx"]

Note: The 1,2 and 3 marked in the Dockerfile are the files which are the user editable files like config file and custom filter lists.

[-] neon_arch@programming.dev 2 points 1 year ago

Hello again :)

Sorry for the delayed reply.

Right now, we do not have ranking in place, but we are planning to have it soon. Our goal is to make it as organic as possible, so you don't get unrelated results when you query something through our engine.

What the project does is it takes the user query and various search parameters if necessary and then passes it to the upstream search engines. It then gets its results with the help of a get request to the upstream engine. Once all the results are gathered, we bring it to a form where we can aggregate the results together and then remove duplicate results from the aggregated results. If two results are from the same engine, then we put both engine's name against the search result. That's what is all going, in simple terms :slight_smile: . If you have more doubts. Feel free to open an issue at our project, I would be glad to answer.

[-] neon_arch@programming.dev 2 points 1 year ago

Hello again :)

I am sorry for being late to reply, I think I would suggest opening an issue on this topic here:

https://github.com/neon-mmd/websurfx/issues

Because I feel it would be better to have a discussion there. Also, I will be able to explain in more depth.

(full disclosure: I am the owner of the project)

[-] neon_arch@programming.dev 2 points 1 year ago

Thanks, I am very grateful for that :).

[-] neon_arch@programming.dev 4 points 1 year ago

Hello :).

The searx and duckduckgo engines are fully supported right now, and we are already looking forward to having more engines supported as well. Just, that we are in need of some help with the process because you know there are too many engines too work on :).

[-] neon_arch@programming.dev 2 points 1 year ago

Thanks for trying out our project :). If you need any help, please feel free to open an issue at our project.

https://github.com/neon-mmd/websurfx/issues

[-] neon_arch@programming.dev 4 points 1 year ago

Thanks for pointing this out, I just improved this by upgrading the algorithm to use tokio::spawn so I think I will update this benchmarks soon.

31
submitted 1 year ago* (last edited 1 year ago) by neon_arch@programming.dev to c/rust@programming.dev

Introduction

Hello everybody, About 5 months ago I started building an alternative to the Searx metasearch engine called Websurfx which brings many improvements and features which lacks in Searx like speed, security, high levels of customization and lots more. Although as of now it lacks many features which will be added soon in futures release cycles but right now we have got everything stabilized and are nearing to our first release v1.0.0. So I would like to have some feedbacks on my project because they are really valuable part for this project.

In the next part I share the reason this project exists and what we have done so far, share the goal of the project and what we are planning to do in the future.

Why does it exist?

The primary purpose of the Websurfx project is to create a fast, secure, and privacy-focused metasearch engine. While there are numerous metasearch engines available, not all of them guarantee the security of their search engine, which is critical for maintaining privacy. Memory flaws, for example, can expose private or sensitive information, which is never a good thing. Also, there is the added problem of Spam, ads, and unorganic results which most engines don't have the full-proof answer to it till now. Moreover, Rust is used to write Websurfx, which ensures memory safety and removes such issues. Many metasearch engines also lack important features like advanced picture search, which is required by many graphic designers, content providers, and others. Websurfx attempts to improve the user experience by providing these and other features, such as providing custom filtering ability and Micro-apps or Quick results (like providing a calculator, currency exchanges, etc. in the search results).

Preview

Home Page

Search Page

404 Page

What Do We Provide Right Now?

  • Ad-Free Results.
  • 12 colorschemes and a simple theme by default.
  • Ability to filter content using filter lists (coming soon).
  • Speed, Privacy, and Security.

In Future Releases

We are planning to move to leptos framework, which will help us provide more privacy by providing feature based compilation which allows the user to choose between different privacy levels. Which will look something like this:

  • Default: It will use wasm and js with csr and ssr.
  • Harderned: It will use ssr only with some js
  • Harderned-with-no-scripts: It will use ssr only with no js at all.

Goals

  • Organic and Relevant Results
  • Ad-Free and Spam-Free Results
  • Advanced Image Search (providing searches based on color, size, etc.)
  • Dorking Support (in other words advanced search query syntax like using And, not and or in search queries)
  • Privacy, Security, and Speed.
  • Support for low memory devices (like you will be able to host websurfx on low memory devices like phones, tablets, etc.).
  • Quick Results and Micro-Apps (providing quick apps like calculator, and exchange in the search results).
  • AI Integration for Answering Search Queries.
  • High Level of Customizability (providing more colorschemes and themes).

Benchmarks

Well, I will not compare my benchmark to other metasearch engines and Searx, but here is the benchmark for speed.

Number of workers/users: 16
Number of searches per worker/user: 1
Total time: 75.37s
Average time per search: 4.71s
Minimum time: 2.95s
Maximum time: 9.28s

Note: This benchmark was performed on a 1 Mbps internet connection speed.

Installation

To get started, clone the repository, edit the config file, which is located in the websurfx directory, and install the Redis server by following the instructions located here. Then run the websurfx server and Redis server using the following commands.

git clone https://github.com/neon-mmd/websurfx.git
cd websurfx
cargo build -r
redis-server --port 8082 &
./target/debug/websurfx

Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080 to start using Websurfx.

Check out the docs for docker deployment and more installation instructions.

Call to Action: If you like the project then I would suggest leaving a star on the project as this helps us reach more people in the process.

"Show your love by starring the project"

Project Link:

https://github.com/neon-mmd/websurfx

15
17
submitted 1 year ago* (last edited 1 year ago) by neon_arch@programming.dev to c/rust@programming.dev

This post provides a guide/tutorial from what I learn't from one of my projects on how to wrap errors with enums when using the error stack crate in rust.

view more: next โ€บ

neon_arch

joined 1 year ago