183 lines
5.9 KiB
Markdown
183 lines
5.9 KiB
Markdown
![]() |
<h1 align="center">Websurfx</h1>
|
|||
|
<p align="center">
|
|||
|
<i> A lightning-fast, privacy-respecting, secure <a href="https://en.wikipedia.org/wiki/Metasearch_engine">meta search engine</a> (pronounced as websurface or web-surface /wɛbˈsɜːrfəs/.) written in Rust. It provides a fast and secure search experience while respecting user privacy.</i>
|
|||
|
<br/>
|
|||
|
<br/>
|
|||
|
<b align="center"><a href="README.org">Readme</a></b> | <b><a href="https://discord.gg/k4GH2TnZ">Discord</a></b> | <b><a href="https://github.com/neon-mmd/websurfx">GitHub</a></b>
|
|||
|
<br/><br/>
|
|||
|
<!---add status badges here---->
|
|||
|
</p>
|
|||
|
|
|||
|
# Table of Contents
|
|||
|
|
|||
|
- [Features](#features)
|
|||
|
- [Preview](#preview)
|
|||
|
- [Main Page](#main-page)
|
|||
|
- [Search Page](#search-page)
|
|||
|
- [404 Error Page](#404-error-page)
|
|||
|
- [Installation and Testing](#installation-and-testing)
|
|||
|
- [More Contributers Wanted](#more-contributers-wanted)
|
|||
|
- [FAQ - (Frequently Asked
|
|||
|
Questions)](#faq-frequently-asked-questions)
|
|||
|
- [Why Websurfx?](#why-websurfx)
|
|||
|
- [Why AGPLv3?](#why-agplv3)
|
|||
|
- [Why Rust?](#why-rust)
|
|||
|
- [Contributing](#contributing)
|
|||
|
- [Not a developer but still want to
|
|||
|
contribute](#not-a-developer-but-still-want-to-contribute)
|
|||
|
- [Developer](#developer)
|
|||
|
- [License](#license)
|
|||
|
- [Credits](#credits)
|
|||
|
|
|||
|
# Features
|
|||
|
|
|||
|
- Proper NSFW blocking
|
|||
|
- High level customizability with 9 colorchemes provided by default
|
|||
|
with a simple theme, also supporting creation of your custom themes
|
|||
|
and colorschemes very quickly and easily
|
|||
|
- Advanced image search
|
|||
|
- Fast, private and secure
|
|||
|
- 100% free and open source
|
|||
|
- and lots more...
|
|||
|
|
|||
|
# Preview
|
|||
|
|
|||
|
## Main Page
|
|||
|
|
|||
|
```{=html}
|
|||
|
<img align="center" src="./images/main_page.png" />
|
|||
|
```
|
|||
|
## Search Page
|
|||
|
|
|||
|
```{=html}
|
|||
|
<img align="center" src="./images/search_page.png" />
|
|||
|
```
|
|||
|
## 404 Error Page
|
|||
|
|
|||
|
```{=html}
|
|||
|
<img align="center" src="./images/404_error_page.png" />
|
|||
|
```
|
|||
|
# Installation and Testing
|
|||
|
|
|||
|
To get started with Websurfx, clone the repository, edit the config file
|
|||
|
which is located in the `websurfx`{.verbatim} directory and install
|
|||
|
redis server by following the instructions located
|
|||
|
[here](https://redis.io/docs/getting-started/) and then run the websurfx
|
|||
|
server and redis server using the following commands:
|
|||
|
|
|||
|
``` shell
|
|||
|
git clone https://github.com/neon-mmd/websurfx.git
|
|||
|
cd websurfx
|
|||
|
cargo build
|
|||
|
redis-server -p 8082 &
|
|||
|
./target/debug/websurfx
|
|||
|
```
|
|||
|
|
|||
|
If you want to use the rolling/edge branch, run the following commands
|
|||
|
instead:
|
|||
|
|
|||
|
``` shell
|
|||
|
git clone https://github.com/neon-mmd/websurfx.git
|
|||
|
cd websurfx
|
|||
|
git checkout rolling
|
|||
|
cargo build
|
|||
|
redis-server -p 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.
|
|||
|
|
|||
|
**Important Note:** Please be aware that the project is still in the
|
|||
|
testing phase and is not ready for production use.
|
|||
|
|
|||
|
# Configuration
|
|||
|
|
|||
|
Websurfx is configured through the config.lua file, located at
|
|||
|
`websurfx/config.lua`{.verbatim}.
|
|||
|
|
|||
|
# Theming
|
|||
|
|
|||
|
Websurfx comes with several themes and colorschemes by default which you
|
|||
|
can apply and edit through the config file. Support for custom themes
|
|||
|
and colorschemes using css and develop your own unique-looking website.
|
|||
|
|
|||
|
# More Contributers Wanted
|
|||
|
|
|||
|
We are looking for more willing contributors to help grow this project.
|
|||
|
For more information on how you can contribute, check out the [project
|
|||
|
board](https://github.com/neon-mmd/websurfx/projects?query=is%3Aopen)
|
|||
|
and the [CONTRIBUTING.org](CONTRIBUTING.org) file for guidelines and
|
|||
|
rules for making contributions.
|
|||
|
|
|||
|
# FAQ (Frequently Asked Questions)
|
|||
|
|
|||
|
## Why Websurfx?
|
|||
|
|
|||
|
The main goal of the Websurfx project is to provide a fast, secure, and
|
|||
|
privacy-focused [meta search
|
|||
|
engine](https://en.wikipedia.org/wiki/Metasearch_engine). While there
|
|||
|
are many meta search engines available, they do not always guarantee the
|
|||
|
security of their search engine, which is essential for ensuring
|
|||
|
privacy. For example, memory vulnerabilities can leak private or
|
|||
|
sensitive information, which is never good. Websurfx is written in Rust,
|
|||
|
which guarantees memory safety and eliminates such problems. Many meta
|
|||
|
search engines also lack key features such as advanced image search,
|
|||
|
which is required by many graphic designers, content creators, and
|
|||
|
others. Websurfx aims to provide these features and others, such as
|
|||
|
proper NSFW blocking, to improve the user experience.
|
|||
|
|
|||
|
## Why AGPLv3?
|
|||
|
|
|||
|
Websurfx is released under the **AGPLv3** license to ensure that the
|
|||
|
source code remains open and transparent. This helps to prevent the
|
|||
|
inclusion of spyware, telemetry, or other malicious code in the project.
|
|||
|
**AGPLv3** is a strong copyleft license that ensures the source code of
|
|||
|
the software remains open and available to everyone, including any
|
|||
|
modifications or improvements made to the code.
|
|||
|
|
|||
|
## Why Rust?
|
|||
|
|
|||
|
Rust was chosen as the programming language for Websurfx due to its
|
|||
|
memory safety features, which can help prevent vulnerabilities and make
|
|||
|
the codebase more secure. Rust is also faster than C++, which helps to
|
|||
|
make Websurfx fast and responsive. In addition, Rust\'s ownership and
|
|||
|
borrowing system allows for safe concurrency and thread safety in the
|
|||
|
codebase.
|
|||
|
|
|||
|
# Contributing
|
|||
|
|
|||
|
Contributions are welcome from anyone. It doesn\'t matter who you are;
|
|||
|
you can still contribute to the project in your way.
|
|||
|
|
|||
|
## Not a developer but still want to contribute?
|
|||
|
|
|||
|
Check out this [video](https://youtu.be/FccdqCucVSI) by Mr. Nick on how
|
|||
|
to contribute.
|
|||
|
|
|||
|
## Developer
|
|||
|
|
|||
|
If you are a developer, have a look at the
|
|||
|
[CONTRIBUTING.org](CONTRIBUTING.org) document for more information.
|
|||
|
|
|||
|
# License
|
|||
|
|
|||
|
Websurfx is available under the [AGPLv3](LICENSE) license.
|
|||
|
|
|||
|
# Credits
|
|||
|
|
|||
|
We would like to thank the following people for their contributions and
|
|||
|
support:
|
|||
|
|
|||
|
<a href="https://github.com/neon-mmd/websurfx/graphs/contributors">
|
|||
|
<img src="https://contrib.rocks/image?repo=neon-mmd/websurfx" />
|
|||
|
</a>
|
|||
|
<br/>
|
|||
|
<p align="center">
|
|||
|
<a href="https://github.com/neon-mmd/websurfx">
|
|||
|
<img src="https://github.githubassets.com/images/icons/emoji/octocat.png" />
|
|||
|
</a>
|
|||
|
<br><br>
|
|||
|
<i>Thank you for Visiting</i>
|
|||
|
</p>
|