mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-03-01 05:48:23 +03:00
- Trim hashes to 8 characters instead of 12. Saves ~10MB by default. - Optimized databases. Saves ~8MB by default. - Deduplicated strings. Saves ~12MB by default. idle usage on arm64 - With defaults: ~165MB, previously ~195MB - With all databases: ~350MB, previously ~650MB Signed-off-by: Tad <tad@spotco.us>
44 lines
1.3 KiB
Bash
44 lines
1.3 KiB
Bash
#!/bin/sh
|
|
#License: GPL-3.0
|
|
#Description: Hypatia conversion script for ClamAV databases (GPL-2.0)
|
|
|
|
#sudo -i freshclam
|
|
origDir="$PWD"
|
|
mkdir /tmp/mss
|
|
mkdir /tmp/mss/optimized
|
|
mkdir /tmp/mss/processed
|
|
cd /tmp/mss
|
|
cp /var/lib/clamav/main.c*d .
|
|
cp /var/lib/clamav/daily.c*d .
|
|
sigtool -u main.c*d
|
|
sigtool -u daily.c*d
|
|
|
|
#MD5
|
|
grep "Andr\\." main.hdb >> Android.hdb
|
|
grep "Andr\\." daily.hdb >> Android.hdb
|
|
grep "Unix\\." main.hdb >> Android.hdb
|
|
grep "Unix\\." daily.hdb >> Android.hdb
|
|
grep "Multios\\." main.hdb >> Android.hdb
|
|
grep "Multios\\." daily.hdb >> Android.hdb
|
|
|
|
#SHA
|
|
grep "Andr\\." main.hsb >> Android.hsb
|
|
grep "Andr\\." daily.hsb >> Android.hsb
|
|
grep "Unix\\." main.hsb >> Android.hsb
|
|
grep "Unix\\." daily.hsb >> Android.hsb
|
|
grep "Multios\\." main.hsb >> Android.hsb
|
|
grep "Multios\\." daily.hsb >> Android.hsb
|
|
|
|
databases=("Android.hdb" "Android.hsb" "main.hdb" "main.hsb" "daily.hdb" "daily.hsb");
|
|
for db in "${databases[@]}"
|
|
do
|
|
#remove unnecessary bits to reduce file size and app memory usage
|
|
python "$origDir"/optimize.py "$db" >> optimized/"$db";
|
|
#sort to increase compression efficiency
|
|
sort -k3 -t ":" --parallel=$(nproc) --output processed/"$db" optimized/"$db";
|
|
done;
|
|
|
|
gzip -k /tmp/mss/*.hdb
|
|
gzip -k /tmp/mss/*.hsb
|
|
gzip -k /tmp/mss/processed/*.hdb
|
|
gzip -k /tmp/mss/processed/*.hsb
|