Skip to content

Releases: ewitsolutions/dupEx-releases

v1.0.0

Choose a tag to compare

@ewitsolutions ewitsolutions released this 28 Sep 05:09

What's new in v1.0.0

The first stable release. Since the last release candidate, dupEx has been tested on thirteen Linux distributions — Ubuntu, Lubuntu, Linux Mint, Zorin OS, Pop!_OS, MX Linux, KDE neon, Fedora, openSUSE, Arch and CachyOS — on the desktops GNOME, KDE Plasma, Cinnamon, MATE, Xfce, LXQt and COSMIC, with the file-manager integration of Nautilus, Nemo, Caja, Thunar and Dolphin, in all six package formats, with light and dark themes, on local disks and network shares, and on older hardware.

Scanning

  • Include and exclude masks: several wildcards, such as IMG_*_2024*.jpg, now match as expected.
  • Include and exclude masks: masks typed by hand are kept when file types are added from the list.
  • Files that change or cannot be read completely during a scan are left out instead of being reported as duplicates.
  • Byte-for-byte verification now also checks the duplicates in reference paths and groups, and an unreadable file no longer interrupts it.
  • File and folder names that are not valid UTF-8 are counted and reported instead of being skipped silently.
  • A scan with only reference paths, or with only one group, shows a message about what is missing instead of starting a scan that cannot succeed.
  • Scan statistics show the correct grouping time and the full amount of data read.

Selecting and deleting

  • Improved response times when selecting and deleting in very large result lists.
  • The rules By path and By name distinguish upper and lower case; a pattern starting with (?i) ignores it.
  • The Copies rule recognises the names that Windows, macOS, Linux file managers and copy tools give to copies, in 22 languages, including copied folders.
  • Files that cannot be deleted, and places without a trash, are marked before anything is attempted; skipped files stay in the list, and the Output tab lists them with the reason.
  • Deleting runs in the background; afterwards the list shows exactly what was removed, also when deleting while a scan is still running.
  • Kept files and files in reference paths are protected from deletion at all times, keyboard shortcuts included.

Paths and network shares

  • Improved support for temporary network shares opened in a file manager:
    • Nautilus, Nemo, Thunar, Caja and other file managers based on GIO/gvfs: the share can be dragged onto dupEx, picked with the Folder button, or its address typed into the path field, for example smb://nas/photos. This also works in the Flatpak.
    • Dolphin and other file managers based on KIO: the share is picked with the Folder button by typing its address, including the user name, into the address bar of the dialog, for example smb://anna@nas/photos. This also works in the Flatpak. Typing the address into dupEx's path field or dragging from Dolphin is not possible.
    • An address of a share that is not connected is refused with a message.
  • ~ can be used for the home folder when typing or editing a path.
  • When a location cannot be used, dupEx says why.

Installation and packages

  • AppImage: when a newer version is started, dupEx offers to update the desktop integration.
  • AppImage: the copyright notices and licences of the bundled libraries were updated.
  • Installation: launcher and file-manager entries now work in home folders with spaces in their names.
  • Installation: the menu entry now also appears when custom XDG folders are set.
  • Desktop integration: installing it no longer creates an icon cache that could hide other programs' icons.
  • Desktop integration: removing it only deletes empty folders inside its own directories; shared folders such as ~/.local/bin stay in place.
  • dupex-cleanup.sh finds leftover AppImage copies under any file name and gives a clearer overview of what it removes.
  • Fixed opening files, folders and the session log in the Flatpak and on the COSMIC desktop.
  • Writing the settings is more robust, and an unreadable settings file is kept as a backup instead of being overwritten.
  • A license key is bound to the product it was bought for, and activation is confirmed in a window of its own.
  • "Delete old logfiles" keeps the logs of the running session.

Appearance

  • Dark themes: all buttons are clearly recognisable as buttons, and frames are drawn with every theme, including KDE's Breeze.

Languages and help

  • Improved and completed translations in all 23 languages; the help in French, Spanish, Indonesian, Japanese, Korean, Turkish and Chinese was translated anew.
  • The help now also covers network shares, locations that do not allow deleting, the log files and the new context-menu entries.

