No description
Find a file
2025-01-29 12:13:09 +01:00
.woodpecker Fix woodpecker CI 2025-01-21 10:23:24 +01:00
app Add app icons to registration list 2025-01-29 10:35:54 +01:00
fastlane/metadata/android/en-US Improve version 4 changelog 2025-01-29 10:35:28 +01:00
gradle Bump unifiedpush libs 2025-01-29 12:13:09 +01: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
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 signing certificate hash 2025-01-15 17:22:02 +01:00
settings.gradle.kts Init 2024-12-24 14:53:28 +00:00

Sunup - Android

UnifiedPush provider using Autopush

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 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

Developpers

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