docs/Editing-Configuration-Files.md
It is not always possible to set all configurations from the GUI, especially for the daemon or the web interface. This guide will try to give an overview of how and what you can change. For the location of these files, look at the Configuration Files page.
Note: The client should be closed before making changes, otherwise settings will be reverted to their previous state.
Some of Transmission's behavior can also be customized via environment variables.
[!IMPORTANT] Transmisson 4.1.0 started a transition to convert all configuration strings to snake_case.
The old kebab-case strings are still the default in Transmission 4, but are deprecated and will be removed in the future. The new snake_case strings will become the default in Transmission 5, but you can adopt them now by starting Transmission with environment variable
TR_SAVE_VERSION_FORMAT=5(this will be the default in Transmission 5).You can start Transmission with
TR_SAVE_VERSION_FORMAT=4(the default in Transmission 4) to fall back to the old format if needed.For documentation of the old configurations, please consult documentation from previous versions. https://github.com/transmission/transmission/blob/4.0.6/docs/Editing-Configuration-Files.md
GTK, CLI and daemon (both on a Mac and Linux) use a JSON formatted file, mainly because of its human readability. (Consult the JSON website for detailed information)
You can make the daemon reload the settings file by sending it the SIGHUP signal.
Or simply run either of the following commands:
$ killall -HUP transmission-daemon
Or:
$ pkill -HUP transmission-daemon
Here is a sample of the three basic types: respectively Boolean, Number and String:
{
"rpc_enabled": true,
"peer_port": 51413,
"rpc_whitelist": "127.0.0.1,192.168.*.*"
}
announce_ip value is used instead of the client's address visible to the tracker for announcement requests.incomplete_dir. When complete, the files will be moved to download_dir.watch_dir_enabled is true, only the transmission-daemon, transmission-gtk, and transmission-qt applications will monitor watch_dir for new .torrent files and automatically load them.&ipv4= query parameter.ip_endpoints_ipv4, but for IPv6.[scheme]://[host]:[port], where scheme is one of: http, https, socks4, socks4h, socks5, socks5h. If null, Transmission respects the CURL environment variables. If empty string, no proxy is used. For more information see curl proxy documentationpreferred_transports instead. Leave it at default and let Transmission manage this value to minimize accidents.preferred_transports instead. Leave it at default and let Transmission manage this value to minimize accidents.tr_diffserv_t class from libtransmission/net.h for the exact list of possible values.download_queue_size non-stalled torrents at once.download_queue_enabled.queue_stalled_minutes are treated as 'stalled' and are not counted against the download_queue_size and seed_queue_size limits.queue_stalled_enabled.seed_queue_size non-stalled torrents at once.seed_queue_enabled.anti_brute_force_threshold below.{ as salted, so when you first create your password, the plaintext password you enter must not begin with {.rpc_bind_address is a UNIX socket)alt_speed_enabled setting.0000001)0000010)0000100)0001000)0010000)0100000)1000000)0111110)1000001)1111111)Only keys that differ from above are listed here. These options have been replaced in newer versions of Transmission.
macOS has a standardized way of saving user preferences files using XML format. These files are called plist (short for property list) files. Usually there is no need to modify these files directly, since Apple provided a command-line tool to reliably change settings. You do need to restart Transmission before these have effect.
In short:
defaults write org.m0k.transmission <key> <value>defaults delete org.m0k.transmission <key>rpc_host_whitelist above.rpc_host_whitelist_enabled above.