Code Monkey home page Code Monkey logo

common-proxies's Introduction

UnifiedPush Common-Proxies

Common-Proxies is a set of rewrite proxies and push gateways for UnifiedPush. See the following diagram for more info regarding where rewrite proxies and push gateways fit in UnifiedPush. UnifiedPush service connection diagram

Common-Proxies is most commonly used to do the following:

  1. Adding UnifiedPush compatibility to a Gotify server.
  2. Self-Hosting the Matrix to UnifiedPush push gateway.
  3. App Developers only: Running embedded FCM distributor.

Installing

To install this the typical way, go to install.md.
If you know docker-compose and want to quickly set it up, go to docker-quickstart.md.

Documentation for configuration can be found at config.md.

For more details about how this works, read on -

Rewrite Proxy

Common-Proxies handles paths like /UP (Gotify) or /FCM (Firebase). Only traffic for these paths should be forwarded to common-proxies, where it can then convert the push message to the push-provider specific format.

FCM

This is meant to be hosted by the app developers or someone who has access to the Firebase settings for that project. The FCM key under rewrite.fcm in the config file is this secret key.

Gotify

An installed reverse-proxy needs to forward the /UP path from the Gotify domain to common-proxies. Common-Proxies then modifies the request and sends it back to the server.

Gateway

A Gateway is meant to take push messages from an existing service (like Matrix) and convert it to the UnifiedPush format. While Gateways are primarily meant to be hosted by the App Developer, some Gateways (like Matrix) support discovery on the push provider domain to find self-hosted gateways. It's always optional to host gateways as the app developer must have one.

Matrix

Gateways Matrix push notifications.
["notification"]["devices"][0]["pushkey"] is the UP endpoint this gateways to.

Note

  • Not all architectures in the releases have been tested.

common-proxies's People

Contributors

karmanyaahm avatar squatica avatar p1gp1g avatar craeckie avatar harharlinks avatar moffatman avatar dependabot[bot] avatar

Stargazers

hollyDanmaster01  avatar

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.