Download the PHP package larascope/agent without Composer
On this page you can find all versions of the php package larascope/agent. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download larascope/agent
More information about larascope/agent
Files in larascope/agent
Package agent
Short Description Secured, read-only monitoring agent for Laravel apps — health, Pulse, logs, stats, security and per-IP connection metrics, consumed by the Larascope mobile app.
License MIT
Homepage https://github.com/matthieuLabaune/larascope-agent
Informations about the package agent
larascope/agent
Agent de monitoring pour Larascope : expose 4 endpoints JSON read-only, sécurisés par token, que l'app mobile Larascope interroge.
Installation
Option A — Packagist (quand publié)
Option B — dépôt VCS (recommandé tant que non publié)
Dans le composer.json du projet à surveiller :
Option C — chemin local (dev / monorepo)
Configuration
Le service provider est auto-découvert (Laravel package discovery). Aucune route ni contrôleur à écrire.
Endpoints
Tous sous /{prefix}/*, middleware api + token Bearer (Authorization: Bearer <token> ou header X-Larascope-Token).
| Endpoint | Contenu |
|---|---|
GET /larascope/capabilities |
fonctionnalités disponibles + packages détectés (Pulse, Telescope, Horizon, Filament…) via Composer, versions Laravel/PHP, drivers DB/queue/cache — sans DB |
GET /larascope/health |
DB / cache up-down, disque, versions Laravel & PHP, environnement |
GET /larascope/pulse |
si Laravel Pulse présent : exceptions / requêtes lentes / jobs lents récents (table pulse_entries) ; sinon repli sur les logs. Plus jobs échoués + mémoire |
GET /larascope/stats |
compteurs d'entités configurables (config('larascope.stats')), users auto-inclus |
GET /larascope/connections |
monitoring par IP : top IPs, nb de requêtes, types d'attaque (depuis un access/security log) ; plages privées ignorées |
GET /larascope/logs?file=<name>&level=error&limit=50 |
dernières entrées d'un canal choisi (laravel par défaut, single/daily, ou fichier configuré) |
GET /larascope/security |
APP_DEBUG en prod, APP_KEY, public/.env exposé, HTTPS, cookies sécurisés, storage inscriptible, pic de connexions échouées + score |
L'app mobile interroge d'abord /capabilities et adapte son affichage : la section Pulse n'apparaît enrichie que si Pulse est installé, le monitoring IP que si un access/security log existe, etc. Les packages détectés incluent spatie/laravel-health et sentry/sentry-laravel (on s'appuie dessus plutôt que réinventer).
Stats configurables
Monitorer des logs spécifiques (surcharge)
Monitoring par IP / connexions
Enveloppe de réponse :
severity ∈ info | warning | critical. L'app mobile diffe incidents pour déclencher ses alertes.
Sécurité
- Read-only : aucun endpoint ne modifie l'état.
- Token Bearer obligatoire : 401 si invalide, 503 si non configuré. Comparaison en temps constant (
hash_equals). -
Rate limiting intégré (60 req/min par défaut) contre le brute-force du token :
-
HTTPS forçable en production (refuse le HTTP en clair, sauf réseau local) :
- Coupe-circuit :
LARASCOPE_ENABLED=false→ plus aucune route enregistrée.
Rédaction des secrets (anti-fuite)
Comme Sentry/Flare, l'agent masque les secrets à la source avant transmission (mots de passe, tokens, Bearer/Basic, clés API, JWT, clés Stripe/GitHub/Slack/Google, clés AWS, APP_KEY) dans les logs / SQL / détails d'erreur. Les messages d'erreur DB/cache ne renvoient que le nom de classe de l'exception (jamais le DSN/identifiants).
Ajoute tes propres motifs PCRE dans config('larascope.redact.patterns'). La rédaction est best-effort : ne loggue jamais de secret en premier lieu.
Allowlist IP & proxys de confiance (important)
LARASCOPE_ALLOWED_IPS et l'exception HTTPS-local s'appuient sur request()->ip(). Derrière un reverse-proxy (Traefik/nginx/Docker), cette IP vient de X-Forwarded-For : elle n'est fiable que si le TrustProxies de ton app est correctement configuré (proxy réel, pas *). Mal configuré, un attaquant peut usurper une IP via l'en-tête.
- L'allowlist est une défense en profondeur : le token reste le garde principal dans tous les cas.
- L'exception « HTTP autorisé en local » est désactivée dès qu'on est derrière un proxy de confiance.
Checklist de déploiement sécurisé
- Servir derrière HTTPS (Traefik, Nginx, Caddy…) — le token voyage dans l'en-tête
Authorization, TLS est indispensable. LARASCOPE_TOKENlong et unique par projet, dans le.env(jamais commité). Le régénérer en cas de fuite (php artisan larascope:token).LARASCOPE_REQUIRE_HTTPS=trueen prod.- Garder le rate limit raisonnable.
- Les endpoints exposent des données sensibles (logs, SQL des requêtes lentes) — le token + HTTPS sont la barrière. Ne réduire l'
LARASCOPE_RATE_LIMITque si nécessaire.
All versions of agent with dependencies
illuminate/contracts Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
spatie/laravel-package-tools Version ^1.14