mod_unified_push/README.md
changeset 5142 4511e90d1d08
parent 5132 7cc0f68b8715
child 5143 449e4ca4de32
equal deleted inserted replaced
5141:471cbb583a1d 5142:4511e90d1d08
     5 ---
     5 ---
     6 
     6 
     7 This module implements a [Unified Push](https://unifiedpush.org/) Provider
     7 This module implements a [Unified Push](https://unifiedpush.org/) Provider
     8 that uses XMPP to talk to a Push Distributor (e.g. [Conversations](http://codeberg.org/iNPUTmice/Conversations)).
     8 that uses XMPP to talk to a Push Distributor (e.g. [Conversations](http://codeberg.org/iNPUTmice/Conversations)).
     9 
     9 
    10 For a server-independent external component, or details about the protocol,
    10 It allows push notifications to be delivered to apps on your device over XMPP.
    11 see [the 'up' project](https://codeberg.org/inputmice/up).
    11 This means notifications can be delivered quickly and efficiently (apps don't
       
    12 need to repeatedly poll for new notifications).
       
    13 
       
    14 For a list of compatible apps, see the [UnifiedPush apps list](https://unifiedpush.org/users/apps/).
       
    15 
       
    16 A server-independent external component is also available - see [the 'up'
       
    17 project](https://codeberg.org/inputmice/up). That project also contains a
       
    18 description of the protocol between the XMPP server and the client.
    12 
    19 
    13 This module and the protocol it implements is at an experimental prototype
    20 This module and the protocol it implements is at an experimental prototype
    14 stage.
    21 stage.
    15 
    22 
    16 Note that this module is **not related** to XEP-0357 push notifications for
    23 Note that this module is **not related** to XEP-0357 push notifications for
    26 
    33 
    27 A random push secret can be generated with the command
    34 A random push secret can be generated with the command
    28 `openssl rand -base64 32`. Changing the secret will invalidate all existing
    35 `openssl rand -base64 32`. Changing the secret will invalidate all existing
    29 push registrations.
    36 push registrations.
    30 
    37 
       
    38 This module exposes a HTTP endpoint (to receive push notifications from app
       
    39 servers). For more information on configuring HTTP services in Prosody, see
       
    40 [Prosody HTTP documentation](https://prosody.im/doc/http).
       
    41 
       
    42 ### Example configuration
       
    43 
       
    44 This example creates a push notification component called
       
    45 'notify.example.com'.
       
    46 
       
    47 The 'http_host' line instructs Prosody to expose this module's HTTP services
       
    48 on the 'example.com' host, which avoids needing to create/update DNS records
       
    49 and HTTPS certificates if example.com is already set up.
       
    50 
       
    51 ``` {.lua}
       
    52 Component "notify.example.com" "unified_push"
       
    53     unified_push_secret = "<secret string here>"
       
    54     http_host = "example.com"
       
    55 ```
       
    56 
    31 ## Compatibility
    57 ## Compatibility
    32 
    58 
    33 Requires Prosody trunk (not compatible with 0.12).
    59 Requires Prosody trunk (not compatible with 0.12).