FatRat

Configuration Files

FatRat keeps three kinds of files: your settings, your queues and other data, and a few data files that ship with the program. You change the settings in the Settings dialog or the web interface, so you rarely need to edit any of them by hand.

Settings file

Your settings are in one INI file. On Linux and BSD it is ~/.config/Dolezel/fatrat.conf, or $XDG_CONFIG_HOME/Dolezel/fatrat.conf if that variable is set. Start FatRat with -c file (or --config) to use another file. On macOS the settings are in the system's preferences store, which is not a text file, so use -c there if you want to edit them by hand.

The file holds the values FatRat has saved. For a key that is not in it, FatRat uses the default from defaults.conf (see below). Keys are written as [section] headers followed by key=value lines. The keys in the [General] section are used without a section name, for example gui_refresh, and all other keys with it, for example remote/port.

To read or write a key from the shell, use fatrat-conf. See Running on a Server for how. Like FatRat, fatrat-conf takes -c file (or --config) to work on another settings file.

Hand-editing

Stop FatRat before you edit the file, or it overwrites your changes. When you write a value by hand, put it in double quotes if it contains , ; " or \, and write \" and \\ inside the quotes. Quoting is the portable way to write such a value. FatRat reads an unquoted password=a,b as the password a,b, but other values with a comma may be read as a list, and a ; cuts the rest of an unquoted value off:

[remote]
password="a,b"

If FatRat cannot read the remote/password value as text, it refuses every login and writes a message to its log, until you fix the value.

Keys you may want to change

The [remote] keys switch on the web interface. Most settings can also be changed in the Settings dialog of the desktop and web interfaces; the table lists only the ones you may want to set by hand.

KeyDefaultMeaning
remote/enablefalseServe the web interface and the REST API over the network.
remote/port2233TCP port of the web interface.
remote/passwordfatratPassword for the web interface and the REST API. If it is empty, no password is asked for.
remote/sslfalseUse HTTPS. Needs remote/ssl_pem. If the file is missing, FatRat falls back to plain HTTP. If it is not a valid PEM file, FatRat does not listen at all and logs an error.
remote/ssl_pememptyPath of a PEM file with the private key followed by the certificate.
network/speed_down, network/speed_up131072The speed of your connection, in bytes per second. It only sets the scale of the desktop app's speed graphs and bars, and limits nothing.
rss/enabletrueCheck RSS feeds.
rss/interval15Minutes between checks of the feeds.
torrent/listen_start, torrent/listen_end6881, 6888The range of ports BitTorrent listens on. It uses the first free port from listen_start to listen_end.
torrent/external_ipemptyThe address to announce to trackers. Only a literal IP address is used. If it is empty or not an address, the BitTorrent library decides.
torrent/maxratio1Seed until this share ratio is reached.
torrent/dhttrueUse the distributed tracker (DHT).
torrent/pextrueUse peer exchange.
python/check_updatestrueDesktop app only. Check the extension repositories you added for updates, 30 seconds after the start and then every 24 hours. There is no checkbox for it in the settings. See Extensions.

See Running on a Server for the web interface and HTTPS, and RSS for the feeds.

Queues and other data

FatRat keeps your data in ~/.local/share/fatrat, in the home directory of the user it runs as. This is always under ~/.local/share, even if XDG_DATA_HOME is set.

PathContents
queues.xmlYour queues and transfers. FatRat writes it itself; don't edit it while FatRat runs.
torrents/Copies of the .torrent files of your BitTorrent transfers.
metalinks/Copies of the Metalink files of your Metalink transfers.
plugins/Python extensions you installed, and the extension repositories. See Extensions.
data/Your own versions of the data files below, and the certificate that FatRat generates for the web interface (fatrat-webui.pem).

Data files that ship with FatRat

These files are installed in /usr/share/fatrat/data when you use the packages. If you build FatRat yourself, the directory is share/fatrat/data under the install prefix, which is fixed when the program is built. To change one, copy it to ~/.local/share/fatrat/data and edit the copy. FatRat uses your copy instead of the installed file, completely: the two are not merged. Restart FatRat afterwards.

defaults.conf
The default value of every setting, in the same format as the settings file. Anything you set in the settings file wins over it. You should not need to change it. Some entries in it are left over from older versions and are not used.
btlinks.txt
When FatRat guesses what a link is, a link that ends with .torrent is a torrent. Many websites don't follow this. This file has one regular expression per line. A link that one of them matches in full is treated as a link to a torrent file.
bttrackers.txt
Tracker addresses, one per line, offered under "Add known" in the desktop app's lists of trackers.
mirrors.txt
Groups of download mirrors, used by the desktop app for HTTP and FTP transfers. A group starts with a name in square brackets, followed by one mirror address per line.
css/
Style sheets for the desktop app's queue list (queueview.css) and headings (label-headers.css).