Skip to content

External Support Binaries

ENiGMA½ relies on various external binaries to perform common tasks such as processing file archives, extracting information from uploads/file imports, and supporting legacy transfer protocols.

On Linux, you can quickly check what is available in your PATH:

Terminal window
command -v exiftool xdms pdftotext 7za zip unzip lha unlzx arj unrar tar atr sexyz sz rz

If a command is missing, see the tables below.

These commands install the most common dependencies from OS packages. Some tools are uncommon on modern distributions and may require manual installation (see “Manual installs” below).

Terminal window
sudo apt update
sudo apt install -y \
arj \
p7zip-full \
zip unzip \
lrzsz \
poppler-utils \
libimage-exiftool-perl \
tar

Notes:

  • unrar is not always available in default Debian/Ubuntu repos (it may require enabling non-free / multiverse).
  • lhasa may provide an lha command on some distros.
Terminal window
sudo dnf install -y \
arj \
zip unzip \
lrzsz \
poppler-utils \
perl-Image-ExifTool \
tar

Notes:

  • p7zip / p7zip-plugins and unrar often require extra repositories (commonly EPEL and/or RPM Fusion), depending on distro/version.

The following are frequently not available in default repositories:

Default executable mappings (what ENiGMA actually runs)

Section titled “Default executable mappings (what ENiGMA actually runs)”

This section is a quick reference for the exact executable names ENiGMA runs by default. These defaults come from core/config_default.js, and can be overridden in your configuration.

Archiver keyExecutable(s)Notes
7Zip7zap7zip / p7zip-full generally provide 7za
InfoZipzip, unzipBoth must be in PATH
LhalhaOften provided by lhasa on Debian/Ubuntu; may require manual build on EL
Lzxunlzxunlzx is the extractor/list tool for Amiga .lzx
Arjarj
Rarunrar
TarGztarUses tar for list/extract
AtratrUses atr for list/extract of Atari .atr images

File transfer protocols (fileTransferProtocols)

Section titled “File transfer protocols (fileTransferProtocols)”
Handler keyExecutable(s)Notes
zmodem8kSexyzsexyzSEXYZ implements sz/rz internally via args
xmodemSexyzsexyz
ymodemSexyzsexyz
zmodem8kSzsz, rzProvided by lrzsz
Extractor keyExecutable(s)Notes
Exiftool2Desc(internal script)Runs util/exiftool2desc.js (Node.js) which requires exiftool in PATH
ExiftoolexiftoolUsed for long description extraction by default (including PDFs)
XDMS2Descxdms
XDMS2LongDescxdms

Below is a table of pre-configured archivers. Remember that you can override settings or add new handlers! See Archivers.

Archiver (Key)File TypesMore InfoDebian/Ubuntu (apt/deb)Red Hat (yum/rpm)Windows
Arj.arjWikipediaarjarjARJ
7Zip.7z, .bzip2, .gzip/.gz, etc.
Warning: Does not attempt to handle zip files! See InfoZip!
https://www.7-zip.orgp7zip-full (provides 7za)p7zip / p7zip-plugins (often via EPEL; provides 7za)7-zip
InfoZip.ziphttps://infozip.sourceforge.net
zip and unzip must be in ENiGMA’s PATH
zip and unzipzip and unzipInfoZip
Lha.lza, .lzh, etc.Wikipedia
https://fragglet.github.io/lhasa/
lhasa (provides lha)Often not packaged on modern EL; build from source if neededWin32 binaries
Lzx.lzxAmiga LZXOften not packaged; build from source if neededOften not packaged; build from source if neededSource
Rar.rarWikipediaunrar (may require non-default repo)unrar (may require non-default repo)RARLAB
TarGz.tar.gz, .gzipWikipediatartarTAR.EXE
Atr.atrATR (Atari 8-bit disk image)
atari-tools
Not typically packaged; build from sourceNot typically packaged; build from sourceVaries

Handlers for legacy file transfer protocols such as Z-Modem and Y-Modem.

Handler (Key)ProtocolMore InfoDebian/Ubuntu (apt/deb)Red Hat (yum/rpm)Windows
xmodemSexyz
ymodemSexyz
zmodem8kSexyz
X-Modem, Y-Modem and Z-Modem (SEXYZ)SEXYZTypically installed manually (standalone sexyz binary)Typically installed manually (standalone sexyz binary)Synchronet FTP
zmodem8kSzZ-Modem 8K (sz/rz)Wikipedialrzsz (provides sz and rz)lrzsz (provides sz and rz)Varies

Information extraction utilities can extract information from various file types such as PDF in order to (attempt) to come up with a good default description.

ExtractorFile TypesMore InfoDebian/Ubuntu (apt/deb)Red Hat (yum/rpm)Windows
ExifTool.mp3, .pdf, .mp4, .jpg, .gif, .png, many moreExifToollibimage-exiftool-perlperl-Image-ExifToolVaries
pdftotext.pdf (text extraction)poppler-utilspoppler-utilspoppler-utilsVaries
XDMSAmiga DiskMasher images (.dms)http://zakalwe.fi/~shd/foss/xdms/xdmsOften not packaged on modern EL; build from source if neededVaries
  • The exact command names ENiGMA executes are defined in core/config_default.js under archives.archivers, fileTransferProtocols, and infoExtractUtils.
  • Your config/config.hjson may override defaults (for example, using pdftotext instead of ExifTool for PDF long descriptions).