Which file do I need?

Download For
dupex_1.0.0_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon
dupex-1.0.0-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed
dupex-1.0.0-x86_64.AppImage Any distribution, incl. Arch Linux, CachyOS, Manjaro, Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-linux-x86_64.tar.gz Any distribution, incl. Arch Linux, CachyOS, Manjaro, Garuda
dupex-1.0.0.flatpak Older distributions (Ubuntu 20.04, Linux Mint 20, ...) or for a sandboxed install
dupex-1.0.0_amd64.snap For the Snap sandbox and for older distributions (without Mint), brings its own runtime, but no file-manager entry, prefer installing from the Snap Store
INSTALL.md The full install guide — every format, the file-manager menu, troubleshooting, removal
dupex-cleanup.sh Optional, after uninstalling — removes settings, license, cache and logs that no package manager touches

Installing

  • deb

    sudo apt install ./dupex_<version>_amd64.deb
    
  • rpm

    sudo dnf install ./dupex-<version>.x86_64.rpm
    

    on openSUSE import the signing key once first — dupex-release-key.asc is on this page, next to the packages:

    sudo rpm --import dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    
  • AppImage — make it executable and run it

    chmod +x ./dupex-<version>-x86_64.AppImage
    ./dupex-<version>-x86_64.AppImage
    
  • tar.gz — unpack and run the installer, which also resolves missing dependencies

    tar xzf ./dupex-<version>-linux-x86_64.tar.gz
    cd dupex-<version>-linux-x86_64
    ./install.sh
    
  • Flatpak — needs the Flathub remote in the same scope, otherwise the runtime is missing:

    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
  • Snap — from the Snap Store, then connect the three permissions by hand (external drives and shares below /mnt and /media, storage type detection):

    sudo snap install dupex
    sudo snap connect dupex:removable-media
    sudo snap connect dupex:mount-observe
    sudo snap connect dupex:hardware-observe
    

Everything beyond this — what each Snap permission does, a system-wide Flatpak, the file-manager menu, troubleshooting and removal — is in INSTALL.md, attached to this release. Arch, CachyOS, Manjaro and Garuda have no native package; take the AppImage or the tar.gz.

Requirements

  • One file per format — every download runs on any 64-bit PC and automatically uses the fastest instructions the CPU supports (SSE4.1 / AVX2).
  • deb, rpm, AppImage and tar.gz need GTK 4.12 and glibc 2.39: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / CachyOS / Manjaro / Garuda.
  • Flatpak and Snap ship their own GTK and glibc, which is why they also run on older releases (for example Ubuntu 20.04 or Linux Mint 20). On Linux Mint the Snap is not an option — Mint blocks snapd by default.

Verifying the download

Every file above is signed. SHA256SUMS lists the checksum of each one, and <file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a real rpm header signature, which is what sudo rpm --import above enables the package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is published at https://ewitsolutions.com/signing-key.asc — a different host, so comparing it against this page means something. (INSTALL.md names it too, but it hangs on this release like the key itself.)

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.

v1.0.0-rc5

Choose a tag to compare

@amehn77 amehn77 released this 08 Sep 17:09

What's new in v1.0.0-rc5

Added

  • The release signing key is now also published at https://ewitsolutions.com/signing-key.asc. Its fingerprint can therefore be compared with a second source, independent of the download page.
  • The duplicate list marks the files that cannot be deleted, either because the location is read-only or because the permissions do not allow it.
  • A button in the top right corner of the output opens the log of the running session. Until now only the scan log could be opened.

Changed

  • The release signing key now carries the company name instead of a name that mentioned only dupEx. The fingerprint has not changed, so a key that was already imported keeps working.
  • The install guide explains the warning "not certified with a trusted signature" that gpg prints for every newly imported key. It does not mean that the check failed.
  • Deleting and moving to the trash now give a warning beforehand when part of the selection cannot be removed. Those files are skipped instead of being attempted and failing.
  • The session log is tidied up, and how much it records now depends on the log level.

