{"id":27182947,"url":"https://github.com/kzon94/hostame-simulator","last_synced_at":"2026-05-02T05:03:33.123Z","repository":{"id":284162750,"uuid":"954029813","full_name":"kzon94/hostame-simulator","owner":"kzon94","description":"Este proyecto genera un conjunto ficticio de hostnames para servidores, simula sus atributos (sistema operativo, entorno, país), y crea visualizaciones estadísticas sobre su distribución.","archived":false,"fork":false,"pushed_at":"2025-03-24T13:40:44.000Z","size":649,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T08:36:18.576Z","etag":null,"topics":["colab-notebook","hostname-resolver","hostnames","jupyter-notebook","python","visualization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kzon94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-24T13:07:38.000Z","updated_at":"2025-03-24T14:40:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"af1922cc-5b7d-45d9-9338-0f5dd4b3c30a","html_url":"https://github.com/kzon94/hostame-simulator","commit_stats":null,"previous_names":["kzon94/hostame-simulator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kzon94/hostame-simulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kzon94%2Fhostame-simulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kzon94%2Fhostame-simulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kzon94%2Fhostame-simulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kzon94%2Fhostame-simulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kzon94","download_url":"https://codeload.github.com/kzon94/hostame-simulator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kzon94%2Fhostame-simulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32523428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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":["colab-notebook","hostname-resolver","hostnames","jupyter-notebook","python","visualization"],"created_at":"2025-04-09T15:39:39.568Z","updated_at":"2026-05-02T05:03:33.118Z","avatar_url":"https://github.com/kzon94.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔎 Hostname Generator \u0026 Analysis Tool\n\n![Logo de hostname](/hostname.jpg)\n\nEste proyecto genera un conjunto ficticio de *hostnames* para servidores, simula sus atributos (sistema operativo, entorno, país), y crea visualizaciones estadísticas sobre su distribución.\n\n---\n\n## 📦 Requisitos\n\nInstala las librerías necesarias ejecutando:\n\n```bash\npip install pandas numpy matplotlib seaborn\n```\n\n## 🚀 ¿Qué hace este proyecto?\n\n- Genera automáticamente hostnames con formato codificado.\n- Extrae atributos (os, environment, country) a partir del hostname.\n- Crea un DataFrame con todos los servidores simulados.\n- Guarda los datos en un archivo CSV.\n- Visualiza los datos con gráficos de barras, pastel, y más.\n\n---\n\n## 🧠 Estructura del hostname\n\nCada hostname tiene la siguiente estructura:\n\n`\u003cOS\u003e\u003cENV\u003e\u003cCOUNTRY\u003e\u003cNODE_NUMBER\u003e`\n\n**Ejemplo:** `LPESP007`\n\n**Significa:**\n- **OS:** Linux\n- **ENV:** Production\n- **Country:** Spain\n- **Node Number:** 007\n\n---\n\n## ⚙️ Funciones principales\n\n1. `set_hostnames(n)`  \n   Genera `n` hostnames aleatorios usando pesos predefinidos. Los resultados se almacenan globalmente en `dataset`.\n\n2. `get_os(hostname)`  \n   Devuelve el sistema operativo según la primera letra del hostname.\n\n3. `get_environment(hostname)`  \n   Devuelve el tipo de entorno según la segunda letra del hostname.\n\n4. `get_country(hostname)`  \n   Devuelve el país usando los caracteres 3-5 del hostname.\n\n---\n\n## 🧾 Flujo general del código\n\n```python\nset_dataframe(1500)     # Genera 1500 hostnames y crea un DataFrame\nsave_dataframe()        # Guarda el DataFrame como 'hosts.csv'\nplot_environment_by_country()  # Visualización por país y entorno\nplot_full_analysis()    # Panel completo con 4 gráficos\n```\n\n---\n\n## 📊 Visualizaciones incluidas\n\n1. `plot_environment_by_country()`  \n   Gráfico de barras apiladas por país y tipo de entorno.\n\n2. `plot_full_analysis()`  \n   Matriz 2x2 con:\n   - **Barras horizontales:** Sistemas operativos por país.\n   - **Gráfico circular:** Porcentaje total de sistemas operativos.\n   - **Barras horizontales (gradiente):** Total de hosts por país.\n   - **Barras agrupadas:** Entornos por país.\n\n---\n\n## 🗂️ Estructura del archivo CSV\n\nEl archivo `hosts.csv` contiene las siguientes columnas:\n\n| hostname   | os     | environment | country | node |\n|------------|--------|-------------|---------|------|\n| LPESP001   | Linux  | Production  | Spain   | 1    |\n| SITAF002   | Solaris| Testing     | Italy   | 2    |\n| ...        | ...    | ...         | ...     | ...  |\n\n---\n\n## 📌 Notas\n\n- Se emplean probabilidades para simular una distribución realista.\n- Variables globales utilizadas: `df`, `dataset`, `counter_dict`.\n- Proyecto útil para prácticas de manipulación de datos, generación aleatoria y visualización con Python.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkzon94%2Fhostame-simulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkzon94%2Fhostame-simulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkzon94%2Fhostame-simulator/lists"}