Skip to main content

Where njMule keeps its data

njMule keeps your settings, lists, identity and downloads in a few folders, together called the profile. It follows each system's conventions (the user folders on Windows, the Library on macOS, the XDG Base Directory specification on Linux), keeps the profile apart from the programs unless you ask for the portable mode, and never writes into an eMule folder. The desktop app, the command line and the headless engine of one user share the same profile.

The folders​

FolderHolds
configThe settings, the server and Kad lists, your identity and credits, the lists of known, shared and cancelled files, the IP filter: almost everything. See Files of the profile.
guiThe desktop app's options and the place of its window, the remote njMule it connects to.
dataThe configuration backups, in backups; what the desktop app's page remembers (theme, language, columns, the words typed before), in webview.
tempThe downloads in progress (001.part and 001.part.met, and so on).
cacheWhat njMule can fetch again: the country database, downloaded updates.
logsThe log files.
incomingThe completed downloads.

Default locations​

FolderLocation
config%APPDATA%\njMule\config
gui%APPDATA%\njMule\gui
data%LOCALAPPDATA%\njMule\data
temp%LOCALAPPDATA%\njMule\temp
cache%LOCALAPPDATA%\njMule\cache
logs%LOCALAPPDATA%\njMule\logs
incoming%USERPROFILE%\Downloads\njMule

%APPDATA% is usually C:\Users\you\AppData\Roaming and %LOCALAPPDATA% C:\Users\you\AppData\Local; paste either into the Explorer address bar to open it. The completed downloads go to your Downloads folder, also where you moved it (its Properties → Location); a folder of another drive that is not there at start leaves them in %USERPROFILE%\Downloads\njMule.

Linux and the XDG variables​

When they are set to an absolute path, these variables take precedence (relative paths are ignored, as the specification asks):

VariableDefaultnjMule's folders
XDG_CONFIG_HOME~/.config$XDG_CONFIG_HOME/njmule (config) and its gui
XDG_DATA_HOME~/.local/share$XDG_DATA_HOME/njmule (data) and its temp
XDG_CACHE_HOME~/.cache$XDG_CACHE_HOME/njmule
XDG_STATE_HOME~/.local/state$XDG_STATE_HOME/njmule/logs
XDG_DOWNLOAD_DIR~/Downloads$XDG_DOWNLOAD_DIR/njMule (incoming)

The download folder comes from the XDG_DOWNLOAD_DIR variable, or else from the user-dirs.dirs file of xdg-user-dirs in the configuration folder (the last assignment in it counts), so it follows a desktop in another language, such as ~/Téléchargements.

Services, containers and NAS​

Where njMule runsIts profile
Windows service%ProgramData%\njMule (usually C:\ProgramData\njMule), with the folders config, data, temp, cache, logs, gui and incoming below it. The service runs as NT SERVICE\njMule, which owns it. Uninstalling the service keeps it.
DockerThe volume /njmule, with the same folders below it. Mount /njmule/incoming (and /njmule/temp) on their own to keep the downloads on a disk of the host, preferably the same one.
SynologyThe package's folder, /var/packages/njmule/var, with the same folders below it; the completed downloads go to the shared folder njmule that the package creates.
Linux serviceThe user's own folders, as above.

Portable mode and another profile​

Two ways put the whole profile below one folder, with the same seven folders (config, data, temp, cache, logs, gui, incoming) inside:

  • Portable mode: an empty portable.flag file next to the programs of the .zip or .tar.xz archive keeps everything in a data folder beside them, for example on a removable drive.
  • --config-dir <dir>: njmule --config-dir D:\njmule-test or njmule-gui --config-dir /home/you/njmule-test keeps everything below that folder, to run a separate profile.

--config-dir wins over portable.flag, which wins over the system locations. See Portable mode.

Change where downloads go​

The completed and the incomplete downloads can live elsewhere: Options → Directories → Incoming Files and Temporary Files (see Directories). A new temporary folder takes effect at the next start. Categories can have incoming folders of their own. The other folders of the profile can only move all together, with --config-dir or the portable mode.

Uninstalling njMule leaves the profile in place, so that a later installation finds it again. See Removing your profile to delete it.