{"id":24013488,"url":"https://github.com/foufou-exe/semabox","last_synced_at":"2026-04-30T12:32:54.142Z","repository":{"id":65939512,"uuid":"572193598","full_name":"Foufou-exe/Semabox","owner":"Foufou-exe","description":"La Semabox est une sonde de surveillance de serveurs conçue pour effectuer des tests de débit, des scans de ports et des analyses de réseaux. Elle est intégrée aux serveurs pour surveiller en temps réel leur performance et leur sécurité.","archived":false,"fork":false,"pushed_at":"2025-04-25T08:17:58.000Z","size":171023,"stargazers_count":2,"open_issues_count":31,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-25T09:29:59.688Z","etag":null,"topics":["api","app","application","devops","docker","flask","flask-api","python3","tkinter","tools"],"latest_commit_sha":null,"homepage":"https://semabox.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Foufou-exe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"license","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-29T18:47:02.000Z","updated_at":"2023-07-12T08:13:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"a81101a4-9638-4011-802d-76c0ac4e6070","html_url":"https://github.com/Foufou-exe/Semabox","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Foufou-exe/Semabox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foufou-exe%2FSemabox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foufou-exe%2FSemabox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foufou-exe%2FSemabox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foufou-exe%2FSemabox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Foufou-exe","download_url":"https://codeload.github.com/Foufou-exe/Semabox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Foufou-exe%2FSemabox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32465009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","app","application","devops","docker","flask","flask-api","python3","tkinter","tools"],"created_at":"2025-01-08T06:55:03.013Z","updated_at":"2026-04-30T12:32:49.504Z","avatar_url":"https://github.com/Foufou-exe.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003eProjet Semabox 🖥️\u003c/h1\u003e\n\n  ![Logo](https://github.com/Foufou-exe/Semabox/blob/dev/.github/Logo_Banniere.png?raw=true)\n\n  [![License Propriétaire](https://img.shields.io/badge/License-Propri%C3%A9taire-green.svg)](https://github.com/Foufou-exe/Semabox/blob/main/license)\n  ![Version Python](https://img.shields.io/badge/Compatible-Python%203.11%203.10-yellow.svg)\n  [![Documentation Status](https://readthedocs.org/projects/semabox/badge/?version=latest)](https://semabox.readthedocs.io/fr/latest/?badge=latest)\n\n\u003c/div\u003e\n\n## Description\n\nLa Semabox est une sonde de surveillance de serveurs conçue pour effectuer des tests de débit, des scans de ports et des analyses de réseaux. Elle est intégrée aux serveurs pour surveiller en temps réel leur performance et leur sécurité.\n\n### Les fonctionnalités de la Semabox incluent\n\n- Détection de l'OS utilisé par le serveur\n- Identification de l'IP publique et du nom d'hôte du serveur\n- Analyse de la bande passante utilisée\n- Scan de ports pour détecter les ports ouverts et les services en cours d'exécution\n- Analyse de la sécurité réseau pour détecter les vulnérabilités potentielles\n\n#### Toutes ces fonctionnalités sont gérées par des scripts Python appelés **SemaOS**\n\nLes résultats de ces analyses peuvent être visualisés via une interface graphique, une ligne de commande ou une version web. Cela permet aux administrateurs de systèmes de surveiller facilement leur environnement de serveurs et de prendre des mesures pour résoudre les problèmes identifiés.\n\nEn résumé, la Semabox est un outil puissant pour surveiller la performance et la sécurité des serveurs, qui offre une vue d'ensemble complète des informations sur les serveurs surveillés et facilite la prise de décisions en matière de surveillance et de maintenance des serveurs.\n\n## Installation Mode Manuel 👩‍🌾\n\nMise en situation :\n*Les tests on était effectuer avec le compte root sous linux (**OS : Fedora**)*\n*Le dossier Semabox à était git clone à la racine (**donc il a reçu des permissions**)*\n\nPour Windows, il n'y a aucune d'adaptation à faire\n\n#### **Etape 1**: On clone le projet\n\n```bash\ngit clone https://github.com/Foufou-exe/Semabox.git\n```\n\n#### **Etape 2**: Maintenant tu te rend dans le repertoire **install**\n\nCommande : **Windows** \u0026\u0026 **Linux**\n\n```bash\ncd Semabox/install\n```\n\n#### **Etape 3** : On installe les librairies necessaires au bont fonctionnement de la Semabox\n\n```bash\npip install -r requirement.txt\n```\n\n#### **Etape 4**: Pour Linux ,donner les permissions d'executions\n\nCommande : **Linux**\n\n```bash\ndos2unix permission.sh\nbash permission.sh\n```\n\nSi vous n'avez pas dos2unix , installer le `apt\\yum\\apk\\dnf install dos2unix`\n\n#### **Etape 5**: On installe les prérequis pour le bon fonctionnement de la Semabox\n\n##### *Pour les Simples utilisateurs* :\n\n```bash\npython install_single_user.py\n```\n\n##### *Pour les entreprises* :\n\nPenser à modifier le fichier **install_enterprise.py** dans la fonction `main()` :\n\n```Python\n  add_dns_record(\n    domain='votre domaine',# domain : le nom de domaine auquel ajouter l'enregistrement\n    ip_dns='IP de votre Serveur DNS', # serveur_dns : l'adresse IP du serveur DNS auquel envoyer la requête\n    host=hostname(),# hostname : le nom de l'hôte à ajouter \n    new_ip=ip(), # ip : l'adresse IP de l'hôte à ajouter\n    enregistrement='A', # enregistrement : le type d'enregistrement (A, AAAA, etc.)\n    ttl=300 \n  ) # ttl : le temps de vie (en secondes) de l'enregistrement\n\n  add_bdd_record(\n    sema_id=uid(), # uid : l'identifiant unique de la semabox\n    sema_hostname=hostname(), # hostname : le nom de l'hôte de la semabox\n    sema_ip=ip(),\n    sema_ip_public=ip_public(), # ip_pubic : l'adresse IP publique de la semabox \n    sema_dns=dns_semabox(ip()), #+ \"\".join(\".cma4.box\") , # ip : l'adresse IP de la semabox\n    sema_version=version_semabox(),  # version_semabox : la version de la semabox\n    user='Utilsateur de votre BDD', # user : l'utilisateur de la base de données\n    password='Le mot de passe associer', # password : le mot de passe de l'utilisateur\n    host='IP BDD', # host : l'adresse IP du serveur de la base de données\n    database='NOM DE LA BDD' # database : le nom de la base de données\n  )\n\n```\n\n##### Commande à faire : \n\n```bash\npython install_enterprise.py\n```\n\n#### L'installation est termine, vous pouvez retourner dans le dossier principal de la semabox et lance *Semabox.py* ( **si vous êtes sur Linux avec interfaces graphiques**) sinon lance *Semabox_CLI.py* pour **la version CLI** ou pour finir **la version Web**\n\nRetour dans le dossier Principal :\n\n```bash\ncd ..\n```\n\n**Version Graphiques** :\n\n```bash\npython Semabox.py\n```\n\n![Logo](https://github.com/Foufou-exe/Semabox/blob/dev/.github/Semabox.png?raw=true)\n\n**Version CLI** :\n\n```bash\npython Semabox_CLI.py\n```\n\n![Logo](https://github.com/Foufou-exe/Semabox/blob/dev/.github/Semabox_CLI.png?raw=true)\n\n**Version Web** :\n\n```bash\nhttp://localhost:80/\n```\n\n![Logo](https://github.com/Foufou-exe/Semabox/blob/dev/.github/SemaWEB.png?raw=true)\n\n## Installation Automatisée 🤖\n\nAllez clonez le Projet Semabox Ansible et lisez le **README**\n\n```bash\n  git clone https://github.com/Foufou-exe/Semabox-Ansible.git\n```\n\n## Docker 🐳\n\nCréation du network (Changez le macvlan par bridge si vous êtes sur Windows ou Mac)\n\n```docker\ndocker network -d macvlan Network_Semabox -o parent=eth0\n```\n\nCommande pour run l'image via le registre de docker\n\n```docker\ndocker run -h semabox -dit --name semabox --network Network_Semabox --restart always -p 8080:80 -p 2222:22 -d semabox:2.0.0\n```\n\nAccès au container\n\n```docker\ndocker exec -it semabox bash\n```\n\nSinon utilisée le dockerfile qui se situe dans le projet sinon voici le code pour seulement avoir le dockerfile\n\n```docker-compose.yml\nversion: '2.0'\nservices:\n    semabox:\n        container_name: semabox\n        image: foufoudu34/semabox:latest\n        restart: always\n        ports:\n            - '80:80'\n            - '22:22'\n        networks:\n            - semabox\n\nnetworks:\n    semabox:\n    # Changer macvlan par bridge si vous êtes sur Windows ou Mac OS car macvlan n'est pas supporté\n    # Pour Windows, il faut aussi changer le driver_opts: parent: eth0 par parent: Ethernet\n    # Pour Mac OS, il faut aussi changer le driver_opts: parent: eth0 par parent: en0\n        driver: macvlan\n        driver_opts:\n            parent: eth0\n        ipam:\n            config:\n                - subnet:\n                     # Changer les valeurs par celle de votre réseau pour que le container soit dans le même réseau que votre machine\n                    # Si vous êtes sur Windows ou Mac OS, mettez se que vous voulez, le container cominuquera avec votre machine via le port 80 mais il ne sera pas dans le même réseau\n                    gateway: \u003cvotregateway\u003e\n                    ip_range: \u003cvotrevlan\u003e\n                    aux_addresses: \u003cvotrevlan\u003e\n\n```\n\n## Support\n\nEn cas de problème, veuillez le signaler à cette adresse support@cma4.local .\n\n## Auteur et Developpeur\n\n#### L'entreprise Quadro\n\nDeveloppeur :\n\n- [@Dylan L](https://github.com/thorbeorn)\n- [@Thibaut M](https://github.com/Foufou-exe) \n- [@Mathis L](https://github.com/mathislef34)\n- [@Nicolas L](https://github.com/nicolasLlinares)\n\n## License\n\n[License Propriétaire](https://github.com/Foufou-exe/Semabox/blob/main/license)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoufou-exe%2Fsemabox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffoufou-exe%2Fsemabox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffoufou-exe%2Fsemabox/lists"}