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.6.tar.gz (10.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.6-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: watchman_http_server-0.5.6.tar.gz
  • Upload date:
  • Size: 10.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.6.tar.gz
Algorithm Hash digest
SHA256 6c6c72854c1ff2fd93e466b11fcb9698c0b6f1085584f6190e9deb04a2c5f93e
MD5 248b40eb5af8f61efc8d07aa53d819de
BLAKE2b-256 9f4e137a01d0e791162f8aef8277a9e801b2e12029715ad3ea29b1645264d754

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for watchman_http_server-0.5.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c259d690cb55cfb4e3e84a2a9fcf102395747ea2a0351f0c3dc5082d59ce0bdf
MD5 49d79deaaa3b7672e9513438a4083dc9
BLAKE2b-256 90e18a663de910b17b10858b1d054cbffa9bc8222ab46eacc7323d80c1766f48

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