설명 없음

Spencer dae9f31b19 Merge pull request #629 from neon-mmd/FEAT/427_export-import-settings-to-and-from-a-json-file-support-for-the-ui 6 달 전
.github c077e39ae7 build(deps): bump softprops/action-gh-release from 1 to 2 (#553) 1 년 전
docs 2df6499fb2 📝 docs(instances): more instances with the rolling/edge version (#495) 1 년 전
images 5e4ed070d2 [ImgBot] Optimize images 1 년 전
public 04cac02f3d [CodeFactor] Apply fixes 6 달 전
src fa57233e5d use cows just as before 6 달 전
tests 991f3f59de :zap: perf: several optimizations for improving the performance of the engine (#540) 1 년 전
websurfx ca6b271bc9 Add Wikipedia as a search engine (#633) 7 달 전
.dockerignore 4364310b24 add support for dockerized container hosting 2 년 전
.gitignore ba4c3b0612 fix: pass nix flake check; ignore result 1 년 전
.gitpod.Dockerfile 75511ead56 🛠️ fix: add luajit installation step (#225) 1 년 전
.gitpod.yml 1f78bddf11 Use the correct command to run the app in `GitPod` 1 년 전
.mergify.yml cac82d1986 :construction_worker: ci(mergify): upgrade configuration to the new format (#632) 8 달 전
.rusty-hook.toml 8dd18ebed8 chore: add pre-commit checks for writting better code 2 년 전
.stylelintrc.json faf9995962 🩹 fix: remove unnecessary `stylelint` checks by disabling them in the `stylelint` config file (#375) 1 년 전
CONTRIBUTING.md b123fbbdab 📝 Typo correction in the `contributing` documentation (#363) 1 년 전
Cargo.lock fa57233e5d use cows just as before 6 달 전
Cargo.toml cca1115b0f :bookmark: chore(release): bump the app version (#427) 6 달 전
Dockerfile 052d9fd167 build(deps): bump rust from 1.77.2-alpine3.18 to 1.78.0-alpine3.18 (#574) 1 년 전
LICENSE b46dc992f3 changing license from GPLv3 to AGPLv3 2 년 전
PULL_REQUEST_TEMPLATE.md dbe5b533d6 fix spelling 2 년 전
README.md bf7e73f9ff 📝 docs(readme): list three new features provided by the search engine (#570) 1 년 전
SECURITY.md f003243b0f add security policy, config.yml for issue templates and add pull request template 2 년 전
build.rs 41c57bd070 🚨 chore: make clippy linter happy (#359) 1 년 전
dev.Dockerfile 052d9fd167 build(deps): bump rust from 1.77.2-alpine3.18 to 1.78.0-alpine3.18 (#574) 1 년 전
dev.docker-compose.yml c80ae2fd14 ✨ Docker compose for development (#336) 1 년 전
docker-compose.yml 8156f7ea79 🔧 Remove the unused mapped ports for docker deployment (#309) 1 년 전
flake.lock 9984ba0d12 :bug: fix: update nix flake lock (#602) 11 달 전
flake.nix 9984ba0d12 :bug: fix: update nix flake lock (#602) 11 달 전

README.md



websurfx logo

Readme | Discord | Instances | User Showcase | GitHub | Documentation

<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"

/>

<img
  alt="GitHub code size in bytes"
  src="https://img.shields.io/github/languages/code-size/neon-mmd/websurfx?style=flat-square"
/>

<img
  alt="GitHub Workflow Status"
  src="https://img.shields.io/github/actions/workflow/status/neon-mmd/websurfx/rust.yml?style=flat-square"
/>

<a href=""

><img
  alt="Maintenance"
  src="https://img.shields.io/maintenance/yes/2024?style=flat-square"
/>

<img
  alt="CodeFactor"
  src="https://www.codefactor.io/repository/github/neon-mmd/websurfx/badge"
/>

<img
  alt="Gitpod"
  src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod"
/>



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

Table of Contents

- **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-)

Preview 🔭

Home Page

Search Page

404 Error Page

⬆️ Back to Top

Instances 🔗

For a full list of publicly available community driven websurfx instances to test or for daily use. see Instances

⬆️ 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.
  • ⬆️ Organic Search results (with ranking algorithm builtin to rerank the search results according to user's search query.).
  • 🔒 Different compression and encryption levels focusing on speed and privacy.
  • 🧪 Experimental IO-uring feature for Linux operating systems focused on performance of the engine.
  • 🔐 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

Before you can start building websurfx, you will need to have Cargo installed on your system. You can find the installation instructions here.

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 and then run the websurfx server and redis server using the following commands:

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

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

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 and the 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

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 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 by Mr. Nick on how to contribute.

Developer

If you are a developer, have a look at the CONTRIBUTING.md document for more information.

⬆️ Back to Top

License 📜

Websurfx is licensed under the AGPLv3 license.

⬆️ Back to Top

Credits 🤝

We would like to thank the following people for their contributions and support:

Contributors



Stargazers

⬆️ Back to Top




Thank you for Visiting