{"id":13465978,"url":"https://github.com/nextcloud/files_antivirus","last_synced_at":"2025-04-05T00:07:39.177Z","repository":{"id":39797544,"uuid":"67203815","full_name":"nextcloud/files_antivirus","owner":"nextcloud","description":"👾 Antivirus app for Nextcloud Files","archived":false,"fork":false,"pushed_at":"2025-03-28T14:36:14.000Z","size":2688,"stargazers_count":90,"open_issues_count":76,"forks_count":37,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-28T23:05:59.134Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://apps.nextcloud.com/apps/files_antivirus","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nextcloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-02T08:09:36.000Z","updated_at":"2025-03-28T14:36:16.000Z","dependencies_parsed_at":"2024-03-08T20:43:26.084Z","dependency_job_id":"f96fbe65-f267-4d11-b96a-0fed691d331a","html_url":"https://github.com/nextcloud/files_antivirus","commit_stats":{"total_commits":1115,"total_committers":76,"mean_commits":"14.671052631578947","dds":0.6672645739910315,"last_synced_commit":"93abbce07da454b8f465c3d67ba5aa764a77e2f7"},"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_antivirus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_antivirus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_antivirus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nextcloud%2Ffiles_antivirus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nextcloud","download_url":"https://codeload.github.com/nextcloud/files_antivirus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266563,"owners_count":20910836,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T15:00:37.579Z","updated_at":"2025-04-05T00:07:39.144Z","avatar_url":"https://github.com/nextcloud.png","language":"JavaScript","funding_links":[],"categories":["Apps"],"sub_categories":["Official"],"readme":"\u003c!--\n   - SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors\n   - SPDX-FileCopyrightText: 2012-2016 ownCloud, Inc.\n   - SPDX-License-Identifier: AGPL-3.0-only\n--\u003e\n# Nextcloud Antivirus for Files\n[![REUSE status](https://api.reuse.software/badge/github.com/nextcloud/files_antivirus)](https://api.reuse.software/info/github.com/nextcloud/files_antivirus)\n[![Build Status](https://travis-ci.org/nextcloud/files_antivirus.svg?branch=master)](https://travis-ci.org/nextcloud/files_antivirus/branches)\n[![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/nextcloud/files_antivirus/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/files_antivirus/?branch=master)\n[![Code Coverage](https://scrutinizer-ci.com/g/nextcloud/files_antivirus/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/nextcloud/files_antivirus/?branch=master)\n\n`files_antivirus` **is an antivirus app for [Nextcloud](https://nextcloud.com/) using [ClamAV](http://www.clamav.net) or Kaspersky.**\n\n![](https://raw.githubusercontent.com/nextcloud/files_antivirus/master/screenshots/1.png)\n\n## Features\n\n* :chipmunk: When the user uploads a file, it's checked\n* :biohazard: Infected files will be deleted and a notification will be shown and/or sent via email \n* :mag_right: It runs a background job to scan all files\n* :safety_vest: It will block all uploads if the file cannot be checked to ensure all files are getting scanned.\n\n## Requirements\n\nOne of\n\n* ClamAV as binaries on the Nextcloud server\n* ClamAV running in daemon mode\n* Kaspersky Scan Engine running in HTTP mode\n* Any virus scanner supporting ICAP (ClamAV and Kaspersky are tested, others *should* work)\n\n## Install\n\nDocumentation about installing ClamAV and this app can be found in [our documentation](https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/antivirus_configuration.html).\n\n## ClamAV Details\n\nThis app can be configured to work with the executable or the daemon mode (recommended :heart:) of ClamAV. If this is used in daemon mode, it can connect through network or local file-socket. In daemon mode, it sends files to a remote/local server using the `INSTREAM` command.\n\n## Kaspersky HTTP Details\n\nWhen running Kaspersky in HTTP mode the [`SessionTimeout`](https://support.kaspersky.com/ScanEngine/2.1/en-US/201030.htm) will need to be set to a value higher than default, a value of 10 minutes (600000 millisecond) or higher is recommended to properly deal with larger uploads\n\n## ICAP (version 5.0 and later)\n\nThe app support the ICAP protocol which is a standard supported by various antivirus software products.\n\nSome additional configuration is required depending on the antivirus software used:\n\n- ICAP service: The name of the service the antivirus software expects\n- ICAP virus response header: The name of the header the antivirus software send the details of the detected virus in\n\n### ClamAV ICAP\n\n- ICAP service: `avscan`\n- ICAP virus response header: `X-Infection-Found`\n\n### Kaspersky ICAP\n\n- ICAP service: `req`\n- ICAP virus response header: `X-Virus-ID`\n\nAdditionally, the Kaspersky scan engine needs some additional configuration:\n\n- [\"Allow204\"](https://support.kaspersky.com/ScanEngine/1.0/en-US/201151.htm) should be enabled.\n- For version 2.0 and later, the [virus response header](https://support.kaspersky.com/ScanEngine/1.0/en-US/201214.htm) needs to be configured\n\n### TLS Encryption\n\nUsing TLS encryption for the ICAP connection is supported, this requires the ICAP server to use a valid certificate.\nIf the certificate isn't signed by a trusted certificate authority, you can import the certificate into Nextcloud's\ncertificate bundle using\n\n```shell\nocc security:certificates:import /path/to/certificate\n```\n\n### Timeouts of background scan\nFor the background scan to work reliably when using php-fpm for Nextcloud, you need to adjust the `default_socket_timeout` in php-fpm to a bigger value than the default of 60 seconds. Depending on how long the scan takes, a value of 600 or even higher is recommended.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Ffiles_antivirus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextcloud%2Ffiles_antivirus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextcloud%2Ffiles_antivirus/lists"}