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 releasev1.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 usewasm
andjs
withcsr
andssr
.Harderned:
It will usessr
only with somejs
Harderned-with-no-scripts:
It will usessr
only with nojs
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 thewebsurfx
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:
Great project, thanks for sharing.
Quick question: will this be self-hosted only or will there be a public instance or something the like?
Sorry for the delay in reply.
Great project, thanks for sharing.
You’re welcome :).
Quick question: will this be self-hosted only or will there be a public instance or something the like?
Yes, actually we are working on providing a page dedicated to allow everyone in the community to contribute their
Websurfx
instance which will allow others to use them and try them out. Something similar to whatSearx
does (searx.space). So right now it is still a work in process.That’s great to hear, thanks.
You’re welcome :)
I’d like to know how this compares to SearxNG.
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 :).
It sounds pretty cool, but i’d like to know also if there is a public instance to try it rn.
Sorry for the delay in reply.
Thanks for checking out my project :). Though right now we do not provide a public instance right now, but we are already working on this. Like we are working to provide a page dedicated to show all the instances hosted by the community members which will allow others to use them and try them out as well :).
sounds good
Sorry for the delay in reply.
Thanks for the feedback on my project :).
deleted by creator
Nice work :) May I know where the “memory flaws” topic came from? Is this a claim about searxNG?
Add Windows support and I’m in Edit: lots of hate for the most widely used OS, huh?
try linux
Nah, I tried it and I’m not a fan
deleted by creator
Don’t get me wrong, I understand what’s great about Linux. But I’m not willing to fight through the learning curve, it was too complicated for daily, casual use in my opinion
deleted by creator
which distros? just curious
Redhat, DietPi (still use for Pi-hole, but I feel like that doesn’t count), Ubuntu, something Debian…I promise I gave it a chance, but it’s not for me
you basically tried all the worst distros 😢 apart fro mdebian
have you tried a real distro like Arch™?
/s… thats unfortunate. i know linux isnt for everyone
Quick question: What’s the goto distro for newbies these days, is it still Ubuntu? Back in the day (like a decade ago I think) I played about with both Ubuntu and Mint. I’m curious to try again, but no idea where to start. Also, is it possible/feasible/okay to dualboot on MacOS?
imo mint is still a great option for beginners. i would also recommend endevouros if you want something arch based that just works, but its not as great for absolute beginners. i could find some tutorials for mac dual booting, so i would assume its pretty similar to dual booting on windows, which is pretty easy to set up. its annoying to switch back and forth tho
I started with Ubuntu as a beginner and I don’t recommend it any more. Canonical keeps trying to reinvent things it’s own special way without consideration for the rest of the community, like Mir (dead), Unity (dead for a while, brought back by a community volunteer), and snap packages (more downsides than upsides).
Mint Debian Edition is a good way to go. My top recommendation right now is Fedora. Fresh but stable, and widely adopted so it’s easy to get help or find answers when you have a problem.
Can’t stress this enough, I wanted to like it
This is something you would want to host, not to run like a portable software. Why windows support? Or if you’re really that avoidant to having dedicated linux machine, why not WSL? Or write your own dockerfile?
deleted by creator
You could run it under WSL (Windows Subsystem for Linux) I believe.
Sorry for the delay in reply.
Thanks for the suggestion :). Currently, we don’t have any plans supporting windows and macOS because they are known notoriously bad for privacy reasons. And you may never know what they have in their source code like they are doing all notorious stuff, data mining, you name it. Because of which, we have no plans supporting it as of now, but if we get good amount of feature request in this are then we might consider adding support for these distros too :).