Fixed

  • Files that could not be deleted now stay in the duplicate list. Until now the whole selection was taken out of the list, even when the files were still on the disk.
  • When an action fails, the reason now appears in the output. Deleting, moving to the trash, opening a file, the terminal and the file manager used to fail silently.
  • On a location that has no trash, such as many network shares, the message now says exactly that instead of showing a technical error.
  • Removing all paths while a pre-scan was still running could leave one of them behind. The next scan then listed duplicates from a folder that had already been taken out.
  • Installing respects XDG_DATA_HOME and XDG_CONFIG_HOME. Where those point somewhere other than the default, the launcher, the icons and the themes ended up in a place the desktop and dupEx never looked at.
  • Uninstalling now names the CSS theme files it leaves behind, and only when there are any. The AppImage said it even when no themes had been copied, and the tar.gz package never said it at all.

Which file do I need?

Download For
dupex_1.0.0.rc5_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon
dupex-1.0.0.rc5-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed
dupex-1.0.0-rc5-x86_64.AppImage Any distribution, incl. Arch Linux, CachyOS, Manjaro, Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-rc5-linux-x86_64.tar.gz Any distribution, incl. Arch Linux, CachyOS, Manjaro, Garuda
dupex-1.0.0-rc5.flatpak Older distributions (Ubuntu 20.04, Linux Mint 20, ...) or for a sandboxed install
dupex-1.0.0-rc5_amd64.snap For the Snap sandbox and for older distributions (without Mint), brings its own runtime, but no file-manager entry, prefer installing from the Snap Store
INSTALL.md The full install guide — every format, the file-manager menu, troubleshooting, removal
dupex-cleanup.sh Optional, after uninstalling — removes settings, license, cache and logs that no package manager touches

Installing

  • deb

    sudo apt install ./dupex_<version>_amd64.deb
    
  • rpm

    sudo dnf install ./dupex-<version>.x86_64.rpm
    

    on openSUSE import the signing key once first — dupex-release-key.asc is on
    this page, next to the packages:

    sudo rpm --import dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    
  • AppImage — make it executable and run it

    chmod +x ./dupex-<version>-x86_64.AppImage
    ./dupex-<version>-x86_64.AppImage
    
  • tar.gz — unpack and run the installer, which also resolves missing dependencies

    tar xzf ./dupex-<version>-linux-x86_64.tar.gz
    cd dupex-<version>-linux-x86_64
    ./install.sh
    
  • Flatpak — needs the Flathub remote in the same scope, otherwise the runtime is missing:

    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
  • Snap — install dupex directly from snapcraft snap store

    sudo snap install dupex
    

Everything beyond this — Snap permissions, a system-wide Flatpak, the file-manager menu, troubleshooting and removal — is in INSTALL.md, attached to this release. Arch, CachyOS, Manjaro and Garuda have no native package; take the AppImage or the tar.gz.

Requirements

  • One file per format — every download runs on any 64-bit PC and automatically uses the fastest instructions the CPU supports (SSE4.1 / AVX2).
  • deb, rpm, AppImage and tar.gz need GTK 4.12 and glibc 2.39: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / CachyOS / Manjaro / Garuda.
  • Flatpak and Snap ship their own GTK and glibc, which is why they also run on older releases (for example Ubuntu 20.04 or Linux Mint 20). On Linux Mint the Snap is not an option — Mint blocks snapd by default.

Verifying the download

Every file above is signed. SHA256SUMS lists the checksum of each one, and <file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a real rpm header signature, which is what sudo rpm --import above enables the package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is in INSTALL.md, attached to this release — two independent places to compare against.

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.

v1.0.0-rc4

Choose a tag to compare

@amehn77 amehn77 released this 04 Sep 00:08

What's new in v1.0.0-rc4

Added

  • dupEx runs on older releases through Flatpak and Snap: Ubuntu 20.04 and 22.04, Linux Mint 20 and 21.
  • Cleanup script, attached to every release: removes files left behind after uninstalling (includes: settings, licence, cache, logs and file-manager entries).
  • The info window displays a localized link to the dupEx website; "Buy full version" uses the same link.

