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.
| Key | Default | Meaning |
|---|---|---|
remote/enable | false | Serve the web interface and the REST API over the network. |
remote/port | 2233 | TCP port of the web interface. |
remote/password | fatrat | Password for the web interface and the REST API. If it is empty, no password is asked for. |
remote/ssl | false | Use 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_pem | empty | Path of a PEM file with the private key followed by the certificate. |
network/speed_down, network/speed_up | 131072 | The 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/enable | true | Check RSS feeds. |
rss/interval | 15 | Minutes between checks of the feeds. |
torrent/listen_start, torrent/listen_end | 6881, 6888 | The range of ports BitTorrent listens on. It uses the first free port from listen_start to listen_end. |
torrent/external_ip | empty | The 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/maxratio | 1 | Seed until this share ratio is reached. |
torrent/dht | true | Use the distributed tracker (DHT). |
torrent/pex | true | Use peer exchange. |
python/check_updates | true | Desktop 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.
| Path | Contents |
|---|---|
queues.xml | Your 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
.torrentis 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).