Recently Written · git

ink-update

Ink Update: tells you when Rebind, Ink Recents or Ink Dim has a new version. F-Droid, then Google Play, then GitHub.

git clone https://github.com/equwal/ink-update

Log | Files | Refs


README.md (5415 bytes)

1 # Ink Update
2 
3 Watches Rebind and its extensions, and tells you when a new version is ready.
4 
5 The app does not install anything. It finds the new version, makes a
6 notification, and opens the page. You install it.
7 
8 Made for e-ink readers and any Android 12 or later.
9 
10 ## Screenshots
11 
12 <p>
13   <img src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" width="260" alt="The list of the watched apps, each up to date, and the Check now button">
14 </p>
15 
16 The picture is from a Viwoods AiPaper Reader.
17 
18 ## Why this is a separate app
19 
20 Rebind has no internet permission. This app has it, so Rebind does not need it.
21 
22 An app that looks for updates must reach the network. An app that reads your
23 buttons must not. So the two jobs live in two apps. You can remove this one at
24 any time, and Rebind keeps working.
25 
26 ## What it watches
27 
28 - Rebind
29 - Ink Recents
30 - Ink Dim
31 - Ink Update
32 
33 The app shows only the ones that are on your device.
34 
35 ## Where it looks
36 
37 The app tries three places, in this order.
38 
39 1. **F-Droid.** The app asks F-Droid for the newest build of the package. If
40    F-Droid has a newer one, the app opens the F-Droid page. The F-Droid client
41    does the install.
42 2. **Google Play.** Google Play has no public way to ask. So the app asks the
43    system which app did the install. If Google Play did the install, Google
44    Play updates the app, and Ink Update stops there. The row says
45    "Play updates this app". There is no notification.
46 3. **GitHub.** The app reads the last ten releases of the repository and takes
47    the newest one that is not a draft. Every Rebind release is a pre-release,
48    so the app cannot use the "latest release" address.
49 
50 ## What it sends
51 
52 Two hosts, and nothing else:
53 
54     https://f-droid.org/api/v1/packages/<package>
55     https://api.github.com/repos/<owner>/<name>/releases?per_page=10
56 
57 Each request carries the package name or the repository name, and a User-Agent
58 that names this app. There is no identifier, no account, no advertisement and
59 no analytics. See [PRIVACY.md](PRIVACY.md).
60 
61 ## Use
62 
63 - **Check now** looks at each installed app.
64 - **Check once a day** keeps a daily check. It lives through a restart.
65 - A row with an update opens the page for that app.
66 - A notification says "Rebind 0.0.16-alpha is ready". Tap it for the page.
67   Tap **Download** for the APK.
68 
69 ## Start it from somewhere else
70 
71 One intent action:
72 
73     dev.equwal.inkupdate.CHECK
74 
75 Example with adb:
76 
77     adb shell am start -a dev.equwal.inkupdate.CHECK
78 
79 Rebind can put this on a hardware button.
80 
81 ## Install
82 
83 Download the APK from the Releases page and install it.
84 
85 Open the app once. It asks for the notification permission and does the first
86 check.
87 
88 ## More extensions
89 
90 [Awesome Rebind](https://github.com/equwal/awesome-rebind).
91 
92 ## Say thanks
93 
94 Ink Update is free and open source. If it made your device better, you can
95 [buy me a coffee](https://ko-fi.com/truex).
96 
97 ## Build
98 
99 You need JDK 17 or later and the Android SDK, with platform 36.
100 
101     ./gradlew testReleaseUnitTest assembleRelease
102 
103 The APK is in `app/build/outputs/apk/release/`.
104 
105 The APK has no dependency. The app uses `java.net.HttpURLConnection`, the
106 `org.json` of the platform, and `JobScheduler`.
107 
108 Release signing is optional. Put a `keystore.properties` file in the root of
109 the project with `storeFile`, `storePassword`, `keyAlias` and `keyPassword`.
110 Without that file the build makes an unsigned APK.
111 
112 ## More projects
113 
114 - [SubRead](https://subread.space/): read along with an audiobook, in the browser.
115   Also [for Android](https://github.com/equwal/subread-android/releases/latest),
116   [for YouTube](https://github.com/equwal/subread-extension/releases/latest)
117   and [for KOReader](https://github.com/equwal/subread.koplugin).
118 - [SubRead Overlay](https://github.com/equwal/subread-overlay/releases/latest): subtitle lines over any Android media player.
119 - [SubRead Dictionary](https://github.com/equwal/subread-dictionary/releases/latest): a pop-up dictionary for Android that reads Yomitan dictionaries.
120 - [SubRead Anki](https://github.com/equwal/subread-anki): one tap makes an Anki card from any Android app.
121 - [Subrep](https://github.com/equwal/subrep-android/releases/latest): live captions of the sound of your phone.
122 - [Book Simulator](https://booksimulator.com/): a reading room for Aozora Bunko and Project Gutenberg books.
123 - [honjimaku.com](https://honjimaku.com/): subtitles for Japanese audiobooks.
124 - [sbm Sync](https://sbmsync.com/): your bookmarks, the same on every device,
125   with [sbm](https://github.com/equwal/sbm) for dmenu,
126   [sbm for Android](https://github.com/equwal/sbm-android/releases/latest)
127   and the [sbm add-on](https://github.com/equwal/sbm-extension/releases/latest) for Firefox and Chrome.
128 - [Rebind](https://github.com/equwal/rebind/releases): remap the hardware buttons of e-ink readers and Android,
129   with [Ink Recents](https://github.com/equwal/ink-recents/releases/latest),
130   [Ink Dim](https://github.com/equwal/ink-dim/releases/latest)
131   and [Ink Update](https://github.com/equwal/ink-update/releases/latest).
132 - [dickt.store](https://dickt.store/): language-learning tools, flashcards and web toys.
133 - [hentaibun.online](https://hentaibun.online/): learn kanbun and kobun.
134 - [Recently Written](https://recentlywritten.com/): the blog, and a list of [all projects](https://recentlywritten.com/projects.html).
135 
136 ## Licence
137 
138 GPL-3.0-or-later. See [LICENSE](LICENSE).
139 
140 Copyright (c) 2026 equwal.