GithubHelp home page GithubHelp logo

long-live-sense's Introduction

long-live-sense

As Hello said Goodbye, this repo is in an effort to keep the Hardware alive

Motivation

Hello, inc. yesterday announced that they'd be shutting down in the foreseeable future. As a first-minute user of Sense, I'd hate to see this beautiful piece of hardware turn into a beautiful paperweight.

This repository should become a central hub to coordinate the efforts of reverse-engineering the following parts that, in sum, make up Sense.

Parts

Sense Server

Sense API

This API is needed to allow for the basic operation of the Sense hardware. We will need to implement a custom server that provides the same calls so that Sense keeps running.

Security

Sense uses TLSv1.2 for all connections, except for time.hello.is. All communication is encrypted with a certificate for *.hello.is which let's me believe that there's only one certificat in the actual Sense hardware for certificate-pinning. Use of cert pinning was confirmed using a MITM proxy, this means we are not able to simply capture the traffic between Sense and the Sense API.

Server URLs

On startup, Sense connects to the following servers:

  • time.hello.is (plain http) where it POSTs some protobuf data and receives data in return
  • messeji.hello.is (TLSv1.2) this server seems to be used often, but not as often as the next one
  • sense-in.hello.is (TLSv1.2) this is where most of the communication seems to happen
Todos
  • Connect Sense via MITM Proxy to the server
  • Confirm whether or not Sense uses Certificate Pinning: it does :(
  • Document used Endpoints and existing responses
  • Mock API

App API

This API is consumed by the Sense App and allows reading stats and setting up alarms.

Todos
  • Connect Sense App via MITM Proxy to the server (see References)
  • Document used Endpoints and existing responses
  • Mock API
References

Sense Firmware

These are the bits and bytes that power the Sense Hardware. At the very least, we will need to figure out how to make Sense connect to a custom API URL.

Todos
  • Fetch existing firmware from the Sense Server
  • Figure out how to change the API URL
  • Figure out how to update Sense with custom firmware

Sense App

Contributing

This project will live through contributions, so please, if you have anything to add - fork it, submit a PR and be part of it.

long-live-sense's People

Contributors

0ff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

majacq

long-live-sense's Issues

Contact with James Proud (www.sense.is)

Hey there,

I just contacted James Proud via E-Mail and he is willing to change DNS-entries for sense.is if we provide him with details so we can potentially start server communications. As I do not have really great expertise, I'd like to ask you wether this would be of any help.

Thanks and let's hope we can get this great piece of hardware to work again!

Lucas

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.