No description
  • Kotlin 99.3%
  • Shell 0.7%
Find a file
sim 3e6a30ec76
All checks were successful
ci/woodpecker/push/main Pipeline was successful
ci/woodpecker/tag/main Pipeline was successful
ci/woodpecker/release/main Pipeline was successful
1.3.0-rc3
2026-02-18 17:58:34 +01:00
.woodpecker Build AAB with releases 2025-10-05 22:41:16 +02:00
app 1.3.0-rc3 2026-02-18 17:58:34 +01:00
buildSrc Bump dependencies 2026-01-10 19:27:33 +01:00
fastlane/metadata/android 1.3.0-rc3 2026-02-18 17:58:34 +01:00
gradle Update distributor libs to 0.7.3 2026-02-18 17:56:20 +01:00
scripts Migrate from pass to passage 2026-01-11 09:07:02 +01:00
.editorconfig Lint 2025-09-30 16:51:39 +02: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 Add link to translations 2026-02-18 17:54:54 +01:00
settings.gradle.kts Include distributor-base local substitution 2026-02-18 12:07:02 +01: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

Translations

You can contribute to translations on Weblate