fangfrisch 1.9.0.dev1__tar.gz → 1.9.0.dev3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {fangfrisch-1.9.0.dev1/fangfrisch.egg-info → fangfrisch-1.9.0.dev3}/PKG-INFO +1 -1
  2. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/combined.conf +28 -1
  3. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/example.conf +3 -0
  4. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/fangfrisch.adoc +41 -8
  5. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/fangfrisch.pdf +5052 -3049
  6. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/index.html +194 -23
  7. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/internal.conf +27 -1
  8. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/usage.txt +1 -1
  9. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/__init__.py +1 -1
  10. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/__init__.py +1 -0
  11. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/config.py +14 -5
  12. fangfrisch-1.9.0.dev3/fangfrisch/config/fangfrischnews.py +36 -0
  13. fangfrisch-1.9.0.dev3/fangfrisch/config/interserver.py +39 -0
  14. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/refresh.py +1 -1
  15. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3/fangfrisch.egg-info}/PKG-INFO +1 -1
  16. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch.egg-info/SOURCES.txt +2 -0
  17. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/setup.cfg +1 -1
  18. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_config.py +16 -0
  19. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/LICENSE +0 -0
  20. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/MANIFEST.in +0 -0
  21. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/README.rst +0 -0
  22. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/docs/Makefile +0 -0
  23. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/__main__.py +0 -0
  24. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/malwarepatrol.py +0 -0
  25. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/sanesecurity.py +0 -0
  26. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/securiteinfo.py +0 -0
  27. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/config/urlhaus.py +0 -0
  28. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/db.py +0 -0
  29. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/download.py +0 -0
  30. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/dump.py +0 -0
  31. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/log.py +0 -0
  32. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch/util.py +0 -0
  33. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch.egg-info/dependency_links.txt +0 -0
  34. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch.egg-info/entry_points.txt +0 -0
  35. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch.egg-info/requires.txt +0 -0
  36. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/fangfrisch.egg-info/top_level.txt +0 -0
  37. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/pyproject.toml +0 -0
  38. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_db.py +0 -0
  39. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_download.py +0 -0
  40. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_dump.py +0 -0
  41. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_log.py +0 -0
  42. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_refresh.py +0 -0
  43. {fangfrisch-1.9.0.dev1 → fangfrisch-1.9.0.dev3}/tests/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fangfrisch
3
- Version: 1.9.0.dev1
3
+ Version: 1.9.0.dev3
4
4
  Summary: Update and verify unofficial Clam Anti-Virus signatures
5
5
  Home-page: https://github.com/rseichter/fangfrisch
6
6
  Author: Ralph Seichter
@@ -10,6 +10,31 @@ local_directory = /var/lib/clamav
10
10
  on_update_exec = clamdscan --reload
11
11
  on_update_timeout = 42
12
12
 
13
+ [fangfrischnews]
14
+ interval = 12h
15
+ local_directory = /tmp
16
+ max_size = 50KB
17
+ script = /path/to/script/fangfrisch-has-news.sh
18
+ on_update_exec = sh -c "[ ! -r ${script} ] || ${script} ${local_directory}"
19
+ prefix = http://mirror.sentries.org/fangfrisch/
20
+ url_alerts = ${prefix}fangfrisch_alerts.txt
21
+ url_news = ${prefix}fangfrisch_news.txt
22
+
23
+ [interserver]
24
+ interval = 1h
25
+ integrity_check = disabled
26
+ max_size = 5MB
27
+ prefix = http://sigs.interserver.net/
28
+ !url_shell_hdb = ${prefix}shell.hdb
29
+ !url_shellb_db = ${prefix}shellb.db
30
+ url_interserver256 = ${prefix}interserver256.hdb
31
+ url_shell_ldb = ${prefix}shell.ldb
32
+ filename_shell_ldb = interservershell.ldb
33
+ url_topline = ${prefix}interservertopline.db
34
+ url_whitelist_fp = ${prefix}whitelist.fp
35
+ filename_whitelist_fp = interserverwhitelist.fp
36
+ enabled = yes
37
+
13
38
  [malwarepatrol]
