spacex / docs /configuration.md
neon_arch
πŸ“ docs: provide explanation for the new config file options (#439)
a66362b
|
raw
history blame
4.68 kB

Configuration

Installed From Source

If you have built websurfx from the source then the configuration file will be located under the project directory (codebase) at websurfx/

If you have built websurfx with an unstable/rolling/edge branch then you can copy the configuration file from websurfx/config.lua located under the 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.

Installed From Package

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/ make the changes there and rerun the websurfx server.

Some of the configuration options provided in the file are stated below. These are subdivided into the following categories:

  • General
  • Server
  • Search
  • Website
  • Cache
  • Search Engines

General

  • logging: An option to enable or disable logs.
  • debug: An option to enable or disable debug mode.
  • threads: The amount of threads that the app will use to run (the value should be greater than 0).

Server

  • port: Port number on which server should be launched.
  • binding_ip_addr: IP address on the which server should be launched.
  • 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.
  • request_timeout: Timeout for the search requests sent to the upstream search engines to be fetched (value in seconds).
  • rate_limiter: The configuration option to configure rate limiting on the search engine website.

Search

  • safe_search: This option is used to configure the search filtering based on different safe search levels. (value a number between 0 to 4)

This option provides 4 levels of search filtering:

  • Level 0 - With this level no search filtering occurs.
  • Level 1 - With this level some search filtering occurs.
  • Level 2 - With this level the upstream search engines are restricted to sending sensitive content like NSFW search results, etc.
  • Level 3 - With this level the regex-based filter lists are used alongside level 2 to filter more search results that have slipped in or custom results that need to be filtered using the filter lists.
  • Level 4 - This level is similar to level 3 except in this level the regex-based filter lists are used to disallow users to search sensitive or disallowed content. This level could be useful if you are a parent or someone who wants to completely disallow their kids or yourself from watching sensitive content.

Website

  • colorscheme: The colorscheme name which should be used for the website theme (the name should be by the colorscheme file name present in the public/static/colorschemes folder).

By Default we provide 12 colorschemes to choose from these are:

  1. catppuccin-mocha
  2. dark-chocolate
  3. dracula
  4. gruvbox-dark
  5. monokai
  6. nord
  7. oceanic-next
  8. one-dark
  9. solarized-dark
  10. solarized-light
  11. tokyo-night
  12. tomorrow-night
  • theme: The theme name that should be used for the website (again, the name should be by the theme file name present in the public/static/themes folder).

By Default we provide 1 theme to choose from these are:

  1. simple
  • animation: The animation name that should be used for the website (again, the name should be by the animation file name present in the public/static/animations folder).

By Default we provide 1 animation to choose from these are:

  1. simple-frosted-glow

Cache

  • redis_url: Redis connection URL address on which the client should connect.

Note This option can be commented out if you have compiled the app without the redis-cache feature. For more information, See building.

  • cache_expiry_time: The maximum time the server will store the cache for, after which it flushs/removes/expires/invalidates the cached results. (value provided to this option should be in seconds and the value should be greater than or equal to 60 seconds).

Search Engines

  • upstream_search_engines: Select from the different upstream search engines from which the results should be fetched.

⬅️ Go back to Home