Skip to content
Discovered API-endpoints for the Google Wifi Router and OnHub
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENCE.md Updated licences. Feb 26, 2018
README.md Typo Sep 9, 2018

README.md

Google Wifi API

Discovered API-endpoints for the Google Wifi Router and OnHub

The default submask/IP for the Google Wifi Router is 192.168.86.1, using a Google (TP-LINK) OnHub you should also be able to reach the endpoints via http://on.here/.

Collecting this information to maybe build a nifty macOS-app further down the road.

Another project of note is marcosscriven/galeforce which allows you to root and gain SSH-access to the unit (!).

Discovered API-endpoints:

http://192.168.86.1/api/v1/welcome-mat

OnHub-specific

http://192.168.86.1/api/v1/status

Displays useful status information for the router

http://192.168.86.1/api/v1/connected-devices

If you set the Host header's value to localhost or onhub.here you'll get a 200 response with a response with one field, hueBridges.

Example use using httpie:

$ http --print hbHB http://192.168.86.1/api/v1/connected-devices 'Host:onhub.here'
GET /api/v1/connected-devices HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: onhub.here
User-Agent: HTTPie/0.9.9



HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 27
Content-Type: application/json; charset=utf-8
Date: Wed, 13 Sep 2017 21:47:46 GMT

{
    "_hueBridges": []
}
http://192.168.86.1/api/v1/get-endorsement-information

Just gives the message "device is registered"

http://192.168.86.1/api/v1/get-attestation-information

Returns the message "device is registered"

http://192.168.86.1/api/v1/get-group-configuration

Returns a value for "groupConfiguration"

http://192.168.86.1/api/v1/diagnostic-report

Generates a rather large (> 1.1MB) file with some really interesting diagnostics info together with some kind of encoded data-dump.

http://192.168.86.1/api/v1/get-shmac?ip=<client_ip>

Returns device id for a given IP address. Doesn't work for the router's IP address though.

http://192.168.86.1/api/v1/wan-configuration

Returns (GET) or updates (POST) WAN configuration. Configuration could be one of:

  • { "type": "dhcp" }
  • { "type": "static", "ipAddr": "...", "netmask": "...", "gateway": "..." }
  • { "type": "pppoe", "username": "...", "password": "..." }
http://192.168.86.1/api/v1/set-led-state

Expects a POST request with Content-Type application/json and {"name":"...", "timeoutSeconds":"..."} payload.

The only name supported seems to be "setup_activity", and timeout should be an integer string. Even though Google Wifi accepts the request, there's no visual changes in led state. Not sure why.

http://192.168.86.1/api/v1/developer-configuration

Returns environment information and update url.

Other not-so-useful requests found:

http://192.168.86.1/api/v1/prepare-for-setup

Expects a POST request with Content-Type application/json and empty object payload.

http://192.168.86.1/api/v1/register-device

Expects a POST request with Content-Type application/json and { "tickedId": "...", "displayName": "..." } payload.

http://192.168.86.1/api/v1/station-mode

Expects a POST request, only available in setup mode (would fail otherwise).

http://192.168.86.1/api/v1/join-group

Expects a POST request with Content-Type application/json and { "groupConfiguration": "...", "kek": "...", "mac": "..." } payload.

http://192.168.86.1/api/v1/prove-identity

Expects a POST request with Content-Type application/x-protobuf and binary payload.


Copyrights and licence

The MIT License (MIT). Please see License File for more information.

"Google", "Google Wifi" and "OnHub" are properties and trademarks of Google LLC. ©2017 Google LLC. Google and the Google Logo are registered trademarks of Google LLC.

© 2017 Marcus Olsson.

You can’t perform that action at this time.