Repository navigation
Efir 1.4.0
What's new
- Map keyboard, media-key and pedal remotes to prompting actions. Learn buttons
from browser Gamepad devices, save mappings and use held forward/backward
nudges. Editing text and using dialogs do not trigger prompting shortcuts. - Connect several readers to one native server. Each screen keeps its own name,
font size, margins, top/bottom padding, marker position and mirror settings.
Word-based synchronization follows the same passage across different wraps. - Select a screen preview or see the readers together in a grid. Previews use
each screen's real geometry. Format guides shade the extra area when readers
have different aspect ratios, including 16:10 and 16:9. - Reconnect through saved screen links, select the timing leader, and keep a
useful frozen preview when a reader disconnects. - Support the project through the localized GitHub star button on the home page.
Resource improvements
- Stream native desktop HTTP assets with backpressure instead of loading a
complete response into memory for every download. - Reuse reader geometry, avoid repeated screen-list DOM writes and omit duplicate
display metadata from frequent messages while keeping the existing update cadence. - Stop Gamepad polling when the controller is hidden or unfocused. Stop the home
page demo when hidden, outside the viewport or using reduced motion. - Release cancelled Android WebSocket tasks, cache native desktop translations,
and avoid duplicate macOS speech status messages.
See the shared web audit and
native resource audit for measured scenarios and
remaining device checks. These measurements do not establish battery-life gains.
Downloads and installation
| Platform | File | Requirements |
|---|---|---|
| macOS | Efir-macOS.zip | Apple Silicon or Intel, macOS 14+ |
| Windows | Efir-Windows-x64.zip | Windows 10/11 x64, Microsoft WebView2 Runtime |
| Linux x64 | Efir-Linux-x64.deb | Ubuntu 24.04+ or compatible dependencies |
| Linux ARM64 | Efir-Linux-arm64.deb | Ubuntu 24.04+ or compatible dependencies |
| Android | Efir-Android.apk | Android 8+ |
Extract the entire Windows folder before launching efir.exe; keep web/,
speech/ and any accompanying DLLs together. Offline Vosk language models are
selected separately in voice settings. The NSIS installer is also provided.
The macOS app is ad hoc signed and not notarized. Follow the documented
macOS opening steps. Windows packages do not have an
Authenticode signature.
Android 1.4.0 starts a new release signing certificate because the original
private key is unavailable. If 1.3.2 is installed, export scripts and settings,
uninstall it, then install 1.4.0 and restore the export. Future APK updates will
reuse the new key, which is kept outside the source checkout.
Efir-1.4.0-SHA256.txt lists package checksums. Keyboard HID and browser Gamepad
support depends on the signals the remote exposes; proprietary BLE, MIDI and
vendor-app protocols are not automatically supported. Physical remote models
still need individual checks.
Android certificate SHA-256: 41817bafd2cd652a4d9eab4ae2f5d7740f4fe602aa287d599c9632b4981b633c.
All five platform builds and Android lint passed in release build 38182686110, including launch and local-server verification of the portable Windows package. Package versions, architectures, shared resources and Android/macOS signature integrity were checked before publication.