{"id":51020750,"url":"https://github.com/kfn-d0/net_collector","last_synced_at":"2026-06-21T16:01:19.476Z","repository":{"id":355470927,"uuid":"1228029112","full_name":"kfn-d0/net_collector","owner":"kfn-d0","description":"simple tool in c++ to collect basic network data to be used in another project","archived":false,"fork":false,"pushed_at":"2026-05-03T18:53:11.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T20:35:59.333Z","etag":null,"topics":["cpp","windows"],"latest_commit_sha":null,"homepage":"","language":"C++","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/kfn-d0.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":"2026-05-03T13:55:13.000Z","updated_at":"2026-05-03T18:53:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kfn-d0/net_collector","commit_stats":null,"previous_names":["kfn-d0/net_collector"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kfn-d0/net_collector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfn-d0%2Fnet_collector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfn-d0%2Fnet_collector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfn-d0%2Fnet_collector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfn-d0%2Fnet_collector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kfn-d0","download_url":"https://codeload.github.com/kfn-d0/net_collector/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kfn-d0%2Fnet_collector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34616512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"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","windows"],"created_at":"2026-06-21T16:01:17.574Z","updated_at":"2026-06-21T16:01:19.452Z","avatar_url":"https://github.com/kfn-d0.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Network Data Collector\n\nA C++ tool designed to collect basic network metrics. This tool is specifically tailored for evaluating internet service provider (ISP) quality by measuring latency jitter, and packet loss across popular web services.\n\n\u003cimg width=\"616\" height=\"309\" alt=\"image\" src=\"https://github.com/user-attachments/assets/da5ad11c-4be8-4a04-b37e-3653f6dd96d1\" /\u003e\n\n## Features\n\n- **Multi-Site Monitoring**: Automatically tests connectivity to 21 platforms in batches of 5 for speed and efficiency:\n  - **Search \u0026 Infrastructure**: Google, X (Twitter), Speed.cloudflare.com\n  - **Social \u0026 Messaging**: TikTok, WhatsApp, Instagram\n  - **Streaming \u0026 Media**: YouTube, Fast.com (Netflix), Globo.com\n  - **E-commerce \u0026 AI**: Mercado Livre, UOL, ChatGPT\n  - **Gaming**: Steam, Roblox, Fortnite\n  - **Music, Finance, Development, Education \u0026 Retail**: Spotify, Binance, GitHub, LinkedIn, Coursera, AliExpress\n- **Robust Metrics Calculation**:\n  - **Manual Latency Sampling**: Calculates Min, Average, and Maximum RTT directly from captured samples to ensure accuracy across different system languages.\n  - **Jitter**: High-precision calculation of latency variation between consecutive pings.\n  - **Packet Loss**: Tracks reliability with 20 packets per site.\n- **Improved Performance**:\n  - **Batch Processing**: Executes 5 tests concurrently, reducing total execution time by 3x.\n  - **Live Feedback**: Includes a terminal spinner animation to indicate progress during data collection.\n- **Smart Status Reporting**:\n  - **Online**: Perfect connectivity.\n  - **Degraded**: Responses received but with packet loss.\n  - **Unreachable**: 100% packet loss/Timeout.\n- **Dual Output**:\n  - **Live Dashboard**: A clean, formatted terminal interface with proper column alignment.\n  - **JSON Export**: Automatically saves structured results to `network_data.json`.\n\n## Requirements\n\n- **Operating System**: Windows 10/11\n- **Compiler**: GCC (MinGW-w64)\n- **Dependencies**: \n  - `Ws2_32.lib` (Windows Sockets)\n  - `Iphlpapi.lib` (IP Helper API)\n\n## Compilation\n\nTo compile the project with the application icon and optimizations, use the following commands:\n\n```bash\n# Compile the resource file (icon)\nwindres resource.rc -o resource.o\n\n# Build the executable\ng++ main.cpp resource.o -o net_collector.exe -O3 -static -lws2_32 -liphlpapi\n```\n\n*Note: The `-static` flag ensures the executable is portable and doesn't require external GCC DLLs.*\n\n## Output Format\n\nThe tool generates a `network_data.json` file structured as follows:\n\n```json\n[\n  {\n    \"domain\": \"google.com\",\n    \"status\": \"online\",\n    \"latency\": {\n      \"min\": 15.0,\n      \"avg\": 18.5,\n      \"max\": 25.0\n    },\n    \"jitter\": 1.25,\n    \"packet_loss\": 0\n  }\n]\n```\n\n## License\n\nThis project is open-source and intended for personal network diagnostic use.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkfn-d0%2Fnet_collector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkfn-d0%2Fnet_collector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkfn-d0%2Fnet_collector/lists"}