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.1.tar.gz (9.1 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.1-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: watchman_http_server-0.5.1.tar.gz
  • Upload date:
  • Size: 9.1 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.1.tar.gz
Algorithm Hash digest
SHA256 54d1feea1178c963c3849f1aae3e5bd1b71507416d5e2ce4b413b48b9eecc179
MD5 b7bd8ee9fc02d28737473c9898cee6bc
BLAKE2b-256 cee765180cd0e376cbf7e90c9c9d9eb56d8d54dfd03f08e4860cde187cb1187e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for watchman_http_server-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 190543a7557cfbbbed78c345f7a05e62fdb3ab8eaeb6c8f8c4d284320344eae3
MD5 baa96eac297481202564caae6f01967c
BLAKE2b-256 63192fc2c6e358154d39fb7ca07407a0f9b6692104c6a9974844dca0f70745cb

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