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.5.tar.gz (9.4 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.5-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: watchman_http_server-0.5.5.tar.gz
  • Upload date:
  • Size: 9.4 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.5.tar.gz
Algorithm Hash digest
SHA256 af3a55258b9df1a2d327a11f3d5c60896acb4c35858abccbc498d257d8353b3c
MD5 ac003f248b964c6c9b13f31aa3b1ec4b
BLAKE2b-256 cf38e0bcddb9161b24480fd908d8583d92091e5f7bed9b07eb7ebbbb68ded526

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for watchman_http_server-0.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ee43764ceb76daa449943e658ab2e16acbe5f467343fd088be36d691d78f3bce
MD5 5e30294151a0e83a4364592222460daa
BLAKE2b-256 b674bc488c5446f7cf3d8ba45181b72d96f3a1844b753237f6ef77a0bb413bda

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