Ce projet est conçu pour surveiller le nombre de rapports hunter soumis sur les programmes publics de la plateforme de bug bounty YesWeHack. L'application utilise l'API publique de YesWeHack pour récupérer les programmes publics et leurs rapports soumis à intervalles réguliers, transmet les données dans un système de queue, puis les consomme pour les stocker dans une base de données.
- Crawling de l'API YesWeHack : Récupère le nom des programmes publics et le nombre de rapports soumis à intervalles réguliers.
- Kafka : Transmet les données collectées dans un topic kafka pour traitement.
- Consommation et stockage des données : Consomme les données de la queue et les stocke dans une base de données postgreSQL.
- Scalabilité : La partie consommant les données de la queue est conçue pour être scalable.
- Docker
- Docker Compose
-
Clonez le dépôt GitHub :
git clone https://github.com/jblezoray/ywh cd ywh
-
Lancez l'application avec Docker Compose :
docker compose up --build
-
Ouvrez grafana avec ce lien : http://localhost:3000/dashboards.
-
Loggez-vous avec
admin:admin
, puis cliquez sur "Skip". -
Ouvrez le dashboard
Program reports count
.
Quelques minutes peuvent être nécessaires pour que les données apparaissent sur cet écran.
- 1.0.0 version initiale.
- 1.1.0 ajout influxdb + grafana
- 1.2.0 ajout injection de dépendances
- utiliser influxdb pour stocker les données en // de postgresql.
- front end avec grafana pour parcourir les données.
- Tests unitaires / tests d'intégration
- Injection de dépendances. https://python-dependency-injector.ets-labs.org/