diff --git a/README.md b/README.md index f253234..1628e41 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,12 @@ Try it now: https://www.aperisolve.com + Support Aperi'Solve: + + + + + ## What is Aperi'Solve? Aperi'Solve is a platform which performs steganalysis on images.
@@ -20,28 +26,28 @@ The platform uses *layer analysis*, "*zsteg*", "*steghide*", "*outguess*", "*exi ### Why Aperi'Solve? -Aperi'Solve has been created in order to have an "easy to use" platform which performs common steganalysis tests such as LSB or `steghide`. The platform is also a quick alternative for people who didn't manage to install tools like `zsteg` (ruby gem) properly. +Aperi'Solve has been created in order to have an "easy to use" platform which performs common steganalysis tests such as LSB or `steghide`. The platform is also a quick alternative for people who were note able to install tools like `zsteg` (ruby gem) properly. ### Features -Aperi'Solve is based on Python3 with Flask and PIL module, the platform supports the most common images formats like`.png`, `.jpg`, `.gif`, `.bmp`, `.jpeg`, `.jfif`, `.jpe`, `.tiff`... +Aperi'Solve is based on Python3 with Flask and PIL module, the platform supports the most common image formats like`.png`, `.jpg`, `.gif`, `.bmp`, `.jpeg`, `.jfif`, `.jpe`, `.tiff`... -The platform allow you to: -- **Visualise each bit layer** of each channel for a given image (ie. LSB of Red channel). +The platform allows you to: +- **Visualize each bit layer** of each channel for a given image (ie. LSB of Red channel). - **Browse** and **Download each bit layer image**. -- **Visualise `zsteg` informations** such as text encoded on LSB +- **Visualise `zsteg` information** such as text encoded on LSB - **Download `steghide` files** using a defined password - **Download `outguess` files** using a defined password -- **Visualise `exiftool` informations** such as geolocation or author -- **Visualise `binwalk` informations** -- **Download `binwalk` files** such as zip in png headers -- **Download `foremost` files** such as zip in png headers +- **Visualise `exiftool` information** such as geolocation or author +- **Visualise `binwalk` information** +- **Download `binwalk` files** such as ZIP file in PNG headers +- **Download `foremost` files** such as ZIP file in PNG headers - **Visualise `pngcheck` output** - **Visualise `strings` output** ## Installation -Even if Aperi'Solve is available at the URL https://www.aperisolve.com/, you can set-up your own instance with the following command: +Even if Aperi'Solve is available at the URL https://www.aperisolve.com/, you can set up your own instance with the following command: ```bash git clone https://github.com/Zeecka/AperiSolve.git @@ -54,32 +60,32 @@ docker compose up -d ## Development Aperi'Solve platform is a *Flask* web service (python 3.11+) with python workers performing analysis. -Jobs are stacked in a redis-queue, and images informations are stored in a postgresql database. -All services are well contained inside Docker containers. +Jobs are stacked in a redis-queue, and image information is stored in a postgresql database. +All services run inside Docker containers. ### Adding new analyzer Adding new analyzer is easy. -1. Copy and addapt the [template_analyzer.py](aperisolve/analyzers/template_analyzer.py) file with you name, ie. "myanalyzer.py". +1. Copy and adapt the [template_analyzer.py](aperisolve/analyzers/template_analyzer.py) file with your name, ie. "myanalyzer.py". 2. Add this analyzer to [workers.py](aperisolve/workers.py). - Import your function `from .analyzers.analyzer import analyze_myanalyzer` - - Add the function to `analyzers` variables, like other analyzers. + - Add the function to the `analyzers` variable, like other analyzers. 3. Add your analyzer name to `TOOL_ORDER` in [aperisolve.js](aperisolve/static/js/aperisolve.js). ### Tips -Here is a batch of usefull commands. +Here is a batch of useful commands. ```bash -docker compose down -v # Remove volume containings results +docker compose down -v # Remove the volume containings results docker compose -f compose.dev.yml up # Start application in developpement mode -rm -rf aperisolve/results # Remove results from developpement mode +rm -rf aperisolve/results # Remove results from development mode docker exec -it postgres psql -U aperiuser -d aperisolve # Get postgresql shell -docker exec -it aperisolve-web bash # Get shell in running web app +docker exec -it aperisolve-web bash # Get a shell inside the running web app ``` -> Note, if you used [compose.dev.yml](compose.dev.yml), you must remove "results" when switching to [production docker](compose.yml). +> Note, if you used [compose.dev.yml](compose.dev.yml), you must remove "results" when switching to [production Docker](compose.yml) setup. ### Code quality