Changed

  • Entering a valid license key now confirms the activation and shows who the license is for.
  • Install guide: rewritten — one section per format, a troubleshooting chapter, and what stays behind after uninstalling.

Fixed

  • "Open terminal here" works also on MATE, LXDE, LXQt, Deepin and COSMIC, and prefers the terminal of the running desktop.
  • Without a terminal installed the entry is greyed out; a deleted folder is reported as missing.
  • The integration switch in the settings did nothing after a tar.gz install.
  • On COSMIC, leftovers from an earlier install could hide the context menu of a later one.

Which file do I need?

Download For
dupex_1.0.0.rc4_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon — install with sudo apt install ./<file>
dupex-1.0.0.rc4-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed — install with sudo dnf install ./<file> (openSUSE: import the signing key once, then sudo zypper install ./<file>)
dupex-1.0.0-rc4-x86_64.AppImage Any distribution, incl. Arch / Manjaro / Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-rc4-linux-x86_64.tar.gz Any distribution, incl. Arch / Manjaro / Garuda — unpack and run ./install.sh, which offers to install missing dependencies
dupex-1.0.0-rc4.flatpak Flatpak bundle — brings its own runtime
dupex-1.0.0-rc4_amd64.snap Snap package — prefer installing from the Snap Store

Installing the deb / rpm

Do not use dpkg -i or rpm -i — neither of them installs missing libraries. Distributions built around Qt desktops ship no GTK4 at all (Kubuntu, Lubuntu, KDE neon), so dupEx has to pull libraries in there. Use the commands below instead; they resolve everything automatically. Your desktop (GNOME, KDE Plasma, Cinnamon, MATE, Xfce, LXQt, …) makes no difference.

  • Debian · Ubuntu and its flavours · Mint · MX · Zorin · KDE neon

    sudo apt update
    sudo apt install ./dupex_<version>_amd64.deb      # the "./" is required
    

    Double-clicking the file works too, as long as a package installer (GDebi, GNOME Software, Discover) is installed — those resolve as well.

    Already ran sudo dpkg -i and it failed? Nothing is broken, the install is only unfinished. Complete it with:

    sudo apt-get -f install
    
  • Fedora — sudo dnf install ./dupex-<version>.x86_64.rpm

  • openSUSE Leap 16 / Tumbleweed — import the dupEx signing key once, then install:

    sudo rpm --import https://github.com/amehn77/dupEx-releases/releases/download/v1.0.0-rc4/dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    

    Without the key zypper stops at the signature prompt and KDE Discover refuses the file with "unknown author". The import is a one-time step — every later dupEx release is signed with the same key.

  • Arch · Manjaro · Garuda — there is no native package. Use the AppImage (needs nothing) or the tar.gz, whose ./install.sh detects pacman and offers to install the missing packages. Run sudo pacman -Syu first — with a partial upgrade pending, any pacman -S fails.

The full guide — every package format, Flatpak and Snap, the file-manager menu, requirements and removal — is INSTALL.md, attached to this release.

Verifying your download

Every file above is signed. SHA256SUMS lists the checksum of each one, and <file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a real rpm header signature, which is what sudo rpm --import above enables your package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is in INSTALL.md, attached to this release — two independent places to compare against.

