• Stars
    star
    203
  • Rank 192,890 (Top 4 %)
  • Language
  • License
    MIT License
  • Created almost 8 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Discovered API-endpoints for the Google Wifi Router and OnHub

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.

More Repositories

1

l5-very-basic-auth

Stateless HTTP basic auth for Laravel without the need for a database.
PHP
157
star
2

laravel-backup-shield

๐Ÿ”’Password protection (and encryption) for your laravel backups.
PHP
32
star
3

laravel-zxcvbn

Implementation of the zxcvbn project by @dropbox for Laravel.
PHP
28
star
4

ampersand

Plug and play flat file markdown blog for your Laravel-projects
PHP
26
star
5

alfred-password-generator

Simple password generator to quickly get a randomly generated secure password to your clipboard.
JavaScript
19
star
6

flight-phpactiverecord-twig

Just a small project where I demonstrate Flight together with php-activerecord and Twig
PHP
19
star
7

swish-php

Swish API-wrapper for PHP and Laravel
PHP
19
star
8

identity-number

Validator for Swedish personal identity numbers (personnummer). For use "standalone" or with Laravel.
PHP
17
star
9

swedish-entity

Validate, format and extract data for Swedish personnummer (social security numbers) and organisationsnummer (organisational numbers)
PHP
12
star
10

iso-mac-wasd-keyboard

10
star
11

l5-humans

Simple humans.txt routes and views in Laravel.
PHP
8
star
12

blockip

Block requests from specified IPs in Laravel.
PHP
6
star
13

nibe-app

Host your own stats for your NIBE heat system
PHP
5
star
14

deploy

Set and retrieve the date and time when the last deployment of your Laravel-app occurred.
PHP
4
star
15

kbd67-iso

ISO-layout for the KBD67 (rev2) board
1
star
16

loopia-api

Simple wrapper for the Loopia XMLRPC-API
PHP
1
star
17

secondcrack-rpc-tool

A simple RPC-pinging tool for SecondCrack
PHP
1
star
18

horizon-status

Utility to check the status of Lavarel Horizon instances programmatically
PHP
1
star