182 lines
5.9 KiB
Markdown
182 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>
|