Spaces:
Runtime error
Runtime error
File size: 10,950 Bytes
8392a87 27de45a 1720135 6a4935a 58a3527 7f8404e eceef03 3a984ed 7f8404e 3a984ed 8aff551 3a984ed 5f27393 5741037 1b04bf1 d80d4c1 8392a87 d80d4c1 1720135 3a984ed eceef03 7f8404e eceef03 3a984ed eceef03 8ef01a9 e1a63fc 7f8404e e1a63fc 7f8404e e1a63fc 3a984ed eceef03 1720135 8392a87 1720135 3a984ed 1720135 3a984ed 1720135 34ae87e 3a984ed 19a94b4 7f8404e 19a94b4 eceef03 d80d4c1 7f8404e 5e63f37 6a4935a d80d4c1 6a4935a d80d4c1 34ae87e d80d4c1 eceef03 3a984ed 7f8404e 3a984ed 995b9ae 1720135 eceef03 1720135 1d638ff 995b9ae 6a4935a 5b70670 1720135 3a984ed 08f92b1 7f8404e 3a984ed 34ae87e 1720135 eceef03 1720135 7f8404e 1720135 3a984ed 1720135 34ae87e 1720135 eceef03 1720135 7f8404e 1720135 8392a87 1720135 34ae87e 3a984ed 7f8404e 3a984ed 34ae87e 3a984ed 6a4935a 3a984ed 34ae87e 3a984ed 1720135 cfe57a4 1720135 8392a87 1720135 7f8404e 3a984ed 34ae87e 3a984ed eceef03 1720135 6a4935a 1720135 34ae87e 3a984ed 7f8404e 3a984ed 8392a87 3a984ed eceef03 6a4935a 7f8404e 8392a87 3a984ed 34ae87e 3a984ed 7f8404e 3a984ed 34ae87e 3a984ed 8392a87 3a984ed 34ae87e 3a984ed eceef03 3a984ed 8392a87 1720135 3a984ed 1720135 7f8404e 3a984ed 34ae87e 1720135 eceef03 1720135 6a4935a 1720135 34ae87e 1720135 eceef03 3a984ed 1720135 77cd4a6 3357fa2 3a984ed 77cd4a6 34ae87e 3a984ed 1720135 3357fa2 1720135 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 |
ο»Ώ<h1 align="center">
<img src="./images/websurfx_logo.png" alt="websurfx logo" align="center" />
</h1>
<p align="center">
<b align="center"><a href="README.md">Readme</a></b> |
<b><a href="https://discord.gg/SWnda7Mw5u">Discord</a></b> |
<b><a href="docs/instances.md">Instances</a></b> |
<b><a href="https://discord.gg/VKCAememnr">User Showcase</a></b> |
<b><a href="https://github.com/neon-mmd/websurfx">GitHub</a></b> |
<b><a href="docs">Documentation</a></b>
<br /><br />
<a
href="https://github.com/awesome-selfhosted/awesome-selfhosted#search-engines"
>
<img
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
alt="Awesome Self-Hosted"
/>
</a>
<a href="#">
<img
alt="GitHub code size in bytes"
src="https://img.shields.io/github/languages/code-size/neon-mmd/websurfx?style=flat-square"
/>
</a>
<a href="https://github.com/neon-mmd/websurfx/actions">
<img
alt="GitHub Workflow Status"
src="https://img.shields.io/github/actions/workflow/status/neon-mmd/websurfx/rust.yml?style=flat-square"
/>
</a>
<a href=""
><img
alt="Maintenance"
src="https://img.shields.io/maintenance/yes/2023?style=flat-square"
/>
</a>
<a href="https://www.codefactor.io/repository/github/neon-mmd/websurfx">
<img
alt="CodeFactor"
src="https://www.codefactor.io/repository/github/neon-mmd/websurfx/badge"
/>
</a>
<a href="https://gitpod.io/#https://github.com/neon-mmd/websurfx">
<img
alt="Gitpod"
src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod"
/>
</a>
<br />
<br />
<i>
A modern-looking, 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 quick and secure search experience while completely respecting user
privacy.</i
>
</p>
<details>
<summary><b>Table of Contents</b></summary>
<p>
- **Getting Started**
- [π Preview](#preview-)
- [π Features](#features-)
- [π Instances](#instances-)
- [π οΈ Installation and Testing](#installation-and-testing-%EF%B8%8F)
- [π§ Configuration](#configuration-)
- **Feature Overview**
- [π¨ Theming](#theming-)
- [π Multi-Language Support](#multi-language-support-)
- **Community**
- [π System Requirements](#system-requirements-)
- [π¨οΈ FAQ (Frequently Asked Questions)](#faq-frequently-asked-questions-%EF%B8%8F)
- [π£ More Contributors Wanted](#more-contributors-wanted-)
- [π Supporting Websurfx](#supporting-websurfx-)
- [π Documentation](#documentation-)
- [π£οΈ Roadmap](#roadmap-%EF%B8%8F)
- [π Contributing](#contributing-)
- [π License](#license-)
- [π€ Credits](#credits-)
</p>
</details>
# Preview π
## Home Page
<img align="center" src="./images/main_page.png" />
## Search Page
<img align="center" src="./images/search_page.png" />
## 404 Error Page
<img align="center" src="./images/404_error_page.png" />
**[β¬οΈ Back to Top](#--)**
# Instances π
> For a full list of publicly available community driven `websurfx` instances to test or for daily use. see [**Instances**](docs/instances.md)
**[β¬οΈ Back to Top](#--)**
# Features π
- π¨ Make Websurfx uniquely yours with the twelve color schemes provided by default. It also supports the creation of custom themes and color schemes in a quick and easy way, so unleash your creativity!
- π Easy to setup with Docker or on bare metal with various installation and deployment options.
- β Search filtering to filter search results based on four different levels.
- πΎ Different caching levels focusing on reliability, speed and resiliancy.
- π Fast, private, and secure
- π 100% free and open source
- π¨ Ad-free and clean results
- π and lots more...
**[β¬οΈ Back to Top](#--)**
# Installation and Testing π οΈ
> For full setup instructions, see: [**Installation**](docs/installation.md)
Before you can start building `websurfx`, you will need to have `Cargo` installed on your system. You can find the installation instructions [here](https://doc.rust-lang.org/cargo/getting-started/installation.html).
To get started with Websurfx, 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](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
git checkout stable
cargo build -r
redis-server --port 8082 &
./target/release/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.
> **Note**
>
> 1. The project is no longer in the testing phase and is now ready for production use.
> 2. There are many features still missing, like `support for image search`, `different categories`, `quick apps`, etc., but they will be added soon as part of future releases.
**[β¬οΈ Back to Top](#--)**
# Configuration π§
> For full configuration instructions, see: [**Configuration**](docs/configuration.md)
Websurfx is configured through the config.lua file, located at `websurfx/config.lua`.
**[β¬οΈ Back to Top](#--)**
# Theming π¨
> For full theming and customization instructions, see: [**Theming**](docs/theming.md)
Websurfx comes loaded with several themes and color schemes, which you can apply and edit through the config file. It also supports custom themes and color schemes using CSS, allowing you to make it truly yours.
**[β¬οΈ Back to Top](#--)**
# Multi-Language Support π
> **Note**
> Currently, we do not support other languages, but we will start accepting contributions regarding language support in the future. We believe language should never be a barrier to entry.
**[β¬οΈ Back to Top](#--)**
# System Requirements π
At present, we only support x86_64 architecture systems, but we would love to have contributions that extend to other architectures as well.
**[β¬οΈ Back to Top](#--)**
# FAQ (Frequently Asked Questions) π¨οΈ
## Why Websurfx?
The primary purpose of the Websurfx project is to create a fast, secure, and privacy-focused meta-search engine. There are numerous meta-search engines available, but not all guarantee the security of their search engines, which is critical for maintaining privacy. Memory flaws, for example, can expose private or sensitive information, which is understandably bad. There is also the added problem of spam, ads, and inorganic results, which most engines don't have a full-proof answer to. Until now. With Websurfx, I finally put a full stop to this problem. Websurfx is based on Rust, which ensures memory safety and removes such issues. Many meta-search engines also lack important features like advanced picture search, required by graphic designers, content providers, and others. Websurfx improves the user experience by providing these and other features, such as proper NSFW blocking and micro-apps or quick results (providing a calculator, currency exchanges, etc. in the search results).
## Why AGPLv3?
Websurfx is distributed under the **AGPLv3** license to keep the source code open and transparent. This helps keep malware, telemetry, and other dangers out of the project. **AGPLv3** is a strong copyleft license that ensures the software's source code, including any modifications or improvements made to the code, remains open and available to everyone.
## Why Rust?
Websurfx is based on Rust due to its memory safety features, which prevent vulnerabilities and make the codebase more secure. Rust is also faster than C++, contributing to Websurfx's speed and responsiveness. Finally, the Rust ownership and borrowing system enables secure concurrency and thread safety in the program.
**[β¬οΈ Back to Top](#--)**
# More Contributors 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.md](CONTRIBUTING.md) file for guidelines and rules for making contributions.
**[β¬οΈ Back to Top](#--)**
# Supporting Websurfx π
> For full details and other ways you can help out, see: [**Contributing**](CONTRIBUTING.md)
If you use Websurfx and would like to contribute to its development, we're glad to have you on board! Contributions of any size or type are always welcome, and we will always acknowledge your efforts.
Several areas that we need a bit of help with at the moment are:
- **Better and more color schemes**: Help fix color schemes and add other famous color schemes.
- **Improve evasion code for bot detection**: Help improve code related to evading IP blocking and emulating human behaviors located in everyone's engine file.
- **Logo**: Help create a logo for the project and website.
- **Docker Support**: Help write a Docker Compose file for the project.
- Submit a PR to add a new feature, fix a bug, update the docs, add a theme, widget, or anything else.
- Star Websurfx on GitHub.
**[β¬οΈ Back to Top](#--)**
# Documentation π
> **Note**
> We welcome any contributions to the [documentation](docs) as this will benefit everyone who uses this project.
**[β¬οΈ Back to Top](#--)**
# Roadmap π£οΈ
> Coming soon! π.
**[β¬οΈ Back to Top](#--)**
# Contributing π
Contributions are welcome from anyone. It doesn't matter who you are; you can still contribute to the project in your own 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.md](CONTRIBUTING.md) document for more information.
**[β¬οΈ Back to Top](#--)**
# License π
Websurfx is licensed under the [AGPLv3](LICENSE) license.
**[β¬οΈ Back to Top](#--)**
# Credits π€
We would like to thank the following people for their contributions and support:
**Contributors**
<p>
<br />
<a href="https://github.com/neon-mmd/websurfx/graphs/contributors">
<img src="https://contrib.rocks/image?repo=neon-mmd/websurfx" />
</a>
<br />
</p>
**Stargazers**
<p>
<a href="https://github.com/neon-mmd/websurfx/stargazers">
<img src="https://reporoster.com/stars/dark/neon-mmd/websurfx" />
</a>
</p>
**[β¬οΈ Back to Top](#--)**
---
<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>
|