14
39
  interval = 1d
15
40
  integrity_check = disabled
@@ -78,7 +103,8 @@ prefix = https://www.securiteinfo.com/get/signatures/${customer_id}/
78
103
  !url_0hour = ${prefix}securiteinfo0hour.hdb
79
104
  !url_old = ${prefix}securiteinfoold.hdb
80
105
  !url_securiteinfo_mdb = ${prefix}securiteinfo.mdb
81
- !url_spam_marketing = ${prefix}spam_marketing.ndb
106
+ !url_securiteinfo_pdb = ${prefix}securiteinfo.pdb
107
+ !url_securiteinfo_yara = ${prefix}securiteinfo.yara
82
108
  url_android = ${prefix}securiteinfoandroid.hdb
83
109
  url_ascii = ${prefix}securiteinfoascii.hdb
84
110
  url_html = ${prefix}securiteinfohtml.hdb
@@ -86,6 +112,7 @@ url_javascript = ${prefix}javascript.ndb
86
112
  url_pdf = ${prefix}securiteinfopdf.hdb
87
113
  url_securiteinfo = ${prefix}securiteinfo.hdb
88
114
  url_securiteinfo_ign2 = ${prefix}securiteinfo.ign2
115
+ url_spam_marketing = ${prefix}spam_marketing.ndb
89
116
  enabled = yes
90
117
 
91
118
  [urlhaus]
@@ -11,6 +11,9 @@ max_size = 5MB
11
11
  on_update_exec = clamdscan --reload
12
12
  on_update_timeout = 42
13
13
 
14
+ [interserver]
15
+ enabled = yes
16
+
14
17
  [malwarepatrol]
15
18
  enabled = yes
16
19
  # Replace with your personal Malwarepatrol receipt
@@ -1,6 +1,6 @@
1
1
  # Fangfrisch
2
2
  Ralph Seichter <fangfrisch@seichter.de>
3
- v1.9.0.dev1, {docdate}
3
+ v1.9.0.dev3, {docdate}
4
4
  :copyright: © 2020-2024 Ralph Seichter
5
5
  :encoding: UTF-8
6
6
  :hyphens: en
@@ -17,6 +17,7 @@ v1.9.0.dev1, {docdate}
17
17
  Fangfrisch (German for "freshly caught") is a sibling of the https://www.clamav.net[Clam Anti-Virus] freshclam utility.
18
18
  It allows downloading virus definition files that are not official ClamAV canon, e.g. from https://sanesecurity.com[Sanesecurity] and https://urlhaus.abuse.ch[URLhaus].
19
19
  Fangfrisch was designed with security in mind, to be run by an unprivileged user only.
20
+ For those curious about the development history, a https://github.com/rseichter/fangfrisch/blob/master/CHANGELOG.rst[changelog] is available online.
20
21
 
21
22
  == License
22
23
 
@@ -158,23 +159,30 @@ If providers don't respond with content length information, Fangfrisch will log
158
159
  * *on_update_exec*: If any files were downloaded during a pass, a command can be executed in after the pass finishes.
159
160
  No default.
160
161
  A typical value is `clamdscan --reload`.
162
+ Starting with Fangfrisch 1.9.0, this option may be overridden in individual sections, permitting per-provider actions.
161
163
  * *on_update_timeout*: Timeout for the `on_update_exec` command, in seconds.
162
164
  Default: 30.
165
+ This option may also be overridden in individual sections.
163
166
 
164
167
  See https://docs.python.org/3.7/library/configparser.html[here] for details about the configuration parser and extended interpolation.
165
168
  <<Semantics>> provides additional information on how configuration options are interpreted.
166
169
 
167
170
  === Default providers
168
171
 
169
- Fangfrisch contains internal defaults for the following providers (in alphabetical order):
172
+ Fangfrisch contains internal defaults for the following providers, listed in alphabetical order:
170
173
 
174
+ * http://sigs.interserver.net/[InterServer]
171
175
  * https://www.malwarepatrol.net[Malwarepatrol]
172
176
  * https://sanesecurity.com[Sanesecurity]