Requirements & notes

  • Which CPU build? There is just one per format — every download runs on any 64-bit PC and automatically uses the fastest instructions your CPU supports (SSE4.1 / AVX2).
  • deb / rpm / AppImage / tar.gz need glibc ≥ 2.39 and GTK ≥ 4.12: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / Manjaro / Garuda / CachyOS.
  • Flatpak / Snap do not have this limitation — they bring their own GTK and C library, and therefore also run on older releases such as Ubuntu 20.04 and 22.04 or Linux Mint 20 and 21. On Linux Mint use the Flatpak; Mint blocks snapd by default.
  • AppImage: make it executable (chmod +x), then run it. Optional desktop integration: ./dupex-*.AppImage --install. If it does not start, run it with --appimage-extract-and-run.
  • Flatpak: the bundle holds the app only; its GNOME runtime comes from Flathub (~1 GB once, shared with your other Flatpaks). Add the remote in the same scope you install into:
    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
    For a system-wide install use sudo for both commands and drop --user. Without a matching remote the install stops with "requires the runtime org.gnome.Platform … which was not found".
  • Snap from this page: sudo snap install --dangerous ./dupex-<version>_amd64.snap, then grant the three permissions a file-installed snap does not get automatically:
    sudo snap connect dupex:removable-media   # external drives and NAS below /mnt, /media
    sudo snap connect dupex:mount-observe     # recognise what a folder is stored on
    sudo snap connect dupex:hardware-observe  # tell SSDs from hard disks
    
    Without them dupEx still scans your home directory, but external drives stay invisible and every folder reports an unknown storage type. Installed from the Snap Store, --dangerous is not needed — the three snap connect commands are.

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.

v1.0.0-rc3

Choose a tag to compare

@amehn77 amehn77 released this 28 Aug 21:05

What's new in v1.0.0-rc3

Fixed

  • The file-type picker now fills each row of buttons instead of wrapping early.
  • Dialog texts now use the full window width.
  • Setting up the desktop integration now refreshes menu entries left over from an earlier installation, instead of keeping ones that no longer start.
  • The license key from the email is now accepted even if more than just the key itself was copied.

Which file do I need?

Download For
dupex_1.0.0.rc3_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon — install with sudo apt install ./<file>
dupex-1.0.0.rc3-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed — install with sudo dnf install ./<file> (openSUSE: import the signing key once, then sudo zypper install ./<file>)
dupex-1.0.0-rc3-x86_64.AppImage Any distribution, incl. Arch / Manjaro / Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-rc3-linux-x86_64.tar.gz Any distribution, incl. Arch / Manjaro / Garuda — unpack and run ./install.sh, which offers to install missing dependencies
dupex-1.0.0-rc3.flatpak Flatpak bundle — brings its own runtime
dupex-1.0.0-rc3_amd64.snap Snap package — prefer installing from the Snap Store

Installing the deb / rpm

Do not use dpkg -i or rpm -i — neither of them installs missing libraries. Distributions built around Qt desktops ship no GTK4 at all (Kubuntu, Lubuntu, KDE neon), so dupEx has to pull libraries in there. Use the commands below instead; they resolve everything automatically. Your desktop (GNOME, KDE Plasma, Cinnamon, MATE, Xfce, LXQt, …) makes no difference.

  • Debian · Ubuntu and its flavours · Mint · MX · Zorin · KDE neon

    sudo apt update
    sudo apt install ./dupex_<version>_amd64.deb      # the "./" is required
    

    Double-clicking the file works too, as long as a package installer (GDebi, GNOME Software, Discover) is installed — those resolve as well.

    Already ran sudo dpkg -i and it failed? Nothing is broken, the install is only unfinished. Complete it with:

    sudo apt-get -f install
    
  • Fedora — sudo dnf install ./dupex-<version>.x86_64.rpm

  • openSUSE Leap 16 / Tumbleweed — import the dupEx signing key once, then install:

    sudo rpm --import https://github.com/amehn77/dupEx-releases/releases/download/v1.0.0-rc3/dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    

    Without the key zypper stops at the signature prompt and KDE Discover refuses the file with "unknown author". The import is a one-time step — every later dupEx release is signed with the same key.

  • Arch · Manjaro · Garuda — there is no native package. Use the AppImage (needs nothing) or the tar.gz, whose ./install.sh detects pacman and offers to install the missing packages. Run sudo pacman -Syu first — with a partial upgrade pending, any pacman -S fails.

The full guide — every package format, Flatpak and Snap, the file-manager menu, requirements and removal — is INSTALL.md, attached to this release.

Verifying your download

Every file above is signed. SHA256SUMS lists the checksum of each one, and <file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a real rpm header signature, which is what sudo rpm --import above enables your package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is in INSTALL.md, attached to this release — two independent places to compare against.

