diff --git a/MANIFEST.in b/MANIFEST.in deleted file mode 100644 index ca4758c..0000000 --- a/MANIFEST.in +++ /dev/null @@ -1,3 +0,0 @@ -include LICENSE README.md -recursive-include docs * -recursive-include misc * diff --git a/README.md b/README.md index b7c584a..c4ef10e 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,50 @@ # uvscand A python daemon to perform virus scans with uvscan (McAfee) over TCP socket, mainly used in conjunction with the antivirus module of rspamd. -## Developer information -Everyone who wants to improve or extend this project is very welcome. - ## Installation -git clone https://github.com/spacefreak86/uvscand -cd uvscand -python3 setup.py build -python3 setup.py install - -cp docs/uvscand.conf /etc/ - -cat << 'EOF'>> /etc/systemd/system/uvscand.service -[Unit] -Description=uvscand Service -After=multi-user.target -[Service] -Type=simple -Restart=always -ExecStart=/usr/bin/python3 /usr/local/bin/uvscand -[Install] -WantedBy=multi-user.target -EOF - -systemctl restart uvscand -systemctl status uvscand -systemctl enable uvscand - -cat << 'EOF'>> /etc/rspamd/local.d/antivirus.conf -uvscan { - scan_mime_parts = true; - scan_text_mime = true; - scan_image_mime = true; - type = "clamav"; - symbol = "MCAFEE_VIRUS"; - servers = "127.0.0.1:10060"; - action = "reject"; -} -EOF -systemctl restart rspamd + +```bash +git clone https://github.com/spacefreak86/uvscand +cd uvscand + +# build and install uvscand package +python3 -m build +python3 -m pip install . + +# copy config file +cp docs/uvscand.conf /etc/ + +# install systemd service +cat << 'EOF'>> /etc/systemd/system/uvscand.service +[Unit] +Description=uvscand Service +After=multi-user.target +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/python3 /usr/local/bin/uvscand +[Install] +WantedBy=multi-user.target +EOF + +systemctl restart uvscand +systemctl status uvscand +systemctl enable uvscand + +cat <<'EOF' >>/etc/rspamd/local.d/antivirus.conf +uvscan { + scan_mime_parts = true; + scan_text_mime = true; + scan_image_mime = true; + type = "clamav"; + symbol = "MCAFEE_VIRUS"; + servers = "127.0.0.1:10060"; + action = "reject"; +} +EOF +systemctl restart rspamd +``` + +## Developer information + +Everyone who wants to improve or extend this project is very welcome. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..4cf900c --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,25 @@ +[tool.setuptools.packages.find] +include = ["uvscand"] + +[project] +name = "uvscand" +version = "0.0.6" +requires-python = ">=3.11" +authors = [ + {name = "Thomas Oettli", email = "spacefreak@noop.ch"} +] +maintainers = [ + {name = "Thomas Oettli", email = "spacefreak@noop.ch"} +] +description = "A python daemon to perform virus scans with uvscan (McAfee) over TCP socket." +readme = "README.md" +license = "GPL-3.0-only" +keywords = ["uvscan", "virus", "rspamd", "mail"] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: System Administrators", + "Programming Language :: Python :: 3" +] + +[project.scripts] +uvscand = "uvscand:main" diff --git a/setup.py b/setup.py deleted file mode 100644 index 3c129bd..0000000 --- a/setup.py +++ /dev/null @@ -1,34 +0,0 @@ -from setuptools import setup - -def read_file(fname): - with open(fname, 'r') as f: - return f.read() - -setup(name = "uvscand", - version = "0.0.5", - author = "Thomas Oettli", - author_email = "spacefreak@noop.ch", - description = "A python daemon to perform virus scans with uvscan (McAfee) over TCP socket.", - license = "GPL 3", - keywords = "rspamd uvscan", - url = "https://github.com/spacefreak86/uvscand", - packages = ["uvscand"], - long_description = read_file("README.md"), - classifiers = [ - # 3 - Alpha - # 4 - Beta - # 5 - Production/Stable - "Development Status :: 3 - Alpha", - "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", - "Operating System :: OS Independent", - "Programming Language :: Python", - "Programming Language :: Python :: 3", - "Topic :: Communications :: Email :: Virus" - ], - entry_points = { - "console_scripts": [ - "uvscand=uvscand:main" - ] - }, - python_requires = ">=3.7" -)