This README was last updated on 27 February 2021.

Readme for ClamTk

Table of contents:

  1. About
  2. Installation
  3. Usage
  4. Plugins
  5. Troubleshooting
  6. Contributing
  7. Other
  8. Thank you
  9. Contact

About

ClamTk is a frontend for ClamAV (Clam Antivirus). It is intended to be an easy to use, light-weight, on-demand scanner for Linux systems.

Although its earliest incarnations date to 2003, ClamTk was first uploaded for distribution in 2004 to a rootshell.be account and finally to Sourceforge.net in 2005. At the end of 2013, it was moved to a Google Code page, then to Github, Gitlab, and Bitbucket. It is now 2021 and for some reason development is still going. In fact, February 2021 marks 17 years of activity (of being publicly available, that is).

Plans

Version 7 will likely have a new design, and will almost certainly use a different language.

ClamTk:
https://gitlab.com/dave_m/clamtk/
https://gitlab.com/dave_m/clamtk/wikis/home
https://github.com/dave-theunsub/clamtk/
https://launchpad.net/clamtk

https://code.google.com/p/clamtk/ (deprecated)
http://clamtk.sourceforge.net (deprecated)
https://dave-theunsub.github.io/clamtk/ (deprecated)
https://bitbucket.org/davem_/clamtk-gtk3/ (deprecated)
https://bitbucket.org/davem_/clamtk/ (deprecated)

ClamAV
Gtk2-Perl
Gtk3
Virustotal

Installation

RPMs

The easiest way to install ClamTk is to use the rpms. The commands dnf and yum will pull in requirements.

First, start with the official repositories.

sudo yum install clamtk or sudo dnf install clamtk.

If this does not work, download the file from the official site. You should be able to just double click the file for installation or upgrade.

For these examples, we will use version 6.06. The name of the file may differ based on your distribution.

To install using a terminal window:

sudo yum install clamtk-6.06-1.el8.noarch.rpm or sudo dnf install clamtk-6.06-1.fc.noarch.rpm

To remove clamtk:

sudo yum erase clamtk or sudo dnf erase clamtk.

Source

Warning: Don't do this. It's much easier to just double click a .deb or .rpm. Really, put down the source.

The tarball contains all the sources. One way to do this, as tested on Fedora, is to run the following commands:

