Skip to main content

Un serveur HTTP FastAPI pour récupérer les applications installées

Project description

Watchman HTTP Server

Watchman HTTP Server est un serveur FastAPI qui expose la liste des applications installées ainsi que des informations sur le système.

Installation

Installez le package via pip :

pip install watchman_http_server

Ou depuis le code source :

git clone https://github.com/votre-repo/watchman_http_server.git
cd watchman_http_server
pip install -e .

Utilisation

Lancer le serveur avec un port et une clé API spécifiés :

watchman-http-server runserver --port 8000 --api-key "VOTRE_CLE_API"

Configuration

  • --port : Définit le port d'écoute du serveur (par défaut : 8001).
  • --api-key : Spécifie la clé API requise pour accéder aux endpoints.
  • --hour : L'heure à laquelle démarrer le serveur (0-23).
  • --minute : La minute à laquelle démarrer le serveur (0-59).
  • --day : Jour du mois (1-31), * pour chaque jour.
  • --month : Mois (1-12), * pour chaque mois.
  • --ip : Adresses IPs pour autorisées pour accéder au serveur.
  • -d : Exécuter en arrière-plan.

Endpoints

GET /apps

Retourne la liste des applications installées et les informations du système.

Headers requis

WATCHMAN-API-KEY: VOTRE_CLE_API

Exemple de réponse

{
  "system_info": {
    "hostname": "mon-pc",
    "ip": "192.168.1.10",
    "mac": "A1:B2:C3:D4:E5:F6",
    "architecture": "x86_64",
    "os": "Windows 10"
  },
  "applications": [
    {
      "name": "Google Chrome",
      "version": "99.0.4844.84",
      "vendor": "Google LLC",
      "type": "application"
    }
  ]
}

Déploiement sur un réseau local

Pour rendre le serveur accessible sur un réseau local :

  1. Lancer le serveur avec 0.0.0.0 comme hôte :

    watchman-http-server runserver --port 8000 --api-key "VOTRE_CLE_API"
    
  2. Planifier une tâche pour lancer le serveur en arrière plan avec 0.0.0.0 comme hôte :

    watchman-http-server schedule --port 8000 --api-key "VOTRE_CLE_API" --hour "heure" --minute "minute" --day "day" --month "month" --d
    
  3. Stoper le serveur en cours d'éxécution en arrière plan:

    watchman-http-server stopserver
    
  4. Assurez-vous que le port est ouvert dans le pare-feu :

    • Windows :
      netsh advfirewall firewall add rule name="Watchman" dir=in action=allow protocol=TCP localport=8000
      
    • Linux :
      sudo ufw allow 8000/tcp
      

Contributions

Les contributions sont les bienvenues ! Clonez le projet, créez une branche et proposez vos modifications via une pull request.

Licence

Ce projet est sous licence MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watchman_http_server-0.5.4.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

watchman_http_server-0.5.4-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file watchman_http_server-0.5.4.tar.gz.

File metadata

  • Download URL: watchman_http_server-0.5.4.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for watchman_http_server-0.5.4.tar.gz
Algorithm Hash digest
SHA256 da4006186c0b770eef8b9cd178d4b97fadcf9ce9a440933f5b23ffa7da699d20
MD5 9d29e021604e9428f9267a258f995e58
BLAKE2b-256 26b29855d2113b3a5e9f29ae1942de07748e60bbbcdf4e0c0d17a1029ce441c2

See more details on using hashes here.

File details

Details for the file watchman_http_server-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for watchman_http_server-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 fe6875037671e9f93f439add60fce59b1a809e3cb0932e46f55ca7c18573ea6f
MD5 9542edcd327810a0b7a1e1aa5f804632
BLAKE2b-256 3e42b88fd23349ad8576c8e92febd5cc3b86ebe654f7594283e74b38d519c5d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page