Skip to content

Keryx

GitHub shimataro/keryx

Install Keryx

Download Zapstore

Download
QR code for zapstore.dev/download
  • Scan the code with your phone’s camera
  • Tap Download anyway if the browser warns about the file
  • Allow your browser to install unknown apps if Android asks
  • Open Zapstore and finish the onboarding

Open Keryx in Zapstore

Open
QR code to open Keryx in Zapstore
  • Scan the code to open Keryx in Zapstore, or search for it there
  • Tap Install, and Download if Zapstore asks you to confirm the developer
  • Confirm in Android’s install dialog. Allow Zapstore to install unknown apps if Android asks

Unclaimed app

The catalog lists Keryx from GitHub shimataro/keryx and signs its releases. The developer has not claimed it. The file is still checked before you install it.

Are you the developer? Cryptographically prove you hold the key that signs it.

How trust works

Local-first, cross-platform RSS reader. By default, all of your data lives on your device; turn on cloud sync only if you want the same subscriptions, read/starred status, and articles to follow you between your phone and your desktop.

One reader. Every device.

Keryx is a local-first, cross-platform RSS reader. By default, all of your data lives on your device; turn on cloud sync only if you want the same subscriptions, read/starred status, and articles to follow you between your phone and your desktop.

FEATURES

• Multi-device sync via your own cloud storage (Dropbox or OneDrive) — no account with Keryx itself, ever. (Google Drive sync, available in the Google Play and GitHub builds, is not part of the F-Droid build because it needs Google Play services.) • Local-first: works fully offline, with no sync required • Fast local full-text search across article titles and content • Organize feeds with tags (cross-cutting labels) and folders (hierarchical grouping) • RSS 2.0 and Atom 1.0 support (RSS 1.0/RDF is also loosely parsed) • OPML import and export, for moving to or from other RSS readers and for backing up your subscriptions • Completely free — no freemium tiers, no trial period, no ads • Open source — the full source code is public and can be inspected or modified by anyone

PRIVACY

Keryx has no user accounts and no server operated by its developer. There is nothing to sign up for, and nothing that its developer's own infrastructure ever receives. The app includes no analytics, telemetry, crash reporting, advertising, or tracking of any kind. The F-Droid build contains no Google Play services and never checks for updates itself — F-Droid does that.

Keryx talks only to servers directly relevant to what you're doing: the feeds you subscribe to (and their favicons) and — only if you connect one — Dropbox or OneDrive for sync. Nothing else.

Learn more, including the full privacy policy, at https://keryx.merc.works

Summary generated by Zapstore from source.

Original description, as the developer published it.

Zap Keryx

Zapping anonymously. Sign in to zap with your identity.

No developer has verified this app yet, so sats go to npub1gnwq4…thdn3y, the catalog that brought it to you.

Amount in sats

Latest release

Nov 5, 2026

Unclaimed app Google servicesSource available · MIT

The catalog lists this app from GitHub shimataro/keryx and signs its releases. The developer has not claimed it. Are you the developer? Claim your app

Includes Google Play services for optional cloud sync. Can install packages to update the app.

Permissions

  • Notifications POST_NOTIFICATIONS Send you notifications
  • Install apps REQUEST_INSTALL_PACKAGES Install other apps REQUEST_INSTALL_PACKAGES

Release notes

What's Changed in v0.27.0

