Deb Loader
Open a .deb package like a folder
- Binary Data List
- Relative Paths
- Image List
- Image Relative Paths
- Skipped Files
The Deb Packager builds installable .deb files. This node is the way back in: Deb Loader parses an existing Debian package and extracts its contents into the pack's batch data types - with a file filter, so you pull out only what you need instead of the whole package.
A .deb is just an ar archive holding compressed control.tar and data.tar members. The node parses that with pure Python - no system dpkg or ar required, which is why the pack claims cross-platform support (it genuinely works on Windows and macOS too). It extracts both archives, decodes the tar members, and hands you the files as bytes. If you've distributed your icon theme as a package, this is how you load it back into a workflow for inspection, re-save, or re-export.
Inputs (all required):
- deb_file_path - path to the
.deb. The node even has a cross-platform shim: on Unix, a Windows-style path gets its filename extracted and searched for in common locations. Nice touch, but a real absolute path is the reliable path. - File Filter - default
*.dci. A glob applied to filenames inside the package (multiple patterns allowed, comma/semicolon separated). - Skip Symlinks - default on. Packages ship symlinks (the universal-tone dark-directory links are symlinks), and following them while extracting can loop. Skipped ones land in the Skipped Files output.
Outputs (five):
- Binary Data List - matching files' raw bytes.
- Relative Paths - each file's in-package path (e.g.
usr/share/dsg/icons/256/normal.light/1/...). - Image List - an
IMAGEbatch of any matching files that decode as images. - Image Relative Paths - paths aligned with the Image List.
- Skipped Files - symlinks skipped during extraction.
The Binary Data List ↔ Relative Paths pairing is index-aligned, same as the Directory Loader.
Installing
Same pack, light deps (Pillow, numpy):
cd ComfyUI/custom_nodes
git clone https://github.com/zccrs/comfyui-dci
cd comfyui-dci && pip install -r requirements.txt
Or ComfyUI Manager → "DCI Image Export Extension" → restart. It's under DCI / Files.
Where people get burned
- The default filter misses non-DCI files. A package full of
.webpicons extracts to nothing until you changeFile Filter- a common "it's broken" that's actually just the glob. - Extraction is read-only and in-memory. Nothing gets written to your disk; the node holds bytes in memory and hands them to you. If you want files on disk, pipe the binary lists into a saver.
- It's parsing, not installing. dpkg ownership, triggers, maintainer scripts - none of that runs. You get the files, that's all.
If you've ever wanted to poke inside a package you built (or received) without dropping to a shell, this is the node. It's the natural companion to the Deb Packager, and together they make the pack's "build a theme, ship it, open it again" loop genuinely round-trip-able.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| deb_file_path | STRING | — | |
| File Filter | STRING | *.dci | — |
| Skip Symlinks | BOOLEAN | true | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| Binary Data List | BINARY_DATA_LIST | — |
| Relative Paths | STRING_LIST | — |
| Image List | IMAGE | — |
| Image Relative Paths | STRING_LIST | — |
| Skipped Files | STRING_LIST | — |