Search file-type filter: fix miscategorised extensions and add modern (2026) formats
Summary
The file-type filter in the search window (the Any / Archives / Audio / CD-Images / Pictures / Programs / Texts / Videos dropdown) maps each category to a list of file extensions in src/OtherFunctions.cpp (CED2KFileTypes, the ED2KFileTypesMap inserts, ~lines 656–895). This list dates from the eMule era and has two issues:
- A few extensions are in the wrong category.
- Many file formats that have become mainstream since ~2010 are missing, so files with those extensions are not matched by the corresponding filter (and Audio/Video/Image/Document/Program types are not detected for them elsewhere either).
This affects local filtering of search results and file-type detection in general (see note about the ED2K protocol at the end).
Part 1 — Incorrect classifications
| Extension |
Current category |
Issue |
Suggested fix |
.m4b |
Video (ED2KFT_VIDEO, line 732, comment "MPEG-4 Video File") |
.m4b is an MPEG-4 audiobook (audio/x-m4b — M4A/AAC audio with chapters and bookmarking, as used by iTunes/Audible/LibriVox). It is audio, not video. |
Move to Audio (ED2KFT_AUDIO) |
.dmz |
CD-Image (ED2KFT_CDIMAGE, line 851, no comment) |
There is no known disc-image format with this extension; .dmz is documented only as an (obsolete) DMesh 3D-model file. Looks like a stray entry. |
Remove (or confirm against the original eMule source) |
.msi |
Archive (ED2KFT_ARCHIVE, line 813, comment "Microsoft Installer File") |
A Windows Installer package interacts exclusively with the Windows Installer; it is a software-installation format, not a general-purpose archive. |
Move to Programs (ED2KFT_PROGRAM) |
.xpi |
Archive (ED2KFT_ARCHIVE, line 825, comment "Mozilla Installer Package") |
A browser-extension package. Zip-based, but a software/add-on package rather than a general-purpose archive. |
Move to Programs (ED2KFT_PROGRAM) |
Minor / comment-only (no category change needed, listed for completeness):
.sub (line 857) is correctly under CD-Image as CloneCD subchannel data (the .ccd/.img/.sub set), but its source comment says "Subtitle File", which is misleading.
- A few descriptive comments are wrong even though the category is correct:
.mp1v ("QuickTime Movie File" → MPEG-1 video), .mp4 ("MPEG-2 Video File" → MPEG-4), .mpe ("MPEG-4 Video File" → MPEG-1).
Part 2 — Missing modern formats
Suggested additions per category, with a short description usable as the source comment. Some extensions fit more than one category — see the cross-category note.
Audio
.opus — Opus Audio File
.oga — Ogg Audio File
.weba — WebM Audio File
.wv — WavPack Lossless Audio File
.dsf — DSD Stream Audio File (high-res)
.dff — DSDIFF Audio File (high-res)
.caf — Apple Core Audio Format File
.aa — Audible Audiobook File
.aax — Audible Enhanced Audiobook File
Video
.mts — AVCHD Video File (note .m2ts is present but .mts is not)
.f4v — Flash MP4 Video File
.mxf — Material Exchange Format File
.h264 — H.264 Raw Video Stream
.h265 — H.265 Raw Video Stream
.hevc — HEVC Raw Video Stream
Pictures
.heic — High Efficiency Image File
.heif — High Efficiency Image Format File
.avif — AV1 Image File
.jxl — JPEG XL Image File
.svg — Scalable Vector Graphics File
.jp2 — JPEG 2000 Image File
.j2k — JPEG 2000 Code Stream
.xcf — GIMP Image File
.apng — Animated PNG File
.dng — Digital Negative RAW Image
.cr2 — Canon RAW 2 Image
.cr3 — Canon RAW 3 Image
.nef — Nikon Electronic Format RAW Image
.arw — Sony Alpha RAW Image
.orf — Olympus RAW Image
.raf — Fujifilm RAW Image
.rw2 — Panasonic RAW Image
Archives
.zst — Zstandard Compressed File
.xz — XZ Compressed File
.txz — Tar XZ Compressed File
.lz4 — LZ4 Compressed File
.lzma — LZMA Compressed File
.lz — Lzip Compressed File
.tlz — Tar LZMA Compressed File
.cb7 — Comic Book 7-Zip Archive
.cba — Comic Book ACE Archive
Programs
.ps1 — PowerShell Script
.psm1 — PowerShell Module File
.psd1 — PowerShell Data File
.sh — Unix Shell Script
.app — macOS Application Bundle
.appx — Windows App Package
.msix — Windows App Package
.appimage — Linux AppImage Application
.flatpak — Flatpak Application Package
.snap — Snap Application Package
.scr — Windows Screensaver Executable
.cpl — Windows Control Panel Applet
.deb — Debian Software Package
.rpm — RPM Software Package
.apk — Android Application Package
.jar — Java Archive (application/library)
CD-Images
.vhd — Virtual Hard Disk Image
.vhdx — Hyper-V Virtual Hard Disk Image
.vmdk — VMware Virtual Disk Image
.vdi — VirtualBox Virtual Disk Image
.qcow2 — QEMU Copy-On-Write Disk Image
.wim — Windows Imaging Format File
.mdx — DAEMON Tools Disc Image
.daa — PowerISO Disc Image
.isz — Compressed ISO Disc Image
.uif — MagicISO Disc Image
.cdi — DiscJuggler Disc Image
.b5t — BlindWrite 5 Disc Image
.b6t — BlindWrite 6 Disc Image
.vcd — Virtual CD Disc Image
Texts (Documents)
OOXML — Office 2007+ is entirely absent:
.docx — Microsoft Word Document (OOXML)
.docm — Microsoft Word Macro-Enabled Document
.dotx — Microsoft Word Template (OOXML)
.xlsx — Microsoft Excel Spreadsheet (OOXML)
.xlsm — Microsoft Excel Macro-Enabled Spreadsheet
.xltx — Microsoft Excel Template (OOXML)
.pptx — Microsoft PowerPoint Presentation (OOXML)
.pptm — Microsoft PowerPoint Macro-Enabled Presentation
.potx — Microsoft PowerPoint Template (OOXML)
.ppsx — Microsoft PowerPoint Slide Show (OOXML)
Other:
.md — Markdown Document
.markdown — Markdown Document
.csv — Comma-Separated Values File
.json — JSON File
.yaml — YAML File
.yml — YAML File
.tex — LaTeX Source Document
.djvu — DjVu Document
.xps — XML Paper Specification Document
.oxps — OpenXPS Document
.fb2 — FictionBook 2 E-Book
.azw3 — Amazon Kindle KF8 E-Book
.kfx — Amazon Kindle KFX E-Book
.pages — Apple Pages Document
.numbers — Apple Numbers Spreadsheet
.key — Apple Keynote Presentation
Notes
- Archive vs. Program (guiding principle): Archives is for general-purpose compressed file containers; an extension whose purpose is to package/deliver/run software belongs in Programs, even when it is internally a zip/compressed container. By this rule the software packages
.msi, .xpi, .jar, .deb, .rpm, .apk, .appx/.msix, .appimage/.flatpak/.snap all go under Programs, while general compression (.zip, .7z, .rar, .tar, .gz, .xz, .zst, the comic-book archives, …) stays under Archives.
- ED2K protocol:
Archive and CD-Image are not native ED2K file types — they are published/queried on servers as Pro (see GetED2KFileTypeSearchTerm in OtherFunctions.cpp). Adding extensions to those two categories therefore only affects aMule's local filtering, not server-side search.
Affected code
src/OtherFunctions.cpp — CED2KFileTypes constructor / ED2KFileTypesMap inserts (~lines 656–895)
Search file-type filter: fix miscategorised extensions and add modern (2026) formats
Summary
The file-type filter in the search window (the Any / Archives / Audio / CD-Images / Pictures / Programs / Texts / Videos dropdown) maps each category to a list of file extensions in
src/OtherFunctions.cpp(CED2KFileTypes, theED2KFileTypesMapinserts, ~lines 656–895). This list dates from the eMule era and has two issues:This affects local filtering of search results and file-type detection in general (see note about the ED2K protocol at the end).
Part 1 — Incorrect classifications
.m4bED2KFT_VIDEO, line 732, comment "MPEG-4 Video File").m4bis an MPEG-4 audiobook (audio/x-m4b— M4A/AAC audio with chapters and bookmarking, as used by iTunes/Audible/LibriVox). It is audio, not video.ED2KFT_AUDIO).dmzED2KFT_CDIMAGE, line 851, no comment).dmzis documented only as an (obsolete) DMesh 3D-model file. Looks like a stray entry..msiED2KFT_ARCHIVE, line 813, comment "Microsoft Installer File")ED2KFT_PROGRAM).xpiED2KFT_ARCHIVE, line 825, comment "Mozilla Installer Package")ED2KFT_PROGRAM)Minor / comment-only (no category change needed, listed for completeness):
.sub(line 857) is correctly under CD-Image as CloneCD subchannel data (the.ccd/.img/.subset), but its source comment says "Subtitle File", which is misleading..mp1v("QuickTime Movie File" → MPEG-1 video),.mp4("MPEG-2 Video File" → MPEG-4),.mpe("MPEG-4 Video File" → MPEG-1).Part 2 — Missing modern formats
Suggested additions per category, with a short description usable as the source comment. Some extensions fit more than one category — see the cross-category note.
Audio
.opus— Opus Audio File.oga— Ogg Audio File.weba— WebM Audio File.wv— WavPack Lossless Audio File.dsf— DSD Stream Audio File (high-res).dff— DSDIFF Audio File (high-res).caf— Apple Core Audio Format File.aa— Audible Audiobook File.aax— Audible Enhanced Audiobook FileVideo
.mts— AVCHD Video File (note.m2tsis present but.mtsis not).f4v— Flash MP4 Video File.mxf— Material Exchange Format File.h264— H.264 Raw Video Stream.h265— H.265 Raw Video Stream.hevc— HEVC Raw Video StreamPictures
.heic— High Efficiency Image File.heif— High Efficiency Image Format File.avif— AV1 Image File.jxl— JPEG XL Image File.svg— Scalable Vector Graphics File.jp2— JPEG 2000 Image File.j2k— JPEG 2000 Code Stream.xcf— GIMP Image File.apng— Animated PNG File.dng— Digital Negative RAW Image.cr2— Canon RAW 2 Image.cr3— Canon RAW 3 Image.nef— Nikon Electronic Format RAW Image.arw— Sony Alpha RAW Image.orf— Olympus RAW Image.raf— Fujifilm RAW Image.rw2— Panasonic RAW ImageArchives
.zst— Zstandard Compressed File.xz— XZ Compressed File.txz— Tar XZ Compressed File.lz4— LZ4 Compressed File.lzma— LZMA Compressed File.lz— Lzip Compressed File.tlz— Tar LZMA Compressed File.cb7— Comic Book 7-Zip Archive.cba— Comic Book ACE ArchivePrograms
.ps1— PowerShell Script.psm1— PowerShell Module File.psd1— PowerShell Data File.sh— Unix Shell Script.app— macOS Application Bundle.appx— Windows App Package.msix— Windows App Package.appimage— Linux AppImage Application.flatpak— Flatpak Application Package.snap— Snap Application Package.scr— Windows Screensaver Executable.cpl— Windows Control Panel Applet.deb— Debian Software Package.rpm— RPM Software Package.apk— Android Application Package.jar— Java Archive (application/library)CD-Images
.vhd— Virtual Hard Disk Image.vhdx— Hyper-V Virtual Hard Disk Image.vmdk— VMware Virtual Disk Image.vdi— VirtualBox Virtual Disk Image.qcow2— QEMU Copy-On-Write Disk Image.wim— Windows Imaging Format File.mdx— DAEMON Tools Disc Image.daa— PowerISO Disc Image.isz— Compressed ISO Disc Image.uif— MagicISO Disc Image.cdi— DiscJuggler Disc Image.b5t— BlindWrite 5 Disc Image.b6t— BlindWrite 6 Disc Image.vcd— Virtual CD Disc ImageTexts (Documents)
OOXML — Office 2007+ is entirely absent:
.docx— Microsoft Word Document (OOXML).docm— Microsoft Word Macro-Enabled Document.dotx— Microsoft Word Template (OOXML).xlsx— Microsoft Excel Spreadsheet (OOXML).xlsm— Microsoft Excel Macro-Enabled Spreadsheet.xltx— Microsoft Excel Template (OOXML).pptx— Microsoft PowerPoint Presentation (OOXML).pptm— Microsoft PowerPoint Macro-Enabled Presentation.potx— Microsoft PowerPoint Template (OOXML).ppsx— Microsoft PowerPoint Slide Show (OOXML)Other:
.md— Markdown Document.markdown— Markdown Document.csv— Comma-Separated Values File.json— JSON File.yaml— YAML File.yml— YAML File.tex— LaTeX Source Document.djvu— DjVu Document.xps— XML Paper Specification Document.oxps— OpenXPS Document.fb2— FictionBook 2 E-Book.azw3— Amazon Kindle KF8 E-Book.kfx— Amazon Kindle KFX E-Book.pages— Apple Pages Document.numbers— Apple Numbers Spreadsheet.key— Apple Keynote PresentationNotes
.msi,.xpi,.jar,.deb,.rpm,.apk,.appx/.msix,.appimage/.flatpak/.snapall go under Programs, while general compression (.zip,.7z,.rar,.tar,.gz,.xz,.zst, the comic-book archives, …) stays under Archives.ArchiveandCD-Imageare not native ED2K file types — they are published/queried on servers asPro(seeGetED2KFileTypeSearchTerminOtherFunctions.cpp). Adding extensions to those two categories therefore only affects aMule's local filtering, not server-side search.Affected code
src/OtherFunctions.cpp—CED2KFileTypesconstructor /ED2KFileTypesMapinserts (~lines 656–895)