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 (3262 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 To be added.
13 
14 ## Why this is a separate app
15 
16 Rebind has no internet permission. This app has it, so Rebind does not need it.
17 
18 An app that looks for updates must reach the network. An app that reads your
19 buttons must not. So the two jobs live in two apps. You can remove this one at
20 any time, and Rebind keeps working.
21 
22 ## What it watches
23 
24 - Rebind
25 - Ink Recents
26 - Ink Dim
27 - Ink Update
28 
29 The app shows only the ones that are on your device.
30 
31 ## Where it looks
32 
33 The app tries three places, in this order.
34 
35 1. **F-Droid.** The app asks F-Droid for the newest build of the package. If
36    F-Droid has a newer one, the app opens the F-Droid page. The F-Droid client
37    does the install.
38 2. **Google Play.** Google Play has no public way to ask. So the app asks the
39    system which app did the install. If Google Play did the install, Google
40    Play updates the app, and Ink Update stops there. The row says
41    "Play updates this app". There is no notification.
42 3. **GitHub.** The app reads the last ten releases of the repository and takes
43    the newest one that is not a draft. Every Rebind release is a pre-release,
44    so the app cannot use the "latest release" address.
45 
46 ## What it sends
47 
48 Two hosts, and nothing else:
49 
50     https://f-droid.org/api/v1/packages/<package>
51     https://api.github.com/repos/<owner>/<name>/releases?per_page=10
52 
53 Each request carries the package name or the repository name, and a User-Agent
54 that names this app. There is no identifier, no account, no advertisement and
55 no analytics. See [PRIVACY.md](PRIVACY.md).
56 
57 ## Use
58 
59 - **Check now** looks at each installed app.
60 - **Check once a day** keeps a daily check. It lives through a restart.
61 - A row with an update opens the page for that app.
62 - A notification says "Rebind 0.0.16-alpha is ready". Tap it for the page.
63   Tap **Download** for the APK.
64 
65 ## Start it from somewhere else
66 
67 One intent action:
68 
69     dev.equwal.inkupdate.CHECK
70 
71 Example with adb:
72 
73     adb shell am start -a dev.equwal.inkupdate.CHECK
74 
75 Rebind can put this on a hardware button.
76 
77 ## Install
78 
79 Download the APK from the Releases page and install it.
80 
81 Open the app once. It asks for the notification permission and does the first
82 check.
83 
84 ## More extensions
85 
86 [Awesome Rebind](https://github.com/equwal/awesome-rebind).
87 
88 ## Say thanks
89 
90 Ink Update is free and open source. If it made your device better, you can
91 [buy me a coffee](https://ko-fi.com/truex).
92 
93 ## Build
94 
95 You need JDK 17 or later and the Android SDK, with platform 36.
96 
97     ./gradlew testReleaseUnitTest assembleRelease
98 
99 The APK is in `app/build/outputs/apk/release/`.
100 
101 The APK has no dependency. The app uses `java.net.HttpURLConnection`, the
102 `org.json` of the platform, and `JobScheduler`.
103 
104 Release signing is optional. Put a `keystore.properties` file in the root of
105 the project with `storeFile`, `storePassword`, `keyAlias` and `keyPassword`.
106 Without that file the build makes an unsigned APK.
107 
108 ## Licence
109 
110 GPL-3.0-or-later. See [LICENSE](LICENSE).
111 
112 Copyright (c) 2026 equwal.