Pithus is a free and open-source platform to analyze Android applications for activists, journalists, NGOs, researchers...
Analyses, which we want to be as comprehensive as possible, rely on multiple well-known tools such as:
When an APK is submitted, it is analyzed by the different tools listed above. Each report is stored in ElasticSearch. Analysis steps are defined in tasks.py file.
The beta version is available at beta.pithus.org.
Pithus is currently in beta so if you want to contribute, please refer to the Cookiecutter documentation.
On Linux:
git clone [email protected]:Pithus/bazaar.git
cd bazaar
It is possible to run the entire development stack with docker-compose:
docker-compose -f local.yml up
Then browse to [http://localhost:8001] and enjoy Pithus!
Note: It is possible that you might have an error for a missing index while browsing to the address the first time. It is probable that Django hasn't been properly loaded. To fix that, add a blank line in any of the Django file, save it and refresh the page in the browser.
It is possible to run the entire development environment in a Docker container. This will allow you to run on the same Python interpreter as anyone else contributing to this project. To do so with Visual Studio Code, follow these steps:
- Install the Python and the Remote Containers extensions.
- Open the command palette and look for the option: "Remote Containers: Attach to running container".
- Choose
bazaar_local_django
. - VSCode will restart, and you will be presented with a new window of VSCode.
- Open the file explorer and open the folder
/app
, the code is there. - You are all set up!
Note: By default, only your theme and the Remote Containers will be installed, you will need to install more extension in the Docker manually. However, your settings will be imported automatically.
More information on developping in a container in the Visual Studio Code documentation.
To apply SASS file changes, just run the following command:
sassc bazaar/static/front/sass/project.scss backend/static/front/css/project.css
from django.conf import settings
from elasticsearch import Elasticsearch
import json
es = Elasticsearch(settings.ELASTICSEARCH_HOSTS)
mapping = json.load(open('bazaar/es_mappings/apk_analysis.json'))
es.indices.put_mapping(index=settings.ELASTICSEARCH_APK_INDEX, body=mapping.get('mappings'))
Do you have questions? Do you want to chat with us? Come join us on our discord: https://discord.gg/PgdKfp4VMQ