No description
sim 553da0beae
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.2.2
2025-11-06 14:00:52 +01:00
.woodpecker Build AAB with releases 2025-10-05 22:41:16 +02:00
app 1.2.2 2025-11-06 14:00:52 +01:00
buildSrc Use build tools version from the project 2025-10-08 13:33:19 +02:00
fastlane/metadata/android 1.2.2 2025-11-06 14:00:52 +01:00
gradle Bump android-distributor(-ui) 2025-11-06 14:00:52 +01:00
scripts Rename app.apks 2025-10-08 09:01:12 +02: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 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