Une notification Mastodon reçue dans Tusky via le serveur push Murena
Recevez vos notifications sans passer par Google.

Beaucoup d’applications doivent réveiller votre téléphone lorsqu’il se passe quelque chose : un nouveau message, une mention, une invitation de calendrier. Sur la plupart des téléphones Android, cela passe par le service de push de Google. UnifiedPush est une alternative ouverte : la notification est délivrée par un serveur que vous choisissez, et aucun service Google n’est impliqué.

/e/OS prend en charge UnifiedPush nativement, et utilise par défaut le Murena push server (push.murena.com).

Comment ça marche

Trois parties sont impliquées :

  1. L’application sur votre téléphone, par exemple Tusky.
  2. Le distributeur, une application sur votre téléphone qui maintient une connexion ouverte vers un serveur push et transmet les notifications à la bonne application. /e/OS en inclut un, basé sur ntfy.
  3. Le serveur push, push.murena.com par défaut. Le serveur du service que vous utilisez (par exemple votre serveur Mastodon) lui envoie la notification, et il la transfère à votre téléphone.

Quand vous installez une application qui prend en charge UnifiedPush, elle détecte le distributeur, lui demande une adresse sur le serveur push, et donne cette adresse au service. Il n’y a rien à configurer.

Comparé au push Google

Push Google (via microG)UnifiedPush
ServerCelui de GoogleCelui de Murena, ou le vôtre
Contacts GoogleOui, anonymement (voir Appels aux serveurs Google)Non
Supported byApplications conçues pour Google Play ServicesApplications qui implémentent UnifiedPush
Setup on /e/OSAucuneAucune

Certaines applications, comme Tusky, ne prennent en charge que UnifiedPush et n’ont pas du tout de push Google : sur /e/OS elles l’utilisent automatiquement.

Astuce: Avec Web Push, utilisé par Mastodon et Tusky par exemple, le contenu d’une notification est chiffré entre le service et votre application. Le serveur push ne fait que le relayer. La part qui est chiffrée dépend de l’application, consultez donc sa documentation.

Quelles applications le prennent en charge

Le projet UnifiedPush tient la liste des applications compatibles. On y trouve des clients Mastodon comme Tusky, des clients Matrix comme Element et FluffyChat, et des applications de messagerie comme Molly.

Utiliser sur /e/OS

  1. Installez une application qui prend en charge UnifiedPush, par exemple depuis App Lounge.
  2. Ouvrez-la et connectez-vous comme d’habitude.
  3. Attendez une notification.

L’application s’enregistre auprès du distributeur inclus dans /e/OS. Si plusieurs distributeurs sont installés sur le téléphone, l’application vous demande d’en choisir un : sélectionnez ntfy.

Avertissement: Si vous installez un autre distributeur, les applications peuvent vous demander de choisir entre eux. Le distributeur inclus dans /e/OS est celui qui utilise le Murena push server.

Mode expert : utilisez votre propre serveur

Vous pouvez héberger votre propre serveur push et faire en sorte que /e/OS l’utilise à la place de push.murena.com. Ceci s’adresse aux personnes qui gèrent déjà leurs propres services.

Configurer le serveur

Le distributeur de /e/OS parle à un serveur ntfy standard. Installez-le en suivant la documentation ntfy, puis vérifiez ces points :

  • Le serveur doit être accessible depuis Internet en HTTPS, avec un certificat valide. Le service que vous utilisez (Mastodon, Matrix…) lui envoie les notifications, donc un serveur accessible uniquement depuis votre réseau local ne fonctionnera pas.

  • Les services publient sur des topics dont le nom commence par up, sans compte. Si vous exploitez un serveur privé (auth-default-access: deny-all), autorisez tout le monde à écrire sur ces topics, comme expliqué dans l’exemple UnifiedPush de ntfy :

    ntfy access '*' 'up*' write-only
    

    Votre téléphone doit toujours être autorisé à les lire : ajoutez votre compte dans le paramètre Gérer les utilisateurs du distributeur.

  • Réfléchissez aux limites du serveur (nombre de topics, requêtes par visiteur) si de nombreuses personnes vont l’utiliser, voir ntfy rate limiting.

Indiquer à /e/OS d’utiliser votre serveur

Le distributeur n’a pas d’icône sur l’écran d’accueil. Pour accéder à ses paramètres, activez le débogage USB, connectez votre téléphone à un ordinateur avec adb et exécutez :

adb shell am start -n foundation.e.ntfy/io.heckel.ntfy.ui.MainActivity

Puis :

  1. Tapez sur le menu à trois points, puis sur Paramètres.
  2. Touchez Serveur par défaut.
  3. Saisissez l’URL racine de votre serveur, par exemple https://push.example.org, puis appuyez sur OK.

La boîte de dialogue Serveur par défaut avec l’URL d’un serveur personnalisé

Le nouveau serveur est utilisé pour les applications qui s’enregistrent ensuite. Une application déjà enregistrée conserve l’adresse qui lui a été donnée : pour la déplacer vers votre serveur, réinstallez-la, ou supprimez son enregistrement si l’application propose cette option.

Pour revenir au Murena push server, videz le champ Serveur par défaut.

Avertissement: N’utilisez pas ce réglage avec un serveur que vous ne contrôlez pas : c’est le serveur qui relaie vos notifications.