tar xzf clamtk-6.06.tar.xz sudo mkdir -p /usr/share/perl5/vendor_perl/ClamTk sudo cp lib/*.pm /usr/share/perl5/vendor_perl/ClamTk sudo chmod +x clamtk sudo cp clamtk /usr/local/bin (or /usr/bin)

Examples:

$ perl clamtk

or

$ chmod +x /path/to/clamtk
$ /path/to/clamtk

DEBs

You should be able to just double click the .deb file to install it. Your package manager should retrieve any necessary dependencies.

From the commandline, you can do this:

sudo apt install clamtk

If you downloaded the file, then use this:

sudo apt install clamtk_6.06-1_all.deb

To remove clamtk:

sudo dpkg --purge clamtk

Note that the Debian/Ubuntu builds are and always have been gpg-signed.

Integrity

It is recommended you install ClamTk from official repositories. Check your distribution first, and always install from trusted sources.

While the Debian/Ubuntu .debs have always been digitally signed, the rpms have not. Beginning with 5.22, you can once again check the rpm's signature to verify its integrity. Here's one way:

  1. Get and import the key in one step:
    rpm --import https://davem.fedorapeople.org/RPM-GPG-KEY-DaveM-21-June-2018
  2. Verify the list of gpg keys installed in RPM DB:
    rpm -q gpg-pubkey --qf '%{name}-%{version}-%{release} --> %{summary}\n'
  3. Check the signature of the rpm. For this example, we'll use version 6.06:
    rpm --checksig clamtk-6.06-1.fc.noarch.rpm
  4. You should see something like this:
    /home/you/clamtk-6.06-1.fc.noarch.rpm: rsa sha1 (md5) pgp md5 OK

You can also verify the tarball. Using 6.06 as the example version, ensure you have downloaded the tarball, its detached signature (.asc), and the key in step 1 above.

  1. Get the key (skip this step if you already have it):
    wget https://davem.fedorapeople.org/RPM-GPG-KEY-DaveM-21-June-2018
  2. Import it (skip this step if you have done it already):
    gpg --import RPM-GPG-KEY-DaveM-21-June-2018
  3. Verify like so:
    gpg2 --verify clamtk-6.06.tar.xz.asc clamtk-6.06.tar.gz or
    gpg --verify clamtk-6.06.tar.xz.asc clamtk-6.06.tar.xz
  4. You should see something like this:
    gpg: Signature made Sun 11 Sep 2016 06:29:41 AM CDT using RSA key ID (snipped for brevity).

You can now use minisign, too!
Minisign

First, you will need my public minisign key:
Public minisign key

Then, you will need the minisig file for the program you are verifying.

A link to it will be with the rest of the downloads.

For this example:
https://bitbucket.org/davem_/clamtk-gtk3/downloads/clamtk-6.06.tar.xz.minisig

Now, you verify like so:

minisign -V -x clamtk-6.06.tar.xz.minisig -p davemminisign.pub -m clamtk-6.06.tar.xz

Usage

Running ClamTk

Commandline

ClamTk can run from the commandline, too:

clamtk file_to_be_scanned

or

clamtk directory_to_be_scanned

The main reason for the commandline option (however basic) is to allow for right-click scanning within your file manager (e.g., Files, Caja, or Dolphin). If you require more extensive commandline options, it is recommended that you use the clamscan executable itself. (Type man clamscan at the commandline.)

Afterwards

You can view and delete scan logs by selecting the "History" option.

You also have a few options with the files displayed. Click on the file scanned to select it, then right-click: you should have four options there.

Quarantine/Maintenance

If you've quarantined files for later examination, you have the option to restore them to their previous location (if known), or delete them.

Plugins

To add a right-click, context menu ability to send files and directories to the scanner, install the appropriate plugin. Links to the latest versions are available here:

https://gitlab.com/dave_m/clamtk/wikis/Downloads

Here are the specific pages:

For Gnome (Files file manager):
https://gitlab.com/dave_m/clamtk-gnome

For KDE (Dolphin file manager):
https://gitlab.com/dave_m/clamtk-kde

For XFCE (Thunar file manager):
https://gitlab.com/dave_m/thunar-sendto-clamtk

For Mate (Nemo file manager):
https://gitlab.com/dave_m/nemo-sendto-clamtk

Troubleshooting

Limitations/Bugs

Probably a lot. Let me know, please. Ranting on some bulletin board somewhere on one of dozens of Linux sites will not fix bugs or improve the program. See the section below for contact info.

Contributing

Locale/Internationalization

ClamTk has supported multiple languages for many years now. Have time on your hands and want to contribute? See the Launchpad page.

Note that some builds do not account for other than English languages because they have not yet updated their build/spec files. A polite email to the respective maintainer may fix this.

Other

As of version 3.10, ClamTk will not scan standard mail directories, such as .evolution, .mozilla or .thunderbird. This is due to parsing problems. If a smart way of doing that comes up, it will be added.

Also, please note that version numbers mean absolutely nothing. There is no rhyme or reason to odd or even numbers (i.e., an odd number does not mean "unstable"). A new version means it goes up 1 (or, rather, .01).

GUI

ClamTk started out using the Tk libraries (thus its name). In 2005, this was changed to perl-Gtk2 (or Gtk2-perl, whatever). The Tk version is still available on sourceforge.net but has not been updated for some time now and should not be used.

The plan for the 5.xx series was to use Gtk3. Unfortunately, Debian and Ubuntu did not have a recent version of libgtk3-perl, and CentOS did not have perl-Gtk3. So, at the last second, the 5.00 version was rewritten to use Gtk2. Again.

Version 6.xx has been written to use Gtk3, as Gtk2 is deprecated. There's no new design this time, as this was an effort to ensure the Gtk3 version could be included in upcoming distribution releases (such as with Debian). The 6.xx series is in its own git repository (usually clamtk-gtk3), so that the older 5.xx series will still be there for distributions that do not have Gtk3.

Version 7.xx will likely have a new design, and may be written in a different language as well.

And there's also a Gtk4 in the works...

Thank you

Many people have contributed their time, energy, opinions, recommendations, and expertise to this software. I cannot thank them enough. Their names are listed in the credits file.

Also a big thank you to:

Contact

For feature requests or bugs, it is best to use one of the following:

https://gitlab.com/dave_m/clamtk/issues
https://launchpad.net/clamtk

While we recommend opening an official bug on the appropriate page, we will also accept email.