173
177
  * https://www.securiteinfo.com/services/anti-spam-anti-virus/improve-detection-rate-of-zero-day-malwares-for-clamav.shtml[SecuriteInfo]
174
178
  * https://urlhaus.abuse.ch[URLhaus]
175
179
 
176
- The internal default values for providers can be used by specifiying `enabled = yes` in the desired sections.
177
- Some providers require additional configuration as shown in the following example.
180
+ I have also included "Fangfrisch News" (see <<ffnews>>).
181
+ Providers can be enabled by specifiying `enabled = yes` in the desired configuration file sections.
182
+
183
+ IMPORTANT: Please make sure to examine the respective settings for yourself before enabling providers.
184
+
185
+ The defaults may not suit your personal preferences, and some providers require additional configuration, e.g. an access token.
178
186
 
179
187
  ----
180
188
  include::example.conf[]
@@ -271,7 +279,7 @@ An example crontab looks like this:
271
279
  HOME=/var/lib/fangfrisch
272
280
  LOG_LEVEL=INFO
273
281
  # minute hour day-of-month month day-of-week user command
274
- */10 * * * * clamav venv/bin/fangfrisch --conf /etc/fangfrisch.conf refresh
282
+ */10 * * * * clamav sleep $((RANDOM \% 42)); venv/bin/fangfrisch --conf /etc/fangfrisch.conf refresh
275
283
  ----
276
284
 
277
285
  == Support
@@ -330,8 +338,10 @@ See Heather McNamee's blog https://about.gitlab.com/blog/2016/03/03/start-with-a
330
338
  == Default configuration
331
339
 
332
340
  Fangfrisch contains the following internal configuration settings as defaults.
333
- All sections are disabled, and entries with the `!url_` prefix are included for reference only.
334
- These represent data sources which either have a high risk of false positives or are not free to use.
341
+ As a safety measure, all sections are disabled by default.
342
+ Entries with the `!url_` prefix are included for reference only.
343
+ These represent data sources which are not recommended for general use.
344
+ Possible reasons: Some sources have an elevated risk of false positives, are not free to use, or contain legacy data.
335
345
  Enabling a section will not enable these specially prefixed entries.
336
346
 
337
347
  ----
@@ -348,13 +358,36 @@ The following effective configuration is the result of combining internal defaul
348
358
  include::combined.conf[]
349
359
  ----
350
360
 
361
+ [[ffnews]]
362
+ [appendix]
363
+ == Fangfrisch News
364
+
365
+ This pseudo provider does not offer antivirus signature files.
366
+ It is only meant for me to pass news about Fangfrisch to you, the user, in lieu of a mailing list.
367
+ Don't expect this to happen on a regular basis.
368
+ I am only thinking about release notifications at this point in time.
369
+ Still, I kindly ask you to please enable this service as you would enable any other provider, by adding the following to your configuration file:
370
+ ----
371
+ [fangfrischnews]
372
+ enabled = yes
373
+ # Uncomment/adapt the following to trigger a script in case of news.
374
+ # script = /path/to/script/fangfrisch-has-news.sh
375
+ ----
376
+ This will only enable Fangfrisch to occasionally download small text files, nothing more.
377
+ You will not need to read the content, nor will anything else happen, unless you modify the `script` option.
378
+ Here is an example script which you could use to have downloaded news items mailed to you.
379
+ It needs to be readable for the user account running Fangfrisch, and the sender/recipient addresses obviously have to be adapted.
380
+ For your convenience, the latest version of the script can be downloaded https://github.com/rseichter/fangfrisch/blob/master/contrib/process-news.sh[here].
381
+ ----
382
+ include::../contrib/process-news.sh[]
383
+ ----
384
+
351
385
  [[dbstructure]]
352
386
  [appendix]
353
387
  == Database structure
354
388
 
355
389
  While users can technically access the Fangfrisch backend database directly, its structure and content are considered *private*.
356
390
  They may change at any time, without notice.
357
- Related complaints will be filed under https://en.wikipedia.org/wiki/Somebody_else%27s_problem[SEP].
358
391
 
359
392
  === Accessing mappings
360
393