Metadata-Version: 2.0
Name: clamavmirror
Version: 0.0.4
Summary: ClamAV Signature Mirroring Tool
Home-page: https://github.com/akissa/clamavmirror
Author: Andrew Colin Kissa
Author-email: andrew@topdog.za.net
License: MPL 2.0
Description-Content-Type: UNKNOWN
Keywords: clamav mirror mirroring mirror-tool signatures
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Intended Audience :: System Administrators
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Requires-Dist: certifi
Requires-Dist: dnspython
Requires-Dist: urllib3

ClamAV Signature Mirroring Tool
===============================

Why
---

The existing
`clamdownloader.pl <https://github.com/akissa/clamav-faq/blob/master/mirrors/clamdownloader.pl>`__
script does not have any error correction it simply bails out if a
downloaded file is not valid and is unable to retry different mirrors if
one fails.

This script will retry if a download fails with an http code that is not
404, it will connect to another mirror if retries fail or file not found
or if the downloaded file is invalid.

It has options to set the locations for the working and mirror directory
as well as user/group ownership for the downloaded files. It uses
locking to prevent multiple instances from running at the same time.

Requirements
------------

-  Urllib3 module - https://urllib3.readthedocs.org
-  DNS-Python module - http://www.dnspython.org/

Usage
-----

::

    $ clamavmirror -h

Usage: clamavmirror [options]

.. code:: bash

    Options:
      -h, --help            show this help message and exit
      -a HOSTNAME, --hostname=HOSTNAME
                            ClamAV source server hostname
      -r TXTRECORD, --text-record=TXTRECORD
                            ClamAV Updates TXT record
      -w WORKDIR, --work-directory=WORKDIR
                            Working directory
      -d MIRRORDIR, --mirror-directory=MIRRORDIR
                            The mirror directory
      -u USER, --user=USER  Change file owner to this user
      -g GROUP, --group=GROUP
                            Change file group to this group
      -l LOCKDIR, --locks-directory=LOCKDIR
                            Lock files directory

Example Usage
-------------

::

    $ clamavmirror -w ~/tmp/clamavtmp/ \
    -d ~/tmp/clamavmirror/ -u andrew -g staff -a db.za.clamav.net \
    -l ~/Downloads/

Installation
------------

Install from PyPi

::

    pip install clamavmirror

Install from Githib

::

    git clone https://github.com/akissa/clamavmirror.git
    cd clamavmirror
    python setup.py install

Contributing
------------

1. Fork it (https://github.com/akissa/clamavmirror/fork)
2. Create your feature branch (``git checkout -b my-new-feature``)
3. Commit your changes (``git commit -am 'Add some feature'``)
4. Push to the branch (``git push origin my-new-feature``)
5. Create new Pull Request

License
-------

All code is licensed under the `MPLv2
License <https://github.com/akissa/clamavmirror/blob/master/LICENSE>`__.