New Features

  • The article list now has three exclusive modes — All, Unread and Starred — chosen from a pop-up button in the list toolbar or the View menu (⌘/Ctrl+1–3). Starred narrows the current feed, folder, tag or search to its starred articles for the session. #305
  • Every feed being refreshed shows a small spinner in place of its icon in the feed list (collapsed folders too), on every platform, until its new articles have landed. #301
  • On Android and iOS, automatic cloud sync now waits for Wi-Fi by default and is held back under Data Saver / Low Data Mode; a new "Sync automatically over mobile data" setting allows metered networks, and the Cloud Sync tab shows when a sync is waiting. #290
  • iOS shows a refresh you started (pull, Refresh All, a feed's Refresh) in the bottom bar — "Checking for new articles…", then the result. A refresh that reaches none of its feeds leaves one notification-center entry explaining what to check. #287
  • A pull or Refresh All made while an automatic refresh is running now joins it and reports its result. #301
  • The reader keeps its scroll position after the app is terminated in the background (Android and iOS) and after the web content process restarts; iOS also returns to the column you were on. #308
  • iPhone Duo support: the setup screen fits the outer display, and the article list toolbar prioritizes its most important items in vertical bars. #294
  • The macOS app is now also available on the Mac App Store (updated by the App Store, without the built-in updater). #317, #318

Improvements

  • Read / unread / star changes now sync in batches (after a few minutes of quiet, or when the app leaves the foreground) instead of uploading the whole database per article; refreshes no longer trigger extra syncs, and unchanged read/star writes are skipped. #289
  • New-article notifications from automatic refreshes are held back while the app is in front, where the unread counts and the new-articles pill already show them. #301
  • "Hide Read Articles" moved from the article list toolbar to the View menu, freeing toolbar room (on a narrow iPhone, Mark All as Read no longer drops into the overflow menu). #307
  • Faster refresh and reading: each feed is applied as soon as its own fetch completes, the reader shows the article header while the body loads, favicons are no longer re-probed every refresh, and needless recompositions were removed. #295, #300, #310, #312
  • Lower memory use during refresh, and repeated "feed gone" (410) warnings collapse into one entry per feed. #309
  • Favicon corners now scale with their size, consistently across the feed list, article list and reader. #304

Bug Fixes

  • Fixed an iOS crash when returning from the reader to the article list while the list changed (e.g. during a refresh or sync). #303
  • Android no longer crashes when the reader's WebView renderer dies; the reader is rebuilt at the same position. #308
  • "Mark all as read" now works under the Starred list. #305
  • Search results keep their scroll position, and no "no articles" message flashes while the list is still loading. #295
  • The setup screen scrolls on small iPhone displays instead of clipping the cloud providers. #292
  • iOS: the sidebar sync button shows a spinner while syncing, and the reader's scroll indicator is visible in dark mode. #286, #285
  • The desktop OAuth loopback redirect server now binds to 127.0.0.1, and macOS keychain decode failures never log tokens. #315
  • Resolved Apple build warnings. #299

Build & CI

  • Added a Mac App Store target without Sparkle, a CI check that its archive carries no self-updater, and a workflow that publishes it to App Store Connect. #317, #318, #320
  • The App Store workflow builds the release tag by default and supports automatic or manual release. #288

Documentation

  • README and docs describe the iOS/iPadOS app as released on the App Store, with App Store and Mac App Store screenshots and an updated download section. #291, #316, #321
  • Shortened the external spec, moving implementation details into the focused design docs. #306

Other Changes

  • Code-quality sweeps and test hardening (deterministic waits instead of sleeps, broader coverage). #293, #298, #311, #315
  • Development-tooling updates. #302, #313, #314

Full Changelog: https://github.com/shimataro/keryx/compare/v0.26.0...v0.27.0

Comments

Loading comments…

See more

Get Keryx the private way

Updates checked on your device, and every release verified before it installs.

Get Zapstore for Android

  1. Tap Download APK below.Scan the code with your Android phone’s camera.
  2. If Android asks, allow your browser to install unknown apps.
  3. Open Zapstore and finish the onboarding.
Download APK

v2.0.4 · 71.2 MB · Android 10+

Verify the download

On a computer, run shasum -a 256 <the file you downloaded>. It should print: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

If you have zsp, Zapstore’s publishing tool, zsp utils extract-apk <the file you downloaded> works too. Its hash should be the same SHA-256: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

On the phone, AppVerifier should show this signing certificate: 99e33b0c2d07e75fcd9df7e40e886646ff667e3aa6648e1a1160b036cf2b9320

Source code All releases and notes

Get zsp

  1. Download the file for your computer.
  2. Make it executable and put it on your PATH.
  3. In your project folder, run zsp.

Have Go? This does the same:

go install github.com/zapstore/zsp/v2/cmd/zsp@latest
macOS, Apple silicon Linux, x86-64 Linux, arm64

v2.0.1 · macOS and Linux

Verify the download

On your computer, run shasum -a 256 <the file you downloaded>. It should print the SHA-256 for the one you chose.

macOS, Apple silicon · 18.6 MB 99018fb9744e5ace2b44557550dc333496239912c0e9b1137266d4922c803346

Linux, x86-64 · 23.8 MB 1ef5373f8ecd9ba63d2c3fab98abb0d31b2244a2aac31b3749fb205c7d5f5b38

Linux, arm64 · 22.1 MB e421005ee47cba58293dce4277bb784e4cfe706dbbcb8617d671629d0238be18

Source code All releases and notes