StringSetting
The string-typed session settings: port of settings_pack::string_types (settings_pack.hpp) together with the str_settings default-value table from settings_pack.cpp.
Each constant is a full 16-bit setting key (string_type_base | index), so it can be passed straight to SettingsPack.getString / SettingsPack.setString. The index positions are kept byte-identical to libtorrent, including the deprecated mmap_cache slot, so that the serialised names round-trip correctly.
Defaults that are a C++ nullptr (no default) are represented as null in StringSettingDefaults.DEFAULTS; libtorrent treats those as the empty string when read.
Properties
IP address passed to trackers as &ip=. Empty/unset omits the parameter.
Deprecated mmap_cache slot (kept to preserve indices).
Comma-separated host:port DHT bootstrap nodes.
Client name/version sent to peers in the BT handshake; falls back to USER_AGENT if empty.
i2p SAM bridge hostname (see Settings.I2P_PORT).
Comma-separated (IP/device, port) listen endpoints for incoming uTP/TCP peers.
Overrides the NAT-PMP gateway address.
Comma-separated IPs/interface names to bind outgoing TCP peer connections to.
Peer-id fingerprint prefix; if >= 20 bytes it is truncated and used as the whole peer-id.
Proxy hostname (see Settings.PROXY_TYPE).
Proxy password.
Proxy username.
Client identification sent to trackers and peers, e.g. "libtorrent/2.0.12.0".