Repository navigation
Releases: FedyaLight/efir
Release list
Efir 1.4.0 — Remotes, multiple screens and lower resource use
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.
Efir 1.3.2 — Free teleprompter with remote control
Efir is a free, open-source teleprompter with remote control over local Wi-Fi. A computer opens the controller; a phone joins by QR code. Android can also read independently or host a session. Local sessions work without internet or WebRTC.
Downloads
| Platform | Package | Requirements |
|---|---|---|
| macOS | Universal ZIP | macOS 14+, Apple Silicon or Intel |
| Windows | Portable x64 ZIP | Windows 10/11, WebView2 Runtime |
| Linux | x64 DEB · ARM64 DEB | Ubuntu 24.04+ |
| Android | Signed APK | Android 8+, recent System WebView |
| Browser | Open web app | Internet for WebRTC connection setup |
Extract the entire Windows ZIP and run efir.exe inside it; keep the DLLs, web/ and speech/ folders together. On Linux use sudo apt install ./Efir-Linux-x64.deb (or the ARM64 file). Install the Android APK using your device's per-app install permission. Speech language models are installed separately.
macOS: this release is ad hoc signed and not notarized by Apple. Move the extracted
Efir.appto Applications and try opening it once. Then use System Settings → Privacy & Security → Open Anyway and confirm Open. Only permit an app you trust. Mac installation and notarization guide.
Windows binaries are not Authenticode-signed. The release APK uses the project's existing local release certificate; CI's unsigned APK is a build artifact, not the download below.
Included
- Desktop controllers and an offline HTTP/WebSocket relay, with a Wi-Fi QR link for readers.
- Android standalone reading, server hosting and connection to another host.
- Fullscreen tap-to-play/pause, quick mirrors and icon-only exit controls. Quick settings hide while playing.
- Synchronized controller preview, sections, speed, countdown, font settings and horizontal/vertical mirroring.
- Native offline voice following, with platform/language/model limitations explained in the UI.
- Script library, TXT/Markdown/DOCX import, settings profiles and portable backups.
- English, Russian, Spanish, Simplified Chinese, Hindi and Arabic interfaces; narrow-screen and landscape layout fixes.
- Native Android screen protection and a local browser fallback for HTTP readers.
First connection
Open Efir on the computer, connect your phone to the same Wi-Fi, then scan Connect teleprompter. If a VPN blocks it, enable Allow LAN or exclude the browser from its tunnel. Guest Wi-Fi with client isolation may prevent connections. On a local HTTP page the phone microphone is unavailable; use native speech on the host.
Verification
All five platform jobs passed in GitHub Actions: macOS, Windows x64, Linux x64/ARM64 and Android release/lint.
SHA-256 checksums for all five packages are attached as Efir-1.3.2-SHA256.txt. Packaged web assets were checked against the shared source. macOS bundle integrity, Android instrumentation, Linux ARM64 native WebView, local relay and hosted WebRTC checks passed. Responsive coverage includes six languages, two themes and seven viewport sizes.
Windows and Linux x64 packages were built and inspected; their GUI and physical-device battery/VPN checks remain on the manual checklist. This release does not claim measured battery life or testing on every device.
Original Efir code: MIT. Bundled dependencies retain their own license notices.