- libclamav-dev (*nix/macOS)
- Create a venv e.g
python3 -m venv maudeand activate it. - Clone the repo and submodules:
git clone https://github.com/allisterb/maude --recurse-submodules - Run
install.cmdon Windows orinstall.shon *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_modelin which case you should useinstall_lowmem.sh. - Download
models.zipormodels.tar.gzfrom the latest release and unzip/untar in the root repo directory so you have amodelsdirectory alongsidedocandtestet.al. Note this step is only required when installing directly from the git repo; the release archives already include themodelsfolder. - 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 theScriptsfolder 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-devor other method. See https://github.com/Cisco-Talos/clamav/blob/main/INSTALL.md for more info. - Run
maudeormaude.shfrom the root repo folder.
- Use the
start_ipfsscripts to start an IPFS instance e.g./start_ipfs.sh ipfs.log ../../go-ipfs/ipfsor set the appropriate environment variables and flags yourself based on what the script says. IPFS needs to run with the--enable-pubsub-experimentflag 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 maudeto 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/imageSeemaude --helpfor the full list of commands.
