Giter Club home page Giter Club logo

Comments (1)

sqall01 avatar sqall01 commented on June 28, 2024

This is something I have in the back of my mind for a long time. The problem is that I want to build it in a way that no one needs to change settings on the their home network like allowing a port to a webserver from the outside or something like this. If this is something you are searching for, this already is an (undocumented) part in the AlertR repository which also has a "beta" client in the Google Playstore. This app connects to a webserver via HTTPS which and logs in via basic authentication. However, this code exists for years and will not be pursued further since I see it as a dead end (but it works, I still use it).

Back to how to tackle the problem of not having to change any network setting. I have two ideas to work on this issue:

First idea (and the simple one):
Next to the central push notification system, also provide a way to store AlertR information there. Then a new "AlertR Manager Client" could publish the data AlertR gathers there and the App could gather it. In order to be privacy preserving, this would need end-to-end encryption. Meaning, the new "AlertR Manager Client" would encrypt the data with a secret configured and the AlertR App would decrypt the data on the mobile device with the same secret. This would also allow the App to provide widgets that show for example sensor states on your mobile device display directly instead of starting the App to see the information.

Second idea (complicated one):
Next to the central push notification system, also provide a proxy service here. Meaning a new "AlertR Manager Client" would always connect to the central system, your AlertR App would also connect to the central system, and then both would establish an end-to-end encrypted tunnel. Meaning the central system is some kind of proxy which only provides a means to build a connection back to your local AlertR system. Since this tunnel would be end-to-end encrypted, it is privacy preserving and even the centralized system could not see the data exchanged.

Both ideas a more involved. I looked into the second idea and how one could create an end-to-end encrypted tunnel. However, if one wants to use build-in functions to create a TLS tunnel there seems to be a bug on Android which makes this more difficult. But could be this is already fixed, since I looked it up a few years ago.

from alertr-push-android.

Related Issues (4)

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.