# Configuration file¶

Every module has a large amount of input parameters, and the corresponding default values are hard-coded directly in the source code of the module. In order to solve this problem, Mirage provides a system of configuration file.

The configuration file is generated during the first exection of Mirage. It creates the following file structure :

/home/user
|_.mirage
|_ modules (modules user directory)
|_ scenarios (scenarios user directory)
|_ mirage.cfg (configuration file)


Once these files and directories are created, you could use a text editor in order to modify the text file mirage.cfg. By default, the configuration file is empty. However, it is possible to manually force a given module to adopt new default values for their corresponding input parameters by modifying the configuration file.

[ble_sniff]
INTERFACE = microbit0


Here, ble_sniff has its parameter INTERFACE set to microbit0 ,replacing the hardcoded default value (ubertooth0). Of course, multiple modules’ input parameters can be modified in the configuration file. The syntax of this file is the following :

[module_A]
PARAM_A = valueA
PARAM_B = valueB
PARAM_C = valueC

[module_B]
PARAM_1 = value1
PARAM_2 = value2
[...]