RSS-Bridge supports custom configurations for common parameters on the server side!

A default configuration file (`config.default.ini.php`) is shipped with RSS-Bridge.
Please do not edit this file, as it gets replaced when upgrading RSS-Bridge!

You should, however, use this file as template to create your own configuration
(or leave it as is, to keep the default settings).
In order to create your own configuration perform following actions:

* Create the file `config.ini.php` in the RSS-Bridge root folder (next to `config.default.ini.php`)
* Copy the contents from `config.default.ini.php` to your configuration file
* Change the parameters to satisfy your requirements

RSS-Bridge will automatically detect the `config.ini.php` and use it.
If the file doesn't exist it will default to `config.default.ini.php` automatically.

__Notice__: If a parameter is not specified in your `config.ini.php` RSS-Bridge will
automatically use the default settings from `config.default.ini.php`.

# Available parameters

The configuration file is split into sections:

* [system](#system)
* [http client](#http-client)
* [cache](#cache)
* [proxy](#proxy)
* [authentication](#authentication)
* [admin](#admin)
* [error](#error)

_System_: This section specifies system specific parameters

_Http client_: This section has http client options

_Cache_: This section is all about the caching behavior of RSS-Bridge

_Proxy_: This section can be used to specify a proxy server for RSS-Bridge to utilize for fetching contents

_Authentication_: This section defines parameters to require authentication to use RSS-Bridge

_Admin_: This section specifies parameters related to the administrator of your instance of RSS-Bridge

## System

This section provides following parameters:

- [timezone](#timezone)

### Timezone

Defines the timezone used by RSS-Bridge. This parameter can be set to any value of the values defined at https://www.php.net/manual/en/timezones.php

The default value is `UTC`.

## Cache

This section provides following parameters:

- [type](#type)
- [custom_timeout](#custom_timeout)

### type

Defines the cache type used by RSS-Bridge.

| Type       | Description  
| -------    | -----------
|`file`      | File based (default)
|`sqlite`    | SQLite database
|`memcached` | Memcached service

### custom_timeout

Allow users to specify custom timeout for specific requests.

`true` = enabled

`false` = disabled (default)

## Proxy

This section provides following parameters:

- [url](#url)
- [name](#name)
- [by_bridge](#by_bridge)

### url

Sets the proxy url (i.e. "tcp://192.168.0.0:32")

`""` = Proxy disabled (default)

### name

Sets the proxy name that is shown on the bridge instead of the proxy url.

`""` = Show proxy url (default: "Hidden proxy name")

### by_bridge

Allow users to disable proxy usage for specific requests.

`true`  = enabled

`false` = disabled (default)

## Http client

This section provides the following parameters:

- timeout
- useragent

### timeout

Default network timeout.

### useragent

Default user agent.

## Authentication

This section provides following parameters:

- [enable](#enable)
- [username](#username)
- [password](#password)

### enable

Enables authentication for RSS-Bridge.

_Notice_: Login is required for all requests when enabled! Make sure to update feed subscriptions accordingly.

`true`  = enabled

`false` = disabled (default)

### username

Defines the user name used for login.

### password

Defines the password used for login. Use a strong password to prevent others from guessing your login!

## Admin

This section provides following parameters:

- [email](#email)

### email

Advertises an email address where people can reach the administrator.

*Notice*: This address is displayed on the main page, visible to everyone!

`""`    = Disabled (default)

Example: `email = "admin@instance.rss-bridge.com"`

## error

This section provides following parameters:

- [output](#output)
- [report_limit](#report_limit)

### output

Defines how error messages are returned by RSS-Bridge

`feed`: As part of the feed (default)

`http`: As HTTP error message

`none`: No errors are reported

### report_limit

Defines how often an error must occur before it is reported to the user

`report_limit`: 1 (default)
