{"id":31727264,"url":"https://github.com/paolosereno/lanscan","last_synced_at":"2025-10-09T06:19:50.318Z","repository":{"id":317839771,"uuid":"1069009838","full_name":"paolosereno/LanScan","owner":"paolosereno","description":"Network scanner application with advanced diagnostics and metrics visualization","archived":false,"fork":false,"pushed_at":"2025-10-03T12:12:33.000Z","size":104,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-10-03T12:16:11.409Z","etag":null,"topics":["cpp","gui-application","lan","qt6","scanner"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paolosereno.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-03T09:02:38.000Z","updated_at":"2025-10-03T10:17:36.000Z","dependencies_parsed_at":"2025-10-03T12:16:15.347Z","dependency_job_id":"59be1795-4e65-4dda-bca8-df192f1af9b6","html_url":"https://github.com/paolosereno/LanScan","commit_stats":null,"previous_names":["paolosereno/lanscan"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/paolosereno/LanScan","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paolosereno%2FLanScan","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paolosereno%2FLanScan/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paolosereno%2FLanScan/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paolosereno%2FLanScan/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paolosereno","download_url":"https://codeload.github.com/paolosereno/LanScan/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paolosereno%2FLanScan/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000848,"owners_count":26082950,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"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":["cpp","gui-application","lan","qt6","scanner"],"created_at":"2025-10-09T06:19:48.977Z","updated_at":"2025-10-09T06:19:50.306Z","avatar_url":"https://github.com/paolosereno.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# LanScan - Network Scanner and Diagnostic Tool\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![C++](https://img.shields.io/badge/C++-17-blue.svg)](https://isocpp.org/)\n[![Qt](https://img.shields.io/badge/Qt-6.9.1-brightgreen.svg)](https://www.qt.io/)\n[![CMake](https://img.shields.io/badge/CMake-3.16+-064F8C.svg)](https://cmake.org/)\n[![Build](https://img.shields.io/badge/build-passing-brightgreen.svg)](https://github.com/paolosereno/LanScan)\n[![Tests](https://img.shields.io/badge/tests-10%2F10%20passing-brightgreen.svg)](https://github.com/paolosereno/LanScan)\n\nNetwork scanner application with advanced diagnostics and metrics visualization.\n\n## Features\n\n### ✅ Implemented (Phase 0-1)\n- ✅ Network device discovery (IP, hostname, MAC)\n- ✅ Multi-threaded IP range scanning\n- ✅ Ping-based host discovery (cross-platform)\n- ✅ DNS reverse lookup\n- ✅ ARP table parsing\n- ✅ MAC vendor identification (40+ manufacturers)\n- ✅ Port scanning (TCP/UDP)\n- ✅ Service detection (40+ common ports)\n- ✅ Two scan strategies (Quick \u0026 Deep)\n\n### 🚧 Planned (Phase 2+)\n- Real-time latency, jitter, and packet loss monitoring\n- Advanced diagnostics (traceroute, MTU discovery, bandwidth test)\n- Modern Qt6 GUI with dark/light themes\n- Export to CSV/JSON/XML/HTML\n- Historical data tracking\n- Network topology visualization\n\n## Technology Stack\n\n- **Framework**: Qt 6.x (Widgets, Network, Charts)\n- **Language**: C++ 17\n- **Build System**: CMake\n- **Architecture**: SRP-compliant with MVVM pattern\n- **Testing**: Qt Test framework\n\n## Build Instructions\n\n### Prerequisites\n- Qt 6.2 or higher\n- CMake 3.16 or higher\n- C++17 compatible compiler (MSVC 2019+, GCC 9+, Clang 10+)\n\n### Build Steps\n\n#### Windows (MinGW)\n```bash\n# Clone repository\ngit clone https://github.com/paolosereno/LanScan.git\ncd LanScan\n\n# Clean build (recommended)\nrm -rf build \u0026\u0026 mkdir build \u0026\u0026 cd build\n\n# Configure with MinGW\ncmake -G \"MinGW Makefiles\" -DCMAKE_BUILD_TYPE=Debug \\\n  -DCMAKE_PREFIX_PATH=\"C:/Qt/6.9.1/mingw_64\" ..\n\n# Build with 12 cores\ncmake --build . -j12\n\n# Run tests\nctest --output-on-failure\n\n# Run application\n./LanScan.exe\n```\n\n#### Windows (MSVC)\n```bash\n# Configure with MSVC\ncmake -G \"Visual Studio 17 2022\" -A x64 \\\n  -DCMAKE_PREFIX_PATH=\"C:/Qt/6.9.1/msvc2022_64\" ..\n\n# Build Release\ncmake --build . --config Release -j12\n```\n\n#### Linux\n```bash\n# Install dependencies\nsudo apt-get install qt6-base-dev qt6-charts-dev cmake build-essential\n\n# Configure and build\nmkdir build \u0026\u0026 cd build\ncmake -DCMAKE_BUILD_TYPE=Debug ..\ncmake --build . -j$(nproc)\n\n# Run tests\nctest --output-on-failure\n```\n\n## Development\n\n- See [project.md](project.md) for detailed architecture and development roadmap\n- See [TODO.md](TODO.md) for current task list and progress tracking\n\n### Branch Strategy\n- `main` - Production releases\n- `develop` - Development branch\n- `feature/phaseX-description` - Feature branches (X = 0-11)\n- `bugfix/description` - Bug fixes\n- `hotfix/description` - Critical fixes\n\n### Commit Convention\n```\n[Phase X] Brief description\n\nDetailed description of changes.\n\nLocation: src/path/to/files\n```\n\n## Project Status\n\n**Current Phase**: Phase 1 - Network Layer \u0026 Discovery ✅ **COMPLETED**\n**Next Phase**: Phase 2 - Metrics \u0026 Diagnostics Core\n**Progress**: 16.7% (2/12 phases complete)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Contributors\n\nPaolo - Lead Developer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaolosereno%2Flanscan","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaolosereno%2Flanscan","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaolosereno%2Flanscan/lists"}