No description
Find a file
2025-08-29 15:44:43 +02:00
.woodpecker Fix woodpecker CI 2025-01-21 10:23:24 +01:00
app Use new Distributor#deleteChannelFromServer 2025-08-29 15:44:43 +02:00
fastlane/metadata/android/en-US update screenshots 2025-07-01 19:38:07 +02:00
gradle Bump dependencies 2025-04-15 16:34:42 +02:00
.editorconfig Init 2024-12-24 14:53:28 +00:00
.gitignore Init 2024-12-24 14:53:28 +00:00
build.gradle.kts Init 2024-12-24 14:53:28 +00:00
distributor Add symlinks to distrib modules 2025-08-28 10:47:54 +02:00
distributor_ui Add symlinks to distrib modules 2025-08-28 10:47:54 +02:00
gradle.properties Init 2024-12-24 14:53:28 +00:00
gradlew Init 2024-12-24 14:53:28 +00:00
gradlew.bat Init 2024-12-24 14:53:28 +00:00
LICENSE Init 2024-12-24 14:53:28 +00:00
README.md fixed typo 2025-08-28 10:47:54 +02:00
settings.gradle.kts Remove unused dep 2025-02-08 10:00:25 +00:00

Sunup - Android

UnifiedPush provider using Autopush

Get it on F-Droid Get it on IzzyOnDroid Get it on Codeberg

Usage

  1. Install this application
  2. Open it, and grant background usage without restrictions permission
  3. Register your application compatible with UnifiedPush (may be transparently done)

Self-host

It is possible to host your own Autopush server. Autopush is designed to work with Google BigTable but it is also possible to use it with redis.

For this:

  1. Clone Autopush (this fork until redis support has been merged).
  2. Generate Fernet keys:
    1. Set a python virtual env, for instance: venv .venv && . .venv/bin/activate
    2. Install cryptography python -m pip install cryptography
    3. Run the generation script: python scripts/fernet_key.py
  3. Replace the following values in redis-docker-compose.yml:
    • AUTOCONNECT__CRYPTO_KEY
    • AUTOCONNECT__ENDPOINT_SCHEME
    • AUTOCONNECT__ENDPOINT_HOSTNAME
    • AUTOCONNECT__ENDPOINT_PORT
    • AUTOEND__CRYPTO_KEYS
    • AUTOEND__ENDPOINT_URL
  4. Setup a reverse proxy to add TLS support, for instance with caddy:
# Autoconnect endpoint
push.domain.tld {
  reverse_proxy 127.0.0.1:8080
}
# Autoend endpoint
updates.push.domain.tld {
  reverse_proxy 127.0.0.1:8000
}
  1. In the android app, change server to the autoconnect endpoint (here push.domain.tld).

Signing certificate hash

The package name along with the SHA-256 hash can be found below.

To verify the APK use the AppVerifier Android application or the apksigner tool.

org.unifiedpush.distributor.sunup
3B:33:D7:8A:5B:CA:C1:B9:52:75:6B:08:FE:88:30:CE:D3:87:AB:B6:B9:56:B0:2A:47:EF:80:32:1D:4A:2B:88

Developers

It is possible to configure a few things with build config:

Name Description Default
DEFAULT_API_URL Define the API Url used by default "https://push.services.mozilla.com"
URGENCY To add support for urgency requirement depending on the battery level false until this is supported by the main server