Add README.md
[amiga-uae-virus-scan.git] / README.md
1 UAE based Amiga virus scanner for POSIX
2 ========================================
3
4
5 What is this contraption?
6 --------------------------
7
8 A command line based Amiga virus scanner for Linux and similar systems.
9
10 Usage:
11
12 Either of
13
14     ./amiga-uae-virus-scan.sh floppy-to-test.adf
15
16 or
17
18     ./amiga-uae-virus-scan.sh directory-to-scan
19
20
21 What this can, and cannot scan
22 -------------------------------
23
24 Anything that CheckX, XAD, and XFD understand.
25
26 This includes entire ADF files.
27 However note that floppy images will be exposed to CheckX
28 as *files* rather than be mounted, thus rendering it
29 incapable of e.g. scanning IPF files.
30
31 This script will scan only one element at a time, but that
32 can be an entire folder structure.
33
34
35 If you wish to scan raw floppies in strange image formats
36 which are understood by FS-UAE, but not by CheckX, then
37 change the script to mount the image as `DF1:`
38 (see `write_uae_config()`), and to have it scan that drive
39 rather than a folder structure (see `populate_dh0()`).
40
41
42 Theory of operation
43 --------------------
44
45 This is a script that:
46
47  - prepares a virtual Amiga hard drive,
48  - installs a virus scanner onto it,
49  - copies the files to be scanned onto it,
50  - runs FS-UAE,
51  - and finally prints the results to stdout.
52
53 If you abort the process by pressing Ctrl+C, there will be
54 stale files in /tmp.
55
56
57 Dependencies
58 -------------
59
60 The script will automatically download several archives from
61 Aminet unless they have already been cached locally.
62
63 See `installer_urls` for details.
64
65
66 Security
67 ---------
68
69 The files downloaded from Aminet are checked against local
70 SHA-256 checksums.
71
72 Files to be analyzed are copied into the virtual system first,
73 to ensure that we do not have to grant it access to host files.
74 Thus, even if something exploits a security issue in the Amiga
75 virus scanner, it won't be able to break the host unless it
76 also breaks FS-UAE.
77
78
79
80 Thanks
81 =======
82
83 Acknowledgements go out to the authors of the software used,
84 as well as to Aminet for hosting it.
85
86 Thanks also to the UAE authors, and of course to the AROS
87 kickstart hackers.
88
89 This would not be possible without you.
90
91
92
93 License
94 ========
95
96 GNU General Public License v2 only.