- libclamav-dev (*nix/macOS)
- Create a venv e.g
python3 -m venv maude
and activate it. - Clone the repo and submodules:
git clone https://github.com/allisterb/maude --recurse-submodules
- Run
install.cmd
on Windows orinstall.sh
on *nix/macOS. On systems with a small amount of memory like a VPS you may get an error likeinstall.sh: line 5: 382383 Killed pip install ext/nsfw_model
in which case you should useinstall_lowmem.sh
. - Download
models.zip
ormodels.tar.gz
from the latest release and unzip/untar in the root repo directory so you have amodels
directory alongsidedoc
andtest
et.al. Note this step is only required when installing directly from the git repo; the release archives already include themodels
folder. - To use Microsoft PhotoDNA hashing you must put the
PhotoDNAx64.dll
(Windows) orPhotoDNAx64.so
(Mac) where the maude Python interpreter can find it: e.g. on Windows in theScripts
folder of your maude Python venv. See here for more info. - On Windows the
libclamav*
DLLs are bundled with maude however on other platforms you'll have to install it yourself using your package manager e.g.sudo apt-get install libclamav-dev
or other method. See https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md for more info. - Run
maude
ormaude.sh
from the root repo folder.
- Use the
start_ipfs
scripts to start an IPFS instance e.g./start_ipfs.sh ipfs.log ../../go-ipfs/ipfs
or set the appropriate environment variables and flags yourself based on what the script says. IPFS needs to run with the--enable-pubsub-experiment
flag and JSON log output. See the script for full details. - If this is the first time you are running maude you will need to generate a keypair for your instance:
maude[.sh] crypto gen
. - To start the maude server in monitor mode say
maude[.sh] server monitor
. This will start monitoring a local IPFS node using the node's logs and will detect when a CID is pinned locally. maude tries to detect the type of file being pinned like a binary executable or archive or a document like a pdf or a media file like an image or video. It then runs different classifiers and detectors on the file like computer vision models that can detect NSFW images and videos, and malware detectors like ClamAV and YARA rulesets on binary executables and archives. maude publishes the raw classification data to an IPFS pubsub topic. - You can subscribe to the topic e.g
ipfs pubsub sub maude
to see the data maude publishes on pinned files. - There are other maude commands for running the ML models and scanners on local files e.g.
maude image classify --nudenet /path/to/a/image
Seemaude --help
for the full list of commands.