Nodes/ComfyUI DCI/Deb Loader
ComfyUI Node

Deb Loader

Open a .deb package like a folder

By zccrs·Created about a year ago·Updated 11 months ago· 2
Deb Loader
    • Binary Data List
    • Relative Paths
    • Image List
    • Image Relative Paths
    • Skipped Files
    deb_file_path
    File Filter*.dci
    Skip Symlinkstrue

    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 IMAGE batch 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 ListRelative 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 .webp icons extracts to nothing until you change File 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.

    CategoryDCI/Files

    Inputs (3)

    NameTypeDefaultDescription
    deb_file_pathSTRING
    File FilterSTRING*.dci
    Skip SymlinksBOOLEANtrue

    Outputs (5)

    NameTypeDescription
    Binary Data ListBINARY_DATA_LIST
    Relative PathsSTRING_LIST
    Image ListIMAGE
    Image Relative PathsSTRING_LIST
    Skipped FilesSTRING_LIST