diff --git a/docs/installation.md b/docs/installation.md index 54d4355..9bd4ec0 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -51,8 +51,19 @@ 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 -cargo build -r +``` + +Once you have changed the directory to the `websurfx` directory then follow the build options listed in the [building docs](./building.md). + +After that run the following command if you have build the app with the `redis-cache` feature: + +``` shell redis-server --port 8082 & +``` + +After that run the following command to start the search engine: + +``` shell ./target/release/websurfx ``` @@ -79,15 +90,30 @@ After that edit the config.lua file located under `websurfx` directory. In the c -- ### General ### logging = true -- an option to enable or disable logs. debug = false -- an option to enable or disable debug mode. -threads = 10 -- the amount of threads that the app will use to run (the value should be greater than 0). +threads = 8 -- the amount of threads that the app will use to run (the value should be greater than 0). -- ### Server ### port = "8080" -- port on which server should be launched -binding_ip_addr = "0.0.0.0" --ip address on the which server should be launched. -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) +binding_ip = "0.0.0.0" --ip address on the which server should be launched. +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 (more than one)) -- 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. -request_timeout = 60 -- timeout for the search requests sent to the upstream search engines to be fetched (value in seconds). +request_timeout = 30 -- timeout for the search requests sent to the upstream search engines to be fetched (value in seconds). +rate_limiter = { + number_of_requests = 20, -- The number of request that are allowed within a provided time limit. + time_limit = 3, -- The time limit in which the quantity of requests that should be accepted. +} + +-- ### Search ### +-- Filter results based on different levels. The levels provided are: +-- {{ +-- 0 - None +-- 1 - Low +-- 2 - Moderate +-- 3 - High +-- 4 - Aggressive +-- }} +safe_search = 2 -- ### Website ### -- The different colorschemes provided are: @@ -112,7 +138,10 @@ theme = "simple" -- the theme name which should be used for the website redis_url = "redis://redis:6379" -- redis connection url address on which the client should connect on. -- ### Search Engines ### -upstream_search_engines = { DuckDuckGo = true, Searx = false } -- select the upstream search engines from which the results should be fetched. +upstream_search_engines = { + DuckDuckGo = true, + Searx = false, +} -- select the upstream search engines from which the results should be fetched. ``` After this run the following command to deploy the app: