diff --git a/Config.md b/Config.md index 0db477e..66f112c 100644 --- a/Config.md +++ b/Config.md @@ -1,77 +1,88 @@ -# Configuration File (`config.ini`) - -This page documents all configuration variables available in `config.ini`, including their purpose, possible values, and default settings. - -## Server Configuration - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| -------------- | ---------------------------------------- | ------------------- | --------------------------------------------------------------------- | -| `Port` | Port number for the application server | `5000` | Any valid port number | -| `Domain` | Domain address of the server | `localhost` | Any valid domain name or IP address | -| `LogLevel` | Logging level for the application | `1` | `0` (Silent), `1` (Errors), `2` (Warnings), `3` (Info), `4` (Debug) | - -## Peer Configuration - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| -------------- | ----------------------------------------- | ------------------- | ---------------------------- | -| `AuthCode` | Authorization code for peer connections | Auto-generated | 64-character random string | -| `PeerID` | Unique identifier for the peer | Auto-generated | Any unique string | -| `Peers` | Comma-separated list of peer addresses | Empty | List of peer URLs | - -## Feature Toggles - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| ---------------- | ------------------------------------------------------ | ------------------- | --------------------- | -| `Nodes` | Enable or disable peer-to-peer nodes | `false` | `true` / `false` | -| `MetaSearch` | Enable metasearch crawling from other search engines | `true` | `true` / `false` | -| `Indexer` | Enable web crawling and indexing | `false` | `true` / `false` | -| `Website` | Enable website hosting feature | `true` | `true` / `false` | -| `RamCache` | Enable caching in RAM | `true` | `true` / `false` | -| `DriveCache` | Enable caching on the disk | `false` | `true` / `false` | -| `MetaProxy` | Use proxies for metasearch crawling | `false` | `true` / `false` | -| `CrawlerProxy` | Use proxies for general web crawling and indexing | `false` | `true` / `false` | - -## Proxy Configuration - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| ---------------------- | ------------------------------------------------------ | ------------------- | ------------------------- | -| `MetaProxyStrict` | Enforce strict behavior when MetaProxy fails | `true` | `true` / `false` | -| `MetaProxies` | List of proxies to use for metasearch crawling | Empty | Comma-separated proxies | -| `CrawlerProxyStrict` | Enforce strict behavior when CrawlerProxy fails | `true` | `true` / `false` | -| `CrawlerProxies` | List of proxies to use for web crawling and indexing | Empty | Comma-separated proxies | - -### Notes: - -- Proxies must be specified as a **comma-separated list**, dont use comma with space behind it. -- Each proxy should be in the format: - - `ADDRESS:PORT` - - `ADDRESS:PORT:USER:PASSWORD` -- Example: - - `proxy1.example.com:8080:user1:pass1,proxy2.example.com:8080` - -## Crawling and Indexing - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| ------------------------------ | --------------------------------------------- | ------------------- | ----------------------------------- | -| `ConcurrentStandardCrawlers` | Number of standard crawlers running at once | `12` | Positive number | -| `ConcurrentChromeCrawlers` | Number of Chrome-based crawlers running | `4` | Positive number | -| `CrawlingInterval` | Time between refreshing crawled results | `24h` | Duration like `1h`, `30m`, `2h45m` | -| `MaxPagesPerDomain` | Maximum pages to crawl per domain | `10` | Positive number | -| `IndexBatchSize` | Number of pages to index in one batch | `50` | Positive number | - -## Cache Configuration - -### RAM Cache - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| -------------- | ------------------------------ | ------------------- | ----------------------------------------- | -| `Duration` | Time to store results in RAM | `6h` | Duration like `1h`, `30m`, `2h45m` | -| `MaxUsage` | Maximum RAM usage | `90%` | Percentage (`%`) or size (e.g., `2GiB`) | - -### Drive Cache - -| **Variable** | **Description** | **Default Value** | **Possible Values** | -| -------------- | ---------------------------------- | ------------------- | ------------------------------------------ | -| `Duration` | Time to store results on disk | `48h` | Duration like `1h`, `30m`, `2h45m` | -| `MaxUsage` | Maximum disk usage | `90%` | Percentage (`%`) or size (e.g., `10GiB`) | -| `Path` | Path to the disk cache directory | `./cache` | Any valid file path | +# Configuration File (`config.ini`) + +This page documents all configuration variables available in `config.ini`, including their purpose, possible values, and default settings. + +## Server Configuration + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| -------------- | ---------------------------------------- | ------------------- | --------------------------------------------------------------------- | +| `Port` | Port number for the application server | `5000` | Any valid port number | +| `Domain` | Domain address of the server | `localhost` | Any valid domain name or IP address | +| `LogLevel` | Logging level for the application | `1` | `0` (Silent), `1` (Errors), `2` (Warnings), `3` (Info), `4` (Debug) | + +## Peer Configuration + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| -------------- | ----------------------------------------- | ------------------- | ---------------------------- | +| `AuthCode` | Authorization code for peer connections | Auto-generated | 64-character random string | +| `PeerID` | Unique identifier for the peer | Auto-generated | Any unique string | +| `Peers` | Comma-separated list of peer addresses | Empty | List of peer URLs | + +## Feature Toggles + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| ---------------- | ------------------------------------------------------ | ------------------- | --------------------- | +| `Nodes` | Enable or disable peer-to-peer nodes | `false` | `true` / `false` | +| `MetaSearch` | Enable metasearch crawling from other search engines | `true` | `true` / `false` | +| `Indexer` | Enable web crawling and indexing | `false` | `true` / `false` | +| `Website` | Enable website hosting feature | `true` | `true` / `false` | +| `RamCache` | Enable caching in RAM | `true` | `true` / `false` | +| `DriveCache` | Enable caching on the disk | `false` | `true` / `false` | +| `MetaProxy` | Use proxies for metasearch crawling | `false` | `true` / `false` | +| `CrawlerProxy` | Use proxies for general web crawling and indexing | `false` | `true` / `false` | + +## Proxy Configuration + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| ---------------------- | ------------------------------------------------------ | ------------------- | ------------------------- | +| `MetaProxyStrict` | Enforce strict behavior when MetaProxy fails | `true` | `true` / `false` | +| `MetaProxies` | List of proxies to use for metasearch crawling | Empty | Comma-separated proxies | +| `CrawlerProxyStrict` | Enforce strict behavior when CrawlerProxy fails | `true` | `true` / `false` | +| `CrawlerProxies` | List of proxies to use for web crawling and indexing | Empty | Comma-separated proxies | + +### Notes: + +- Proxies must be specified as a **comma-separated list**, dont use comma with space behind it. +- Each proxy should be in the format: + - `ADDRESS:PORT` + - `ADDRESS:PORT:USER:PASSWORD` +- Example: + - `proxy1.example.com:8080:user1:pass1,proxy2.example.com:8080` + +## MetaSearch Configuration + +| **Key** | **Description** | **Default Value** | **Possible Values** | +| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | +| `Text` | A comma-separated list of **text search engines** in the exact order to query. Engines not listed are skipped. | `Google,Brave,DuckDuckGo` | `Google`, `LibreX`, `Brave`, `DuckDuckGo` | +| `Image` | A comma-separated list of **image search engines** in the exact order to query. Engines not listed are skipped. | `Qwant,Bing,DeviantArt` | `Qwant`, `Bing`, `DeviantArt` | +| `Files` | A comma-separated list of **file/torrent search engines** to enable (in any order). | `TorrentGalaxy,ThePirateBay` | `TorrentGalaxy`, `ThePirateBay` | +| `Video` | A comma-separated list of **piped instances** to use for video searching, fastest one is used first. | `api.piped.yt,pipedapi.moomoo.me,pipedapi.darkness.services,pipedapi.kavin.rocks,`... | Any valid Piped instance domain | +| `LibreXInstances` | A comma-separated list of **LibreX / LibreX-Y** endpoints. The application queries each domain in order, aggregating results from all that respond. | `librex.antopie.org` | Any valid LibreX domain | + + +## Crawling and Indexing + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| ------------------------------ | --------------------------------------------- | ------------------- | ----------------------------------- | +| `ConcurrentStandardCrawlers` | Number of standard crawlers running at once | `12` | Positive number | +| `ConcurrentChromeCrawlers` | Number of Chrome-based crawlers running | `4` | Positive number | +| `CrawlingInterval` | Time between refreshing crawled results | `24h` | Duration like `1h`, `30m`, `2h45m` | +| `MaxPagesPerDomain` | Maximum pages to crawl per domain | `10` | Positive number | +| `IndexBatchSize` | Number of pages to index in one batch | `50` | Positive number | + +## Cache Configuration + +### RAM Cache + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| -------------- | ------------------------------ | ------------------- | ----------------------------------------- | +| `Duration` | Time to store results in RAM | `6h` | Duration like `1h`, `30m`, `2h45m` | +| `MaxUsage` | Maximum RAM usage | `90%` | Percentage (`%`) or size (e.g., `2GiB`) | + +### Drive Cache + +| **Variable** | **Description** | **Default Value** | **Possible Values** | +| -------------- | ---------------------------------- | ------------------- | ------------------------------------------ | +| `Duration` | Time to store results on disk | `48h` | Duration like `1h`, `30m`, `2h45m` | +| `MaxUsage` | Maximum disk usage | `90%` | Percentage (`%`) or size (e.g., `10GiB`) | +| `Path` | Path to the disk cache directory | `./cache` | Any valid file path |