SkillAgentSearch skills...

Clamav

ClamAV Ruby bindings

Install / Use

/learn @eagleas/Clamav
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

= ClamAV

ClamAV Ruby binding gem.

== INSTALL:

$ sudo gem install clamav

== REQUIREMENTS:

clamav >= 0.95.3, libclamav6, libclamav-dev clamav >= 0.96 is recommended

== SYNOPSIS:

Changes: Now ClamAV is a singleton. Use ClamAV.instance instead ClamAV.new. You should call ClamAV#loaddb([options]) after first call ClamAV.instance. Next run ClamAV#loaddb with another options will recreate/recompile clamav engine/database.

== ClamAV.instance

return: ClamAV instance

== ClamAV#loaddb([db_options])

DB options:

  • CL_DB_STDOPT (default) equal CL_DB_PHISHING | CL_DB_PHISHING_URLS | CL_DB_BYTECODE
  • CL_DB_PUA
  • CL_DB_CVDNOTMP
  • CL_DB_PUA_MODE
  • CL_DB_PUA_INCLUDE
  • CL_DB_PUA_EXCLUDE

See ClamAV documentation and sources for details.

== ClamAV#scanfile(filename[, options]) options default CL_SCAN_STDOPT

Options:

  • CL_SCAN_STDOPT (default) equal CL_SCAN_ARCHIVE | CL_SCAN_MAIL | CL_SCAN_OLE2 | CL_SCAN_PDF | CL_SCAN_HTML | CL_SCAN_PE | CL_SCAN_ALGORITHMIC | CL_SCAN_ELF

  • CL_SCAN_RAW

  • CL_SCAN_BLOCKENCRYPTED

  • CL_SCAN_BLOCKBROKEN

  • CL_SCAN_PHISHING_BLOCKSSL

  • CL_SCAN_PHISHING_BLOCKCLOAK

  • CL_SCAN_STRUCTURED

  • CL_SCAN_STRUCTURED_SSN_NORMAL

  • CL_SCAN_STRUCTURED_SSN_STRIPPED

  • CL_SCAN_PARTIAL_MESSAGE

  • CL_SCAN_HEURISTIC_PRECEDENCE

    return: virusname or ClamAV returncode(Fixnum)

== ClamAV#reload() reload virus database if changed

return: 1 - reload successful 0 - reload unnecessary

== ClamAV#setlimit(param, value)

== ClamAV#getlimit(param)

== ClamAV#setstring(param, value)

== ClamAV#getstring(param) get or set default values internal settings.

Params:

  • CL_ENGINE_MAX_SCANSIZE, /* integer */
  • CL_ENGINE_MAX_FILESIZE, /* integer */
  • CL_ENGINE_MAX_RECURSION, /* integer */
  • CL_ENGINE_MAX_FILES, /* integer */
  • CL_ENGINE_MIN_CC_COUNT, /* integer */
  • CL_ENGINE_MIN_SSN_COUNT, /* integer */
  • CL_ENGINE_PUA_CATEGORIES, /* string */
  • CL_ENGINE_DB_OPTIONS, /* integer */
  • CL_ENGINE_DB_VERSION, /* integer */
  • CL_ENGINE_DB_TIME, /* integer unixtime (readonly) */
  • CL_ENGINE_AC_ONLY, /* integer */
  • CL_ENGINE_AC_MINDEPTH, /* integer */
  • CL_ENGINE_AC_MAXDEPTH, /* integer */
  • CL_ENGINE_TMPDIR, /* string */
  • CL_ENGINE_KEEPTMP /* integer */

See ClamAV documentation and sources for details.

== ClamaAV#signo() get loaded signatures count

== ClamaAV#countsigs([options]) get loaded signatures count (since 0.96 engine version)

Options:

  • CL_COUNTSIGS_ALL (default)
  • CL_COUNTSIGS_OFFICIAL
  • CL_COUNTSIGS_UNOFFICIAL

== ClamaAV#version() get Clamav engine version string

== LICENSE:

GNU General Public License

Copyright(c) 2008-2009 Alexander Oryol eagle.alex@gmail.com

== THANKS:

Based on project clamavr-0.2.0

http://raa.ruby-lang.org/project/clamavr/

Copyright(c) 2003-2007 MoonWolf moonwolf@moonwolf.com

View on GitHub
GitHub Stars24
CategoryDevelopment
Updated7mo ago
Forks10

Languages

C

Security Score

67/100

Audited on Aug 24, 2025

No findings