 ______________________________________________________________________________
|                                                                              |
|   VirusTotal v0.01                    (c) 2019+ Pepak, http://www.pepak.net  |
|______________________________________________________________________________|

This plugin allows FAR Manager users to easily verify the status of an
executable file at VirusTotal.com. When executed, the plugin will communicate
with the server and if there is a report for that file, display it; otherwise
it will upload the file to VirusTotal and wait for a new report to be
generated, then display that report.



INSTALLATION
------------

Before you can use the plugin, two prerequisites need to be met:

1) The plugin requires that OpenSSL version 1.0 or newer must be available
   in a directory from which DLL files are loaded. That generally means
   either the FAR Manager's root directory (%FARHOME%), Windows system
   directory (C:\WINDOWS\SYSTEM32, C:\WINDOWS\SYSWOW64) or a directory with
   the system's PATH. I recommend the FAR directory. Note that the plugin's
   directory will not work, unless it's in the PATH!

   If this prerequisite is not satisfied, you will get an error message
   "SSL/TLS support is not compiled!".

2) You will need to obtain a VirusTotal API key. This can be done for free
   at https://www.virustotal.com/gui/join-us. This is a requirement of
   VirusTotal, without the key no VirusTotal API services can be used.
   The API key can be entered in the plugin's configuration where you can
   also set various limits on the use of the service. The predefined values
   are tailored to the free API key according to the current documentation
   (as of November 2019, may need changing if the terms of service change).
   You may obtain a private API key with lower limits, possibly.



USAGE
-----

In order to verify a file at VirusTotal, select that file on a regular file
panel and activate the plugin. A hash of the file will be calculated and
sent to VirusTotal servers. If a report exists for that hash, it will be
displayed. If there is no such report, the file will get uploaded to the
VirusTotal servers and put into the analysis queue; once processed, the
new report will be displayed. Note that this process can take quite a long
time, in my tests, two or three minutes were not unusual.

In the report view, antimalware which detected a problem are listed first,
alphabetically, followed by the non-detecting antimalware. You can search
in the list by the name of the antivirus or the name of the malware. You
can also request a re-scan by pressing the Re-scan button (or F5). By
default, the file will get uploaded again, but you can attempt to enable
the rescan API in the configuration; unfortunately, I was never able to
get it to work, my API key was always refused as not having sufficient
privileges.



LICENSE
-------

The plugin is released under the Modified (3-clause) BSD License. See
license.txt for details.



BUILDING THE PLUGIN
-------------------

You will need Delphi version at least XE2. Older versions are not supported.
Newer versions should work fine.

Make sure the chosen Delphi's BIN directory is in the PATH, go into the
SOURCE directory and run BUILD. You should get a new Filters.dll in the BIN
directory.

You can use several command-line options with BUILD. The most important are:

    FAR2 ........ Build the FAR2 version of the plugin.
    FAR3 ........ Build the FAR3 version of the plugin (default).
    X86 ......... Build the 32-bit version of the plugin (default).
    X64 ......... Build the 64-bit version of the plugin.



CONTACT
-------

If you have any questions or want to suggest a new feature, you can do so
either in the english section of FAR Manager's forums ( http://forum.farmanager.com ),
or my own forums ( http://forum.pepak.net ).