Requirements & notes

  • Which CPU build? There is just one per format — every download runs on any 64-bit PC and automatically uses the fastest instructions your CPU supports (SSE4.1 / AVX2).
  • deb / rpm / AppImage / tar.gz need glibc ≥ 2.39 and GTK ≥ 4.12: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / Manjaro / Garuda.
  • AppImage: make it executable (chmod +x), then run it. Optional desktop integration: ./dupex-*.AppImage --install. If it does not start, run it with --appimage-extract-and-run.
  • Flatpak: the bundle holds the app only; its GNOME runtime comes from Flathub (~1 GB once, shared with your other Flatpaks). Add the remote in the same scope you install into:
    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
    For a system-wide install use sudo for both commands and drop --user. Without a matching remote the install stops with "requires the runtime org.gnome.Platform … which was not found".
  • Snap from this page: sudo snap install --dangerous ./dupex-<version>_amd64.snap, then grant the three permissions a file-installed snap does not get automatically:
    sudo snap connect dupex:removable-media   # external drives and NAS below /mnt, /media
    sudo snap connect dupex:mount-observe     # recognise what a folder is stored on
    sudo snap connect dupex:hardware-observe  # tell SSDs from hard disks
    
    Without them dupEx still scans your home directory, but external drives stay invisible and every folder reports an unknown storage type. Installed from the Snap Store, --dangerous is not needed — the three snap connect commands are.

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.

v1.0.0-rc2

Choose a tag to compare

@amehn77 amehn77 released this 25 Aug 19:11
00b1164

What's new in v1.0.0-rc2

Added

  • On the first start, dupEx offers to add itself to your menus — and asks only for what is actually missing. On a package installation that is the file manager's context menu; the AppImage also offers the application menu entry. The question appears once, and the answer can be changed later under Settings.

Fixed

  • Scanning two or more folders at once could silently skip one of them, so dupEx reported no duplicates although there were some. It happened when several folders were examined at the same time and one of them was large.
  • On accounts that had never changed Thunar's settings, no context-menu entry was created at all — the AppImage, the Flatpak and the tar.gz were affected alike.
  • The "Find duplicates with dupEx" entry in the file manager was worded incorrectly in Serbian, Turkish and Greek.

Which file do I need?

Download For
dupex_1.0.0.rc2_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon — install with sudo apt install ./<file>
dupex-1.0.0.rc2-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed — install with sudo dnf install ./<file> (openSUSE: import the signing key once, then sudo zypper install ./<file>)
dupex-1.0.0-rc2-x86_64.AppImage Any distribution, incl. Arch / Manjaro / Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-rc2-linux-x86_64.tar.gz Any distribution, incl. Arch / Manjaro / Garuda — unpack and run ./install.sh, which offers to install missing dependencies
dupex-1.0.0-rc2.flatpak Flatpak bundle — brings its own runtime
dupex-1.0.0-rc2_amd64.snap Snap package — prefer installing from the Snap Store

Installing the deb / rpm

Do not use dpkg -i or rpm -i — neither of them installs missing libraries. Distributions built around Qt desktops ship no GTK4 at all (Kubuntu, Lubuntu, KDE neon), so dupEx has to pull libraries in there. Use the commands below instead; they resolve everything automatically. Your desktop (GNOME, KDE Plasma, Cinnamon, MATE, Xfce, LXQt, …) makes no difference.

  • Debian · Ubuntu and its flavours · Mint · MX · Zorin · KDE neon

    sudo apt update
    sudo apt install ./dupex_<version>_amd64.deb      # the "./" is required
    

    Double-clicking the file works too, as long as a package installer (GDebi, GNOME Software, Discover) is installed — those resolve as well.

    Already ran sudo dpkg -i and it failed? Nothing is broken, the install is only unfinished. Complete it with:

    sudo apt-get -f install
    

