{"id":22951561,"url":"https://github.com/lifailon/ookla-speedtest-api","last_synced_at":"2026-03-06T20:02:34.352Z","repository":{"id":160375278,"uuid":"635296651","full_name":"Lifailon/Ookla-SpeedTest-API","owner":"Lifailon","description":"Module creating metrics measurements Internet speed to mode cli (no use dependencies). Using native API.","archived":false,"fork":false,"pushed_at":"2024-02-19T12:10:19.000Z","size":18320,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"rsa","last_synced_at":"2025-10-30T10:34:49.975Z","etag":null,"topics":["api","com","com-object","grafana","grafana-dashboard","grafana-influxdb","influxdata","influxdb","internet-explorer","internet-speed-test","json","monitoring","native-api","ookla-speedtest","powershell","powershell-module","rest-api","speedtest","speedtest-cli","windows"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/Ookla-SpeedTest","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lifailon.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":"2023-05-02T11:51:34.000Z","updated_at":"2025-08-21T09:44:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"6c66d091-e2d3-45c4-952b-832b1d11a6d8","html_url":"https://github.com/Lifailon/Ookla-SpeedTest-API","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Lifailon/Ookla-SpeedTest-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FOokla-SpeedTest-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FOokla-SpeedTest-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FOokla-SpeedTest-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FOokla-SpeedTest-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lifailon","download_url":"https://codeload.github.com/Lifailon/Ookla-SpeedTest-API/tar.gz/refs/heads/rsa","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lifailon%2FOokla-SpeedTest-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30195549,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"ssl_error","status_checked_at":"2026-03-06T18:57:34.882Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","com","com-object","grafana","grafana-dashboard","grafana-influxdb","influxdata","influxdb","internet-explorer","internet-speed-test","json","monitoring","native-api","ookla-speedtest","powershell","powershell-module","rest-api","speedtest","speedtest-cli","windows"],"created_at":"2024-12-14T15:16:48.203Z","updated_at":"2026-03-06T20:02:34.322Z","avatar_url":"https://github.com/Lifailon.png","language":"PowerShell","readme":"# Ookla-SpeedTest-API\n\n[![GitHub Release](https://img.shields.io/github/v/release/Lifailon/Ookla-SpeedTest-API?display_name=release\u0026logo=GitHub\u0026label=GitHub\u0026link=https%3A%2F%2Fgithub.com%2FLifailon%2FOokla-SpeedTest-API%2F)](https://github.com/Lifailon/Ookla-SpeedTest-API)\n[![NuGet Version](https://img.shields.io/nuget/v/Ookla-SpeedTest?logo=NuGet\u0026label=NuGet\u0026link=https%3A%2F%2Fwww.nuget.org%2Fpackages%2FOokla-SpeedTest)](https://www.nuget.org/packages/Ookla-SpeedTest)\n[![GitHub top language](https://img.shields.io/github/languages/top/Lifailon/Ookla-SpeedTest-API?logo=PowerShell\u0026link=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell)](https://github.com/PowerShell/PowerShell)\n[![GitHub License](https://img.shields.io/github/license/Lifailon/Ookla-SpeedTest-API?link=https%3A%2F%2Fgithub.com%2FLifailon%2FOokla-SpeedTest-API%2Fblob%2Frsa%2FLICENSE)](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/LICENSE)\n\nModule for get metrics measurements Internet speed to mode cli (no use dependencies) and output to **PSObject** format or log file. Data collection resource: **speedtest.net (dev Ookla)**.\n\n## 📚 Used methods\n\n- Using **native API method (via COM Object InternetExplorer)** for web function start\n- Using **REST API GET method (via Invoke-RestMethod)** for parsing JSON report\n\n## 🚀 Install/Update\n\n✔️ Works in PSVersion 5.1 \\\n❌ IE to PowerShell 7.3 not supported\n\nUse the [NuGet](https://www.nuget.org/packages/Ookla-SpeedTest) package manager:\n\n```PowerShell\nInstall-Module Ookla-SpeedTest -Repository NuGet\n```\n\n💡 You must have a NuGet repository registered:\n\n```PowerShell\nGet-PackageProvider # check that the nuget packet provider is installed\nFind-PackageProvider # display all available package managers\nInstall-PackageProvider nuget # install the nuget package manager\nSet-PackageSource nuget -Trusted # allow packages to be installed from the specified source\nFind-Package Ookla-SpeedTest # search for packages by name in all managers\nInstall-Module Ookla-SpeedTest -Scope CurrentUser # install the module for the current user\n```\n\nFor install or update module from the GitHub repository (used the script **[Deploy-Invoke-SpeedTest.ps1](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Scripts/Deploy-Invoke-SpeedTest.ps1)**) use the command in the PowerShell console:\n```\nInvoke-Expression(New-Object Net.WebClient).DownloadString(\"https://raw.githubusercontent.com/Lifailon/Ookla-SpeedTest-API/rsa/Scripts/Deploy-Invoke-SpeedTest.ps1\")\n```\n\n## 🔔 Module Invoke-SpeedTest\n```\nPS C:\\Users\\Lifailon\u003e $ookla = Invoke-SpeedTest -LogWrite\n\ndate               : 08.05.2023 11:36:10\nid                 : 14708271987\nconnection_icon    : wireless\ndownload           : 33418\nupload             : 35442\nlatency            : 15\ndistance           : 50\ncountry_code       : RU\nserver_id          : 2707\nserver_name        : Bryansk\nsponsor_name       : DOM.RU\nsponsor_url        :\nconnection_mode    : multi\nisp_name           : Resource Link\nisp_rating         : 4.0\ntest_rank          : 63\ntest_grade         : B-\ntest_rating        : 4\nidle_latency       : 17\ndownload_latency   : 116\nupload_latency     : 75\nadditional_servers : {@{server_id=8191; server_name=Bryansk; sponsor_name=SectorTelecom.ru}, @{server_id=46278; server_\n                     name=Fokino; sponsor_name=Fokks - Promyshlennaya avtomatika Ltd.}, @{server_id=18218; server_name=\n                     Bryansk; sponsor_name=RIA-link Ltd.}}\npath               : result/14708271987\nhasSecondary       : True\n\nPS C:\\Users\\Lifailon\u003e $ookla.additional_servers\n\nserver_id server_name sponsor_name\n--------- ----------- ------------\n     8191 Bryansk     SectorTelecom.ru\n    46278 Fokino      Fokks - Promyshlennaya avtomatika Ltd.\n    18218 Bryansk     RIA-link Ltd.\n```\n\n### 🎉 Example\n\nResult to UI: https://www.speedtest.net/result/14708271987\n\n![Image alt](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Screen/UI.jpg)\n\n## 📑 Output log to console\n```\nPS C:\\Users\\Lifailon\u003e Invoke-SpeedTest -LogRead | ft\n\nDate       Time     Download    Upload      Ping\n----       ----     --------    ------      ----\n05/08/2023 02:10:32 36.293 Mbit 34.832 Mbit 16 ms\n05/08/2023 02:39:18 34.623 Mbit 34.623 Mbit 18 ms\n05/08/2023 02:49:01 33.530 Mbit 35.573 Mbit 16 ms\n05/08/2023 10:50:50 32.638 Mbit 37.382 Mbit 15 ms\n05/08/2023 11:20:33 37.402 Mbit 39.780 Mbit 16 ms\n05/08/2023 11:21:34 36.034 Mbit 35.835 Mbit 16 ms\n05/08/2023 11:33:04 32.101 Mbit 32.742 Mbit 18 ms\n05/08/2023 11:36:10 33.418 Mbit 35.442 Mbit 17 ms\n...\n```\n\n## 📊 PowerShell + InfluxDB + Grafana\n\n### Create Service\n\n**Download script: [SpeedTestTo-InfluxDB.ps1](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Scripts/SpeedTestTo-InfluxDB.ps1)** (change the IP-address and database name for InfluxDB) \\\n**Download [NSSM](https://www.nssm.cc/download)** \\\nCopy files to folder: `C:\\NSSM\\`\n\n```\n$powershell_Path = (Get-Command powershell).Source\n$NSSM_Path = \"C:\\NSSM\\NSSM-2.24.exe\"\n$Script_Path = \"C:\\NSSM\\SpeedTestTo-InfluxDB.ps1\"\n$Service_Name = \"SpeedTestTo-InfluxDB\"\n\u0026 $NSSM_Path install $Service_Name $powershell_Path -ExecutionPolicy Bypass -NoProfile -f $Script_Path\nGet-Service $Service_Name | Start-Service\nGet-Service $Service_Name | Set-Service -StartupType Automatic\n\nGet-Service $Service_Name | select Status,Name,StartType\n\nStatus Name                 StartType\n ------ ----                 ---------\nRunning SpeedTestTo-InfluxDB Automatic\n```\n\n### View Data\n\n`SELECT * FROM \"speedtest\" WHERE time \u003e now() - 40m`\n\n![Image alt](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Screen/InfluxDB-Data.jpg)\n\n### Add to Dashboard\n\n`SELECT download,upload FROM speedtest`\n\n![Image alt](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Screen/Grafana-Dashboard-1.jpg)\n\n![Image alt](https://github.com/Lifailon/Ookla-SpeedTest-API/blob/rsa/Screen/Grafana-Dashboard-2.jpg)\n\n### Changelog:\n\n**09.07.2023:** Added script create service for dashboard Grafana from the InfluxDB \\\n**19.07.2023:** Debug for process stoppage (added block finally) and disable check certificate to IE settings","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fookla-speedtest-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flifailon%2Fookla-speedtest-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifailon%2Fookla-speedtest-api/lists"}