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.
Quick Check
Section titled “Quick Check”On Linux, you can quickly check what is available in your PATH:
command -v exiftool xdms pdftotext 7za zip unzip lha unlzx arj unrar tar atr sexyz sz rzIf a command is missing, see the tables below.
Install (Linux)
Section titled “Install (Linux)”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).
Debian/Ubuntu
Section titled “Debian/Ubuntu”sudo apt updatesudo apt install -y \ arj \ p7zip-full \ zip unzip \ lrzsz \ poppler-utils \ libimage-exiftool-perl \ tarNotes:
unraris not always available in default Debian/Ubuntu repos (it may require enabling non-free / multiverse).lhasamay provide anlhacommand on some distros.
RHEL / AlmaLinux / Rocky
Section titled “RHEL / AlmaLinux / Rocky”sudo dnf install -y \ arj \ zip unzip \ lrzsz \ poppler-utils \ perl-Image-ExifTool \ tarNotes:
p7zip/p7zip-pluginsandunraroften require extra repositories (commonly EPEL and/or RPM Fusion), depending on distro/version.
Manual installs
Section titled “Manual installs”The following are frequently not available in default repositories:
sexyz(SEXYZ X/Y/Zmodem): https://l33t.codes/outgoing/sexyzxdms(Amiga DMS): http://zakalwe.fi/~shd/foss/xdms/ (see also Debian packaging: https://github.com/glaubitz/xdms-debian)unlzx(Amiga LZX): http://xavprods.free.fr/lzx/atr(Atari disk images): https://github.com/jhallen/atari-tools (provides anatrCLI that matches ENiGMA’s defaultAtrarchiver commands)lha: https://github.com/jca02266/lha (if you can’t getlhasafrom packages)
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.
Archives (archives.archivers)
Section titled “Archives (archives.archivers)”| Archiver key | Executable(s) | Notes |
|---|---|---|
7Zip | 7za | p7zip / p7zip-full generally provide 7za |
InfoZip | zip, unzip | Both must be in PATH |
Lha | lha | Often provided by lhasa on Debian/Ubuntu; may require manual build on EL |
Lzx | unlzx | unlzx is the extractor/list tool for Amiga .lzx |
Arj | arj | |
Rar | unrar | |
TarGz | tar | Uses tar for list/extract |
Atr | atr | Uses atr for list/extract of Atari .atr images |
File transfer protocols (fileTransferProtocols)
Section titled “File transfer protocols (fileTransferProtocols)”| Handler key | Executable(s) | Notes |
|---|---|---|
zmodem8kSexyz | sexyz | SEXYZ implements sz/rz internally via args |
xmodemSexyz | sexyz | |
ymodemSexyz | sexyz | |
zmodem8kSz | sz, rz | Provided by lrzsz |
Information extractors (infoExtractUtils)
Section titled “Information extractors (infoExtractUtils)”| Extractor key | Executable(s) | Notes |
|---|---|---|
Exiftool2Desc | (internal script) | Runs util/exiftool2desc.js (Node.js) which requires exiftool in PATH |
Exiftool | exiftool | Used for long description extraction by default (including PDFs) |
XDMS2Desc | xdms | |
XDMS2LongDesc | xdms |
Archivers
Section titled “Archivers”Below is a table of pre-configured archivers. Remember that you can override settings or add new handlers! See Archivers.
| Archiver (Key) | File Types | More Info | Debian/Ubuntu (apt/deb) | Red Hat (yum/rpm) | Windows |
|---|---|---|---|---|---|
Arj | .arj | Wikipedia | arj | arj | ARJ |
7Zip | .7z, .bzip2, .gzip/.gz, etc. Warning: Does not attempt to handle zip files! See InfoZip! | https://www.7-zip.org | p7zip-full (provides 7za) | p7zip / p7zip-plugins (often via EPEL; provides 7za) | 7-zip |
InfoZip | .zip | https://infozip.sourceforge.net zip and unzip must be in ENiGMA’s PATH | zip and unzip | zip and unzip | InfoZip |
Lha | .lza, .lzh, etc. | Wikipedia https://fragglet.github.io/lhasa/ | lhasa (provides lha) | Often not packaged on modern EL; build from source if needed | Win32 binaries |
Lzx | .lzx | Amiga LZX | Often not packaged; build from source if needed | Often not packaged; build from source if needed | Source |
Rar | .rar | Wikipedia | unrar (may require non-default repo) | unrar (may require non-default repo) | RARLAB |
TarGz | .tar.gz, .gzip | Wikipedia | tar | tar | TAR.EXE |
Atr | .atr | ATR (Atari 8-bit disk image) atari-tools | Not typically packaged; build from source | Not typically packaged; build from source | Varies |
File Transfer Protocols
Section titled “File Transfer Protocols”Handlers for legacy file transfer protocols such as Z-Modem and Y-Modem.
| Handler (Key) | Protocol | More Info | Debian/Ubuntu (apt/deb) | Red Hat (yum/rpm) | Windows |
|---|---|---|---|---|---|
xmodemSexyzymodemSexyzzmodem8kSexyz | X-Modem, Y-Modem and Z-Modem (SEXYZ) | SEXYZ | Typically installed manually (standalone sexyz binary) | Typically installed manually (standalone sexyz binary) | Synchronet FTP |
zmodem8kSz | Z-Modem 8K (sz/rz) | Wikipedia | lrzsz (provides sz and rz) | lrzsz (provides sz and rz) | Varies |
Information Extractors
Section titled “Information Extractors”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.
| Extractor | File Types | More Info | Debian/Ubuntu (apt/deb) | Red Hat (yum/rpm) | Windows |
|---|---|---|---|---|---|
| ExifTool | .mp3, .pdf, .mp4, .jpg, .gif, .png, many more | ExifTool | libimage-exiftool-perl | perl-Image-ExifTool | Varies |
| pdftotext | .pdf (text extraction) | poppler-utils | poppler-utils | poppler-utils | Varies |
| XDMS | Amiga DiskMasher images (.dms) | http://zakalwe.fi/~shd/foss/xdms/ | xdms | Often not packaged on modern EL; build from source if needed | Varies |
- The exact command names ENiGMA executes are defined in
core/config_default.jsunderarchives.archivers,fileTransferProtocols, andinfoExtractUtils. - Your
config/config.hjsonmay override defaults (for example, usingpdftotextinstead of ExifTool for PDF long descriptions).