Spaces:
Running
Running
neon_arch
commited on
Commit
•
eee06b9
1
Parent(s):
85d463f
docs: revise and improve the documentation
Browse files- docs/configuration.md +12 -2
- docs/faq.md +2 -2
- docs/installation.md +45 -8
- docs/introduction.md +1 -1
- docs/theming.md +42 -1
docs/configuration.md
CHANGED
@@ -1,6 +1,15 @@
|
|
1 |
# Configuration
|
2 |
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
Some of the configuration options provided in the file are stated below. These are subdivided into three categories:
|
6 |
|
@@ -12,6 +21,7 @@ Some of the configuration options provided in the file are stated below. These a
|
|
12 |
|
13 |
- **port:** Port number on which server should be launched.
|
14 |
- **binding_ip_addr:** IP address on the which server should be launched.
|
|
|
15 |
|
16 |
## Website
|
17 |
|
@@ -39,4 +49,4 @@ Some of the configuration options provided in the file are stated below. These a
|
|
39 |
|
40 |
- **redis_connection_url:** Redis connection url address on which the client should connect on.
|
41 |
|
42 |
-
[⬅️ Go back to Home](
|
|
|
1 |
# Configuration
|
2 |
|
3 |
+
## Installed From Source
|
4 |
+
|
5 |
+
If you have built `websurfx` from source then the configuration file will be located under project directory (codebase) at `websurfx/`
|
6 |
+
|
7 |
+
> **Note**
|
8 |
+
> If you have built websurfx with unstable/rolling/edge branch then you can copy the configuration file from `websurfx/config.lua` located under project directory (codebase) to `~/.config/websurfx/` and make the changes there and rerun the websurfx server. _This is only available from unstable/rolling/edge version_.
|
9 |
+
|
10 |
+
## Installed From Package
|
11 |
+
|
12 |
+
If you have installed `websurfx` using the package manager of your Linux distro then the default configuration file will be located at `/etc/xdg/websurfx/`. You can copy the default config to `~/.config/websurfx/` and make the changes there and rerun the websurfx server.
|
13 |
|
14 |
Some of the configuration options provided in the file are stated below. These are subdivided into three categories:
|
15 |
|
|
|
21 |
|
22 |
- **port:** Port number on which server should be launched.
|
23 |
- **binding_ip_addr:** IP address on the which server should be launched.
|
24 |
+
- **production_use:** Whether to use production mode or not (in other words this option should be used if it is to be used to host it on the server to provide a service to a large number of users). If production_use is set to true. There will be a random delay before sending the request to the search engines, this is to prevent DDoSing the upstream search engines from a large number of simultaneous requests. This is newly added option and hence is only available in the **edge version**.
|
25 |
|
26 |
## Website
|
27 |
|
|
|
49 |
|
50 |
- **redis_connection_url:** Redis connection url address on which the client should connect on.
|
51 |
|
52 |
+
[⬅️ Go back to Home](./README.md)
|
docs/faq.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
## Why Websurfx?
|
4 |
|
5 |
-
The
|
6 |
|
7 |
## Why AGPLv3?
|
8 |
|
@@ -12,4 +12,4 @@ Websurfx is released under the AGPLv3 license to ensure that the source code rem
|
|
12 |
|
13 |
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.
|
14 |
|
15 |
-
[⬅️ Go back to Home](
|
|
|
2 |
|
3 |
## Why Websurfx?
|
4 |
|
5 |
+
The primary purpose of the Websurfx project is to create a fast, secure, and privacy-focused [meta-search engine](https://en.wikipedia.org/wiki/Metasearch_engine). While there are numerous meta-search 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 but with Websurfx I finally put a full stop to this problem, also, Rust is used to write Websurfx, which ensures memory safety and removes such issues. Many meta-search 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 proper NSFW blocking and Micro-apps or Quick results (like providing a calculator, currency exchanges, etc in the search results).
|
6 |
|
7 |
## Why AGPLv3?
|
8 |
|
|
|
12 |
|
13 |
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.
|
14 |
|
15 |
+
[⬅️ Go back to Home](./README.md)
|
docs/installation.md
CHANGED
@@ -1,16 +1,47 @@
|
|
1 |
-
#
|
2 |
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
```shell
|
6 |
git clone https://github.com/neon-mmd/websurfx.git
|
7 |
cd websurfx
|
8 |
-
cargo build
|
9 |
redis-server --port 8082 &
|
10 |
./target/debug/websurfx
|
11 |
```
|
12 |
|
13 |
-
|
|
|
|
|
|
|
|
|
14 |
|
15 |
If you want to use the rolling/edge branch, run the following commands instead:
|
16 |
|
@@ -18,13 +49,15 @@ If you want to use the rolling/edge branch, run the following commands instead:
|
|
18 |
git clone https://github.com/neon-mmd/websurfx.git
|
19 |
cd websurfx
|
20 |
git checkout rolling
|
21 |
-
cargo build
|
22 |
redis-server --port 8082 &
|
23 |
./target/debug/websurfx
|
24 |
```
|
25 |
|
26 |
Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080/ to start using Websurfx.
|
27 |
|
|
|
|
|
28 |
# Docker Deployment
|
29 |
|
30 |
Before you start, you will need [Docker](https://docs.docker.com/get-docker/) installed on your system first.
|
@@ -61,7 +94,11 @@ colorscheme = "catppuccin-mocha" -- the colorscheme name which should be used fo
|
|
61 |
theme = "simple" -- the theme name which should be used for the website
|
62 |
|
63 |
-- Caching
|
64 |
-
redis_connection_url = "redis://
|
|
|
|
|
|
|
|
|
65 |
```
|
66 |
|
67 |
After this run the following command to deploy the app:
|
@@ -74,7 +111,7 @@ This will take around 5-10 mins for first deployment, afterwards the docker buil
|
|
74 |
|
75 |
## Unstable/Edge/Rolling
|
76 |
|
77 |
-
For the unstable/rolling/edge version, follow the same steps as above with an addition of one command
|
78 |
|
79 |
```bash
|
80 |
git clone https://github.com/neon-mmd/websurfx.git
|
@@ -82,4 +119,4 @@ cd websurfx
|
|
82 |
git checkout rolling
|
83 |
```
|
84 |
|
85 |
-
[⬅️ Go back to Home](
|
|
|
1 |
+
# Install From Package
|
2 |
|
3 |
+
## Arch Linux
|
4 |
+
|
5 |
+
You can install `Websurfx` through the [Aur](https://aur.archlinux.org/packages/websurfx-git), Currently we only support `Rolling/Edge` version. You can install the rolling/edge version by running the following command (using [paru](https://github.com/Morganamilo/paru)):
|
6 |
+
|
7 |
+
```bash
|
8 |
+
paru -S websurfx-edge-git
|
9 |
+
```
|
10 |
+
|
11 |
+
After installing it you can run the websurfx server by running the following commands:
|
12 |
+
|
13 |
+
``` bash
|
14 |
+
redis-server --port 8082 &
|
15 |
+
websurfx
|
16 |
+
```
|
17 |
+
|
18 |
+
Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080/ to start using Websurfx.
|
19 |
+
|
20 |
+
If you want to change the port or the ip or any other configuration setting checkout the [configuration docs](./configuration.md).
|
21 |
+
|
22 |
+
## Other Distros
|
23 |
+
|
24 |
+
The package is currently not available on other Linux distros. With contribution and support it can be made available on other distros as well 🙂.
|
25 |
+
|
26 |
+
# Install From Source
|
27 |
+
|
28 |
+
## Stable
|
29 |
+
|
30 |
+
To get started with Websurfx, clone the repository, edit the config file which is located in the `websurfx` directory and install redis server by following the instructions located [here](https://redis.io/docs/getting-started/) and then build and run the websurfx server by running the following commands:
|
31 |
|
32 |
```shell
|
33 |
git clone https://github.com/neon-mmd/websurfx.git
|
34 |
cd websurfx
|
35 |
+
cargo build -r
|
36 |
redis-server --port 8082 &
|
37 |
./target/debug/websurfx
|
38 |
```
|
39 |
|
40 |
+
Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080/ to start using Websurfx.
|
41 |
+
|
42 |
+
If you want to change the port or the ip or any other configuration setting checkout the [configuration docs](./configuration.md).
|
43 |
+
|
44 |
+
## Rolling/Edge/Unstable
|
45 |
|
46 |
If you want to use the rolling/edge branch, run the following commands instead:
|
47 |
|
|
|
49 |
git clone https://github.com/neon-mmd/websurfx.git
|
50 |
cd websurfx
|
51 |
git checkout rolling
|
52 |
+
cargo build -r
|
53 |
redis-server --port 8082 &
|
54 |
./target/debug/websurfx
|
55 |
```
|
56 |
|
57 |
Once you have started the server, open your preferred web browser and navigate to http://127.0.0.1:8080/ to start using Websurfx.
|
58 |
|
59 |
+
If you want to change the port or the ip or any other configuration setting checkout the [configuration docs](./configuration.md).
|
60 |
+
|
61 |
# Docker Deployment
|
62 |
|
63 |
Before you start, you will need [Docker](https://docs.docker.com/get-docker/) installed on your system first.
|
|
|
94 |
theme = "simple" -- the theme name which should be used for the website
|
95 |
|
96 |
-- Caching
|
97 |
+
redis_connection_url = "redis://127.0.0.1:8082" -- redis connection url address on which the client should connect on.
|
98 |
+
|
99 |
+
production_use = false -- whether to use production mode or not (in other words this option should be used if it is to be used to host it on the server to provide a service to a large number of users)
|
100 |
+
-- if production_use is set to true
|
101 |
+
-- There will be a random delay before sending the request to the search engines, this is to prevent DDoSing the upstream search engines from a large number of simultaneous requests.
|
102 |
```
|
103 |
|
104 |
After this run the following command to deploy the app:
|
|
|
111 |
|
112 |
## Unstable/Edge/Rolling
|
113 |
|
114 |
+
For the unstable/rolling/edge version, follow the same steps as above (as mentioned for the stable version) with an addition of one command which has to be performed after cloning and changing directory into the repository which makes the cloning step as follows:
|
115 |
|
116 |
```bash
|
117 |
git clone https://github.com/neon-mmd/websurfx.git
|
|
|
119 |
git checkout rolling
|
120 |
```
|
121 |
|
122 |
+
[⬅️ Go back to Home](./README.md)
|
docs/introduction.md
CHANGED
@@ -10,4 +10,4 @@ Most meta search engines tend to be slow, lack high level of customization and m
|
|
10 |
|
11 |
Websurfx is a project which seeks to provide privacy, security, speed and all the features which the user wants.
|
12 |
|
13 |
-
[⬅️ Go back to Home](
|
|
|
10 |
|
11 |
Websurfx is a project which seeks to provide privacy, security, speed and all the features which the user wants.
|
12 |
|
13 |
+
[⬅️ Go back to Home](./README.md)
|
docs/theming.md
CHANGED
@@ -321,4 +321,45 @@ footer {
|
|
321 |
}
|
322 |
```
|
323 |
|
324 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
}
|
322 |
```
|
323 |
|
324 |
+
### Styles for the about page
|
325 |
+
|
326 |
+
This part is only available right now in the **rolling/edge/unstable** version
|
327 |
+
|
328 |
+
```css
|
329 |
+
.about-container article{
|
330 |
+
font-size: 1.5rem;
|
331 |
+
color:var(--fg);
|
332 |
+
padding-bottom: 10px;
|
333 |
+
}
|
334 |
+
|
335 |
+
.about-container article h1{
|
336 |
+
color: var(--2);
|
337 |
+
font-size: 2.8rem;
|
338 |
+
}
|
339 |
+
|
340 |
+
.about-container article div{
|
341 |
+
padding-bottom: 15px;
|
342 |
+
}
|
343 |
+
|
344 |
+
.about-container a{
|
345 |
+
color:var(--3);
|
346 |
+
}
|
347 |
+
|
348 |
+
.about-container article h2{
|
349 |
+
color: var(--3);
|
350 |
+
font-size: 1.8rem;
|
351 |
+
padding-bottom: 10px;
|
352 |
+
}
|
353 |
+
|
354 |
+
.about-container p{
|
355 |
+
color:var(--fg);
|
356 |
+
font-size: 1.6rem;
|
357 |
+
padding-bottom: 10px;
|
358 |
+
}
|
359 |
+
|
360 |
+
.about-container h3{
|
361 |
+
font-size: 1.5rem;
|
362 |
+
}
|
363 |
+
```
|
364 |
+
|
365 |
+
[⬅️ Go back to Home](./README.md)
|