mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-03-01 05:48:23 +03:00
Add a readme
This commit is contained in:
parent
e0dbe6a00a
commit
aef0d0fd65
4 changed files with 35 additions and 3 deletions
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
|
@ -24,7 +24,7 @@
|
||||||
</value>
|
</value>
|
||||||
</option>
|
</option>
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
32
README.md
Normal file
32
README.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
Theia
|
||||||
|
=====
|
||||||
|
|
||||||
|
Overview
|
||||||
|
--------
|
||||||
|
Theia is the worlds first FOSS malware scanner for Android. It is powered by ClamAV signature databases (GPLv3).
|
||||||
|
|
||||||
|
Features
|
||||||
|
--------
|
||||||
|
- Near zero battery impact: you'll never notice any impact on battery at all
|
||||||
|
- Extremely fast: it can scan small files (1MB) in <20ms, and even large files (40MB) in 1000ms.
|
||||||
|
- Memory efficient: with the default databases enabled it uses under 120MB.
|
||||||
|
- Regular scan: allowing selection of /system, internal storage, external storage, and installed apps
|
||||||
|
- Realtime scanner: can detect malware in realtime on write/rename in internal storage
|
||||||
|
- Completely offline: Internet is only used to download signature databases, files will never ever leave your device
|
||||||
|
- Tiny codebase: coming in at under 1000 sloc, it can be audited by even someone with basic programming experience
|
||||||
|
- Minimal dependencies: the app only uses libraries when necessary
|
||||||
|
- Signature databases can be enabled/disabled at the users demand
|
||||||
|
|
||||||
|
Technical Details
|
||||||
|
------------------
|
||||||
|
- Signature databases are ClavAV .hdb (MD5 hashes) and .hsb (SHA-1/SHA-256) format
|
||||||
|
- Signature databases will not be redownloaded if the file hasn't changed on the server (304 not modified)
|
||||||
|
- Realtime scanning powered by recursive FileObserver (Credit: @iNPUTmice)
|
||||||
|
- Signatures are stored using HashMaps for O(1) lookup
|
||||||
|
- Files have their MD5/SHA-1/SHA-256 hashes calculated in one pass
|
||||||
|
|
||||||
|
Credits
|
||||||
|
-------
|
||||||
|
- Trove (GPLv3): A memory efficient replacement for Java's Collections
|
||||||
|
- RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc., Bartek Przybylski
|
||||||
|
- Icons (Apache-2.0): Google/Android/AOSP
|
|
@ -30,7 +30,7 @@
|
||||||
android:name=".MalwareScannerService"
|
android:name=".MalwareScannerService"
|
||||||
android:label="Theia Realtime Malware Scanner"
|
android:label="Theia Realtime Malware Scanner"
|
||||||
android:enabled="true"
|
android:enabled="true"
|
||||||
android:exported="false"/>
|
android:exported="false" />
|
||||||
|
|
||||||
<receiver
|
<receiver
|
||||||
android:name=".EventReceiver"
|
android:name=".EventReceiver"
|
||||||
|
@ -44,6 +44,7 @@
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
||||||
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
<action android:name="android.intent.action.PACKAGE_ADDED" />
|
||||||
|
|
||||||
<data android:scheme="package" />
|
<data android:scheme="package" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</receiver>
|
</receiver>
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
<string name="lblUpdateDatabase">Update databases</string>
|
<string name="lblUpdateDatabase">Update databases</string>
|
||||||
<string name="lblSelectDatabases">Select databases</string>
|
<string name="lblSelectDatabases">Select databases</string>
|
||||||
<string name="lblSelectDatabasesTitle">Select databases to enable</string>
|
<string name="lblSelectDatabasesTitle">Select databases to enable</string>
|
||||||
<string name="lblStartRealtime">Start realtime scanner</string>
|
|
||||||
<string name="lblScanSystem">Scan /system</string>
|
<string name="lblScanSystem">Scan /system</string>
|
||||||
<string name="lblScanApps">Scan App APKs</string>
|
<string name="lblScanApps">Scan App APKs</string>
|
||||||
<string name="lblScanInternal">Scan Internal Storage</string>
|
<string name="lblScanInternal">Scan Internal Storage</string>
|
||||||
|
|
Loading…
Add table
Reference in a new issue