{"repo": {"name": {"en-US": "NotificationLog ntfy fork"}, "description": {"en-US": "Self-hosted F-Droid repo for the NotificationLog HTTP webhook fork\n(https://github.com/d33mobile/notification-http). Single app:\npl.d33.notificationlog.ntfy. Each push to the webhook-http branch\nships a new versionCode here.\n"}, "icon": {"en-US": {"name": "/icons/icon.png", "sha256": "dac41c0e8207df8963b908ac7ece5a25be78cd7620abadc73e029b40bab83bab", "size": 849}}, "address": "https://d33mobile.github.io/notification-http/fdroid/repo", "timestamp": 1777188285000, "categories": {"System": {"name": {"en-US": "System"}}}}, "packages": {"pl.d33.notificationlog.ntfy": {"metadata": {"added": 1777135263000, "categories": ["System"], "issueTracker": "https://github.com/d33mobile/notification-http/issues", "lastUpdated": 1777188281000, "license": "GPL-3.0-or-later", "sourceCode": "https://github.com/d33mobile/notification-http", "translation": "https://codeberg.org/jonas-l/notificationlog-android", "webSite": "https://github.com/d33mobile/notification-http", "authorName": "jonas-l (upstream) + d33mobile (fork)", "name": {"en-US": "NotificationLog (ntfy)"}, "summary": {"en-US": "Log notifications locally and forward to ntfy.sh"}, "description": {"en-US": "Unofficial fork of jonas-l/notificationlog-android (GPL-3.0-or-later) that\nadds optional ntfy.sh-compatible HTTP webhook delivery on top of upstream's\nlocal notification logger.\n\nAll upstream functionality is intact:\n\n  * captures every notification via NotificationListenerService\n  * stores them locally in a Room database (no network access required)\n  * per-app whitelist / blacklist\n  * export and clear\n\nFork additions (all opt-in under Settings):\n\n  * forward each logged notification to a configurable HTTP endpoint\n    (Title / Tags / optional Bearer auth headers, body = notification text)\n  * offline-resilient: pending deliveries persisted in the same Room\n    transaction as the log row, drained by WorkManager with NetworkType.CONNECTED\n    and exponential backoff. Survives airplane mode, process kill, reboot.\n  * \"Skip ongoing notifications\" toggle (default ON) suppresses\n    foreground-service heartbeats from torrent clients, music players,\n    step counters, etc.\n  * UTF-8 in title via RFC 2047 encoded-word so Polish/German chars survive.\n  * App label prepended to the Title header so subscribers know which\n    app the notification came from.\n\nRequires the user to grant Notification Listener access on first run."}, "preferredSigner": "512ceff081d09109947681c34777617ab65b0af176705211246bac019e2a07e6"}, "versions": {"7a1fed64fe569acd271dba9730fcc5a378e277d7b2fc84384ebc0cd2bf072778": {"added": 1777188281000, "file": {"name": "/pl.d33.notificationlog.ntfy_137.apk", "sha256": "7a1fed64fe569acd271dba9730fcc5a378e277d7b2fc84384ebc0cd2bf072778", "size": 2985605}, "manifest": {"versionName": "ntfy-webhook-v0.2-9-g322d868", "versionCode": 137, "usesSdk": {"minSdkVersion": 21, "targetSdkVersion": 34}, "signer": {"sha256": ["512ceff081d09109947681c34777617ab65b0af176705211246bac019e2a07e6"]}, "usesPermission": [{"name": "android.permission.QUERY_ALL_PACKAGES"}, {"name": "android.permission.INTERNET"}, {"name": "android.permission.ACCESS_NETWORK_STATE"}, {"name": "android.permission.WAKE_LOCK"}, {"name": "android.permission.RECEIVE_BOOT_COMPLETED"}, {"name": "android.permission.FOREGROUND_SERVICE"}, {"name": "pl.d33.notificationlog.ntfy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"}]}, "antiFeatures": {"NonFreeNet": {}}}, "8fc5b141ea84ab1a1b8e6165c370066d48997cf86f5fb8894329e47f5e202f2c": {"added": 1777146478000, "file": {"name": "/pl.d33.notificationlog.ntfy_136.apk", "sha256": "8fc5b141ea84ab1a1b8e6165c370066d48997cf86f5fb8894329e47f5e202f2c", "size": 2985661}, "manifest": {"versionName": "ntfy-webhook-v0.2-8-g9cb7341", "versionCode": 136, "usesSdk": {"minSdkVersion": 21, "targetSdkVersion": 34}, "signer": {"sha256": ["512ceff081d09109947681c34777617ab65b0af176705211246bac019e2a07e6"]}, "usesPermission": [{"name": "android.permission.QUERY_ALL_PACKAGES"}, {"name": "android.permission.INTERNET"}, {"name": "android.permission.ACCESS_NETWORK_STATE"}, {"name": "android.permission.WAKE_LOCK"}, {"name": "android.permission.RECEIVE_BOOT_COMPLETED"}, {"name": "android.permission.FOREGROUND_SERVICE"}, {"name": "pl.d33.notificationlog.ntfy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"}]}, "antiFeatures": {"NonFreeNet": {}}}, "514409a5a37329131c28b51284d873a355fbd32e50c24adeb18a4bc4ca00ccaf": {"added": 1777136838000, "file": {"name": "/pl.d33.notificationlog.ntfy_135.apk", "sha256": "514409a5a37329131c28b51284d873a355fbd32e50c24adeb18a4bc4ca00ccaf", "size": 2985170}, "manifest": {"versionName": "ntfy-webhook-v0.2-7-gf8d00f5", "versionCode": 135, "usesSdk": {"minSdkVersion": 21, "targetSdkVersion": 34}, "signer": {"sha256": ["512ceff081d09109947681c34777617ab65b0af176705211246bac019e2a07e6"]}, "usesPermission": [{"name": "android.permission.QUERY_ALL_PACKAGES"}, {"name": "android.permission.INTERNET"}, {"name": "android.permission.ACCESS_NETWORK_STATE"}, {"name": "android.permission.WAKE_LOCK"}, {"name": "android.permission.RECEIVE_BOOT_COMPLETED"}, {"name": "android.permission.FOREGROUND_SERVICE"}, {"name": "pl.d33.notificationlog.ntfy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"}]}, "antiFeatures": {"NonFreeNet": {}}}, "de83f81d81dfd1e354bd895647bf75697a6c809200e1a05e4f152b349a201871": {"added": 1777135263000, "file": {"name": "/pl.d33.notificationlog.ntfy_134.apk", "sha256": "de83f81d81dfd1e354bd895647bf75697a6c809200e1a05e4f152b349a201871", "size": 2984613}, "manifest": {"versionName": "ntfy-webhook-v0.2-6-g0fc49fb", "versionCode": 134, "usesSdk": {"minSdkVersion": 21, "targetSdkVersion": 34}, "signer": {"sha256": ["512ceff081d09109947681c34777617ab65b0af176705211246bac019e2a07e6"]}, "usesPermission": [{"name": "android.permission.QUERY_ALL_PACKAGES"}, {"name": "android.permission.INTERNET"}, {"name": "android.permission.ACCESS_NETWORK_STATE"}, {"name": "android.permission.WAKE_LOCK"}, {"name": "android.permission.RECEIVE_BOOT_COMPLETED"}, {"name": "android.permission.FOREGROUND_SERVICE"}, {"name": "pl.d33.notificationlog.ntfy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"}]}, "antiFeatures": {"NonFreeNet": {}}}}}}}