Skip to content

Configuration options

All the options passed to the executable and visible in the help can also be configured as default in a configuration file.

jet1090 --help

By default, the configuration file is located in:

  • $HOME/.config/jet1090/config.toml for Linux systems;
  • $HOME/Library/Application\ Support/jet1090/config.toml for MacOS systems;
  • %HOME%\AppData\Roaming\jet1090\config.toml for Windows systems

Support for XDG_CONFIG_HOME

If the XDG_CONFIG_HOME variable is set, it takes precedence over the folders detailed above.

This means you can set this variable and use the $HOME/.config folders in MacOS systems as well.

Tip

  • You can also set a different configuration file in the JET1090_CONFIG environment variable.
  • You can also set that variable in the .env (dotenv) file located in the current folder and jet1090 will look into it.

If you have several scenarios requiring different configurations files, this option may be where to look at.

General settings

If you set a configuration file, some parameters must be always present:

interactive = false      # display a table view
verbose = false          # display decoded messages in the terminal
prevent_sleep = false    # force the laptop not to enter sleep mode (useful when lid is closed)
update_position = false  # auto-update the reference position (useful when on a moving aircraft)

Other parameters are optional:

deduplication = 800        # buffer interval for deduplication, in milliseconds
history_expire = 10        # in minutes
log_file = "-"             # use together with RUSTLOG environment variable
output = "~/output.jsonl"  # the ~ (tilde) character is automatically expanded
redis_url = "redis://localhost:6379"
serve_port = 8080          # for the REST API

Sources

Warning

If you do not want to set any source in the configuration file, you must specify an empty list:

sources = []

Otherwise, do not include that line, and set as many sources as you need with the [[sources]] header.

RTL-SDR

The following entry is equivalent to rtlsdr://serial=00000001@LFBO except that it sets an alias rtl-sdr:

[[sources]]
name = "rtl-sdr"
rtlsdr = "serial=00000001"
airport = "LFBO"

The airport parameter replaces the latitude and longitude parameter if they are not present.

Beast format

External sources can be configured with the tcp, udp or websocket fields.

[[sources]]
name = "Toulouse"
tcp = "123.45.67.89:10003"
latitude = 43.5993189
longitude = 1.4362472

For the websocket you must specify the ws:// prefix:

[[sources]]
websocket = "ws://123.45.67.89:8765/zurich"
airport = "LSZH"

Reference positions

When in a hurry, an airport code is enough to decode surface messages (otherwise, only lat_cpr and lon_cpr are provided). It may be useful to fill in precise values for latitude, longitude and altitude for multilateration applications.

Different names for different sources

The name entry is not mandatory but it is helpful to help recognize different sources in the output format. However, internally, an hashed version of the address is used to uniquely identify sources.

SeRo Systems

You may input here your SeRo Systems token in order to receive your data. Extra filters are also available in order to limit the network bandwidth.

[[sources]]
sero.token = ""
sero.df_filter = [17, 18, 20, 21]  # (default: no filter)
# sero.aircraft_filter = []  # list of integer values corresponding to icao24 addresses (default: no filter)