
Outil CLI pour inspecter et gérer les services écoutant sur les ports localhost.
Sonar affiche tout ce qui écoute sur localhost et le met en ordre : chaque port
appartient à un groupe — normalement le dépôt depuis lequel il a été démarré — et
au sein de ce groupe à un service nommé. Démarrez vos serveurs de développement avec
sonar start et tout le projet devient une seule chose que vous pouvez lister sous forme d'arborescence,
attendre, suivre et arrêter avec une seule commande. Les conteneurs Docker, les projets
Compose et les processus que vous avez démarrés à la main sont également détectés, sans aucune
configuration.```
$ sonar list --tree
my-app (3 ports, running) ~/code/my-app
├─ 5432 db postgres:17 http://localhost:5432
├─ 5173 frontend vite (v5.4) http://localhost:5173
└─ 8000 api uvicorn app:app http://localhost:8000
ungrouped (1 port)
└─ 3000 next-server (v16.1.6) http://localhost:3000
## Installation
### Homebrew (macOS / Linux)```sh
brew install raskrebs/sonar/sonar
Homebrew 6 refuse les formules des taps tiers tant que vous n'avez pas approuvé le tap une fois
(Error: Refusing to load formula raskrebs/sonar/sonar from untrusted tap) :```sh
brew trust raskrebs/sonar
### Script d'installation```sh
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | bash
Télécharge le dernier binaire dans ~/.local/bin et l'ajoute à votre PATH si nécessaire. Redémarrez votre terminal ou exécutez source ~/.zshrc.
Sur Windows (PowerShell) :```powershell irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex
Emplacement d'installation personnalisé :```sh
curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_INSTALL_DIR=/usr/local/bin bash
Installer une version spécifique :```sh curl -sfL https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.sh | SONAR_VERSION=vX.Y.Z bash
- **`--no-color`** : Désactive la sortie colorée.
- **`--no-banner`** : Supprime la bannière de démarrage.
- **`--no-progress`** : Désactive les barres de progression.
- **`--no-summary`** : Supprime le résumé final.
- **`--no-cache`** : Désactive la mise en cache des résultats.
- **`--no-update`** : Désactive la vérification des mises à jour.
- **`--no-config`** : Ignore le fichier de configuration.
- **`--no-env`** : Ignore les variables d'environnement.
- **`--no-input`** : Désactive toute invite interactive.
- **`--no-output`** : Supprime toute sortie.
- **`--no-log`** : Désactive la journalisation.
- **`--no-debug`** : Désactive la sortie de débogage.
- **`--no-verbose`** : Désactive la sortie verbeuse.
- **`--no-quiet`** : Désactive le mode silencieux.
- **`--no-silent`** : Désactive le mode silencieux.
- **`--no-json`** : Désactive la sortie JSON.
- **`--no-yaml`** : Désactive la sortie YAML.
- **`--no-xml`** : Désactive la sortie XML.
- **`--no-csv`** : Désactive la sortie CSV.
- **`--no-table`** : Désactive la sortie sous forme de tableau.
- **`--no-html`** : Désactive la sortie HTML.
- **`--no-markdown`** : Désactive la sortie Markdown.
- **`--no-text`** : Désactive la sortie texte.
- **`--no-binary`** : Désactive la sortie binaire.
- **`--no-raw`** : Désactive la sortie brute.
- **`--no-pretty`** : Désactive la sortie formatée.
- **`--no-compact`** : Désactive la sortie compacte.
- **`--no-expand`** : Désactive la sortie développée.
- **`--no-collapse`** : Désactive la sortie réduite.
- **`--no-fold`** : Désactive le repli de la sortie.
- **`--no-wrap`** : Désactive le retour à la ligne de la sortie.
- **`--no-truncate`** : Désactive la troncature de la sortie.
- **`--no-ellipsis`** : Désactive les points de suspension dans la sortie.
- **`--no-pager`** : Désactive la pagination de la sortie.
- **`--no-color-output`** : Désactive la sortie colorée.
- **`--no-color-stderr`** : Désactive la sortie colorée sur stderr.
- **`--no-color-stdout`** : Désactive la sortie colorée sur stdout.
- **`--no-color-log`** : Désactive la sortie colorée dans les journaux.
- **`--no-color-debug`** : Désactive la sortie colorée en mode débogage.
- **`--no-color-verbose`** : Désactive la sortie colorée en mode verbeux.
- **`--no-color-quiet`** : Désactive la sortie colorée en mode silencieux.
- **`--no-color-silent`** : Désactive la sortie colorée en mode silencieux.
- **`--no-color-json`** : Désactive la sortie colorée JSON.
- **`--no-color-yaml`** : Désactive la sortie colorée YAML.
- **`--no-color-xml`** : Désactive la sortie colorée XML.
- **`--no-color-csv`** : Désactive la sortie colorée CSV.
- **`--no-color-table`** : Désactive la sortie colorée sous forme de tableau.
- **`--no-color-html`** : Désactive la sortie colorée HTML.
- **`--no-color-markdown`** : Désactive la sortie colorée Markdown.
- **`--no-color-text`** : Désactive la sortie colorée texte.
- **`--no-color-binary`** : Désactive la sortie colorée binaire.
- **`--no-color-raw`** : Désactive la sortie colorée brute.
- **`--no-color-pretty`** : Désactive la sortie colorée formatée.
- **`--no-color-compact`** : Désactive la sortie colorée compacte.
- **`--no-color-expand`** : Désactive la sortie colorée développée.
- **`--no-color-collapse`** : Désactive la sortie colorée réduite.
- **`--no-color-fold`** : Désactive le repli coloré de la sortie.
- **`--no-color-wrap`** : Désactive le retour à la ligne coloré de la sortie.
- **`--no-color-truncate`** : Désactive la troncature colorée de la sortie.
- **`--no-color-ellipsis`** : Désactive les points de suspension colorés dans la sortie.
- **`--no-color-pager`** : Désactive la pagination colorée de la sortie.```powershell
$env:SONAR_VERSION="vX.Y.Z"; irm https://raw.githubusercontent.com/raskrebs/sonar/main/scripts/install.ps1 | iex
go install github.com/raskrebs/sonar@latest
Complétions shell (complétion par tabulation des numéros de port) :```sh
sonar completion zsh > "${fpath[1]}/_sonar" # zsh
sonar completion bash > /etc/bash_completion.d/sonar # bash
sonar completion fish | source # fish
Décrivez comment votre projet s'exécute dans un sonar.yaml à la racine du dépôt, à
la place d'un dev.sh :```yaml
name: my-app
services:
Puis démarrez-le :```sh
sonar start
| -l | --list | List all available modules |
| -m | --module | Specify a module to use |
| -o | --output | Output file or directory |
| -v | --verbose | Enable verbose output |
| -h | --help | Show help message |
# List all modules
python3 main.py -l
# Run a specific module
python3 main.py -m scanner -t example.com
# Save output to file
python3 main.py -m scanner -t example.com -o results.txt
The tool can be configured using a configuration file located at ~/.config/tool/config.yaml.
# Example configuration
timeout: 30
threads: 10
verbose: false
If you encounter any issues, please check the following:
/var/log/tool/