121
submitted 1 year ago by Eikichi@lemmy.ml to c/selfhost@lemmy.ml

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

all 27 comments
sorted by: hot top controversial new old
[-] remer@lemmy.ml 7 points 1 year ago

Very cool. How does the compare to the SearXNG fork of Searx?

[-] DARbarian@artemis.camp 3 points 1 year ago

Wondering the same here.

[-] 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)

[-] DARbarian@artemis.camp 4 points 1 year ago

This seems super promising! Definitely gonna keep an eye on this until I can easily deploy it in Docker on my Pi.

[-] gravitas_deficiency@sh.itjust.works 3 points 1 year ago* (last edited 1 year ago)

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

That seems… questionably useful as an overall performance indicator. I feel like you should test with a handful more bandwidths in there, up to at least a gigabit connection.

[-] obinice@lemmy.world 3 points 1 year ago

Oooh, I've never even heard of searx or anything like this, sounds right up my alley though!! :-D Thank you

Why would we need an alternative to SearX?

[-] Sethayy@sh.itjust.works 7 points 1 year ago

Like other than the reasons listed in the post?

[-] bravemonkey@lemmy.ca 1 points 1 year ago* (last edited 1 year ago)

There's nothing in the post that directly compares Websurfx to SearX, it's a valid question. "Security, speed, high levels of customization' aren't really a comparison without specifics

[-] Sethayy@sh.itjust.works 1 points 1 year ago

I mean like that's getting pretty nitpicky if you need them to hand list it.

Especially speed like you want the functions they optimized?

[-] bravemonkey@lemmy.ca 2 points 1 year ago

Not at all nitpicky. "it's faster and more secure'. Well, how? There's no details provided to support the claims. My banana is both more secure, faster and juicier than yours. Don't I need evidence to support that statement? Or is that enough for you to accept it?

[-] MigratingtoLemmy@lemmy.world 2 points 1 year ago

SearX is not maintained, it's either SearXNG, this, or PreSearch

[-] mbirth@lemmy.mbirth.uk 1 points 6 months ago
[-] neon_arch@programming.dev 1 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)

[-] Tiritibambix@lemmy.ml 2 points 1 year ago* (last edited 1 year ago)

I see a docker compose but don't know what this line means :

build: .

I am not very educated in this regard.

Does that mean I have to dl the repo, run docker-compose up and it will build the image ?

[-] Eikichi@lemmy.ml -1 points 1 year ago

I want to say yes, which line are u speaking of ?

From doc for deployment with docker

After this run the following command to deploy the app:

docker compose up -d --build

[-] Tiritibambix@lemmy.ml 4 points 1 year ago

I'm talking about the line I quoted earlier: "build: ."

I'll try later

[-] eee@lemm.ee 1 points 1 year ago

As a non developer - why does this require some sort of installation? The general idea of a search engine is "go to a website and it helps you search for websites".

[-] scott@lem.free.as 8 points 1 year ago

This is a "self hosted" community.

[-] Eikichi@lemmy.ml 4 points 1 year ago

That require an installation if you want self hosted ur proper search engine, without depending someone.
Other else, you can wait, that someone will do the job ans put it on the web avalaible for all,

If someone take an vps, and mount it on it, the address will be "vps.adress" instead of localhost,

You can install it on an rbpi at your home an make it avalaible for it too, for the resident.

I don't know if you understand now, I hope.

Sorry my English.

[-] nix@merv.news 2 points 1 year ago

Is there publically accessible version by the developers?

[-] Eikichi@lemmy.ml 1 points 1 year ago

the project link dude, its on github with an AGPL's Licence

[-] nix@merv.news 2 points 1 year ago

I’m asking if there is an instance ran by the developers so we can try it before self hosting

[-] Eikichi@lemmy.ml 1 points 1 year ago

XD sorry, obviously I didn't get it.

I guess no,

[-] MigratingtoLemmy@lemmy.world 1 points 1 year ago

This is software that aggregates results from other software engines whilst trying to keep you anonymous (if you have noticed, you are definitely not anonymous if you search using Google) and prevent fingerprinting. You need to be the one to run this software though. Search "client-server model", and then imagine running both the server and the client at home

this post was submitted on 07 Sep 2023
121 points (97.6% liked)

Self Hosted - Self-hosting your services.

11495 readers
9 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules

Important

Beginning of January 1st 2024 this rule WILL be enforced. Posts that are not tagged will be warned and if not fixed within 24h then removed!

Cross-posting

If you see a rule-breaker please DM the mods!

founded 3 years ago
MODERATORS