The full guide — every package format, Flatpak and Snap, the file-manager menu, requirements and removal — is INSTALL.md, attached to this release.

  • Fedora — sudo dnf install ./dupex-<version>.x86_64.rpm

  • openSUSE Leap 16 / Tumbleweed — import the dupEx signing key once, then install:

    sudo rpm --import https://github.com/amehn77/dupEx-releases/releases/download/v1.0.0-rc2/dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    

    Without the key zypper stops at the signature prompt and KDE Discover refuses the file with "unknown author". The import is a one-time step — every later dupEx release is signed with the same key.

  • Arch · Manjaro · Garuda — there is no native package. Use the AppImage (needs nothing) or the tar.gz, whose ./install.sh detects pacman and offers to install the missing packages. Run sudo pacman -Syu first — with a partial upgrade pending, any pacman -S fails.

Verifying your download

Every file above is signed. SHA256SUMS lists the checksum of each one, and <file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a real rpm header signature, which is what sudo rpm --import above enables your package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is in INSTALL.md, attached to this release — two independent places to compare against.

Requirements & notes

  • Which CPU build? There is just one per format — every download runs on any 64-bit PC and automatically uses the fastest instructions your CPU supports (SSE4.1 / AVX2).
  • deb / rpm / AppImage / tar.gz need glibc ≥ 2.39 and GTK ≥ 4.12: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / Manjaro / Garuda.
  • AppImage: make it executable (chmod +x), then run it. Optional desktop integration: ./dupex-*.AppImage --install. If it does not start, run it with --appimage-extract-and-run.
  • Flatpak: the bundle holds the app only; its GNOME runtime comes from Flathub (~1 GB once, shared with your other Flatpaks). Add the remote in the same scope you install into:
    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
    For a system-wide install use sudo for both commands and drop --user. Without a matching remote the install stops with "requires the runtime org.gnome.Platform … which was not found".
  • Snap from this page: sudo snap install --dangerous ./dupex-<version>_amd64.snap, then grant the three permissions a file-installed snap does not get automatically:
    sudo snap connect dupex:removable-media   # external drives and NAS below /mnt, /media
    sudo snap connect dupex:mount-observe     # recognise what a folder is stored on
    sudo snap connect dupex:hardware-observe  # tell SSDs from hard disks
    
    Without them dupEx still scans your home directory, but external drives stay invisible and every folder reports an unknown storage type. Installed from the Snap Store, --dangerous is not needed — the three snap connect commands are.

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.

v1.0.0-rc1

Choose a tag to compare

@amehn77 amehn77 released this 20 Aug 01:58
00b1164

What's new in v1.0.0-rc1

Fixed

  • On some system themes there was no gap between a checkbox and its label.

Which file do I need?

Download For
dupex_1.0.0.rc1_amd64.deb Debian 13+ · Ubuntu 24.04+ and its flavours (Kubuntu, Lubuntu, Xubuntu, Ubuntu MATE) · Mint 22+ · MX 25+ · Zorin 18+ · KDE neon — install with sudo apt install ./<file>
dupex-1.0.0.rc1-1.x86_64.rpm Fedora 40+ · openSUSE Leap 16 / Tumbleweed — install with sudo dnf install ./<file> (openSUSE: import the signing key once, then sudo zypper install ./<file>)
dupex-1.0.0-rc1-x86_64.AppImage Any distribution, incl. Arch / Manjaro / Garuda — portable, no installation, nothing to resolve
dupex-1.0.0-rc1-linux-x86_64.tar.gz Any distribution, incl. Arch / Manjaro / Garuda — unpack and run ./install.sh, which offers to install missing dependencies
dupex-1.0.0-rc1.flatpak Flatpak bundle — brings its own runtime, also fine on older distributions
dupex-1.0.0-rc1_amd64.snap Snap package — prefer installing from the Snap Store

Installing the deb / rpm

Do not use dpkg -i or rpm -i — neither of them installs missing
libraries. Distributions built around Qt desktops ship no GTK4 at all (Kubuntu,
Lubuntu, KDE neon), so dupEx has to pull libraries in there. Use the commands
below instead; they resolve everything automatically. Your desktop (GNOME, KDE
Plasma, Cinnamon, MATE, Xfce, LXQt, …) makes no difference.

  • Debian · Ubuntu and its flavours · Mint · MX · Zorin · KDE neon

    sudo apt update
    sudo apt install ./dupex_<version>_amd64.deb      # the "./" is required
    

    Double-clicking the file works too, as long as a package installer
    (GDebi, GNOME Software, Discover) is installed — those resolve as well.

    Already ran sudo dpkg -i and it failed? Nothing is broken, the install
    is only unfinished. Complete it with:

    sudo apt-get -f install
    

The full guide — every package format, Flatpak and Snap, the file-manager menu,
requirements and removal — is INSTALL.md, attached to this release.

  • Fedora — sudo dnf install ./dupex-<version>.x86_64.rpm

  • openSUSE Leap 16 / Tumbleweed — import the dupEx signing key once, then install:

    sudo rpm --import https://github.com/amehn77/dupEx-releases/releases/download/v1.0.0-rc1/dupex-release-key.asc
    sudo zypper install ./dupex-<version>.x86_64.rpm
    

    Without the key zypper stops at the signature prompt and KDE Discover refuses
    the file with "unknown author". The import is a one-time step — every later
    dupEx release is signed with the same key.

  • Arch · Manjaro · Garuda — there is no native package. Use the AppImage
    (needs nothing) or the tar.gz, whose ./install.sh detects pacman and
    offers to install the missing packages. Run sudo pacman -Syu first — with a
    partial upgrade pending, any pacman -S fails.

Verifying your download

Every file above is signed. SHA256SUMS lists the checksum of each one, and
<file>.asc is its detached signature.

sha256sum --ignore-missing -c SHA256SUMS

gpg --import dupex-release-key.asc
gpg --verify dupex-<version>-x86_64.AppImage.asc dupex-<version>-x86_64.AppImage

SHA256SUMS.asc signs the checksum list itself. The rpm additionally carries a
real rpm header signature, which is what sudo rpm --import above enables your
package manager to check.

Is the key really ours? gpg --show-keys dupex-release-key.asc must print this
fingerprint:

1D7057D20393B2D3A8E7389272B65F2A0847C9C4

The same value is in INSTALL.md, attached to this release — two independent
places to compare against.

Requirements & notes

  • Which CPU build? There is just one per format — every download runs on any 64-bit PC and automatically uses the fastest instructions your CPU supports (SSE4.1 / AVX2).
  • deb / rpm / AppImage / tar.gz need glibc ≥ 2.39 and GTK ≥ 4.12: Ubuntu 24.04+ and its flavours, Linux Mint 22+, Debian 13+, MX 25+, Zorin 18+, KDE neon, Fedora 40+, openSUSE Leap 16 / Tumbleweed, Arch / Manjaro / Garuda. On older releases use Flatpak or Snap — they bring their own runtime.
  • AppImage: make it executable (chmod +x), then run it. Optional desktop integration: ./dupex-*.AppImage --install. If it does not start, run it with --appimage-extract-and-run.
  • Flatpak: the bundle holds the app only; its GNOME runtime comes from Flathub (~1 GB once, shared with your other Flatpaks). Add the remote in the same scope you install into:
    flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
    flatpak install --user ./dupex-<version>.flatpak
    
    For a system-wide install use sudo for both commands and drop --user. Without a matching remote the install stops with "requires the runtime org.gnome.Platform … which was not found".
  • Snap from this page: sudo snap install --dangerous ./dupex-<version>_amd64.snap, then grant the three permissions a file-installed snap does not get automatically:
    sudo snap connect dupex:removable-media   # external drives and NAS below /mnt, /media
    sudo snap connect dupex:mount-observe     # recognise what a folder is stored on
    sudo snap connect dupex:hardware-observe  # tell SSDs from hard disks
    
    Without them dupEx still scans your home directory, but external drives stay invisible and every folder reports an unknown storage type. Installed from the Snap Store, --dangerous is not needed.

ℹ️ The two "Source code" entries at the bottom of the asset list are added automatically by GitHub and contain no dupEx program files — please ignore them.