Release v3.8.5
🚀 What's New in v3.8.5
This release focuses on significantly speeding up P2P connections and delivering a richer, more secure experience for your recipients when they open your shared links.
🔌 Embedded Mode & Integrations
- Custom Endpoint Routing via Hooks: The
--hookfunctionality has been supercharged. You can now define custom behaviors for specific endpoints within the download link (such as intercepting requests tolink/thumb). This allows embedded environments (like our upcoming Android app) to implement their own native media generation logic, completely bypassing the need for the CLI's built-in Preview addon.
⚡ Performance & Stability
- Faster WebRTC Connections: Optimized the STUN server resolution process. By reducing unnecessary STUN overhead, the initial P2P handshake is now noticeably faster.
- Eliminated UI Race Conditions: Fixed a timing issue where the browser UI might hang while waiting for internationalization (i18n) assets to load before establishing the connection.
🎨 Enhanced Recipient Experience (Web UI)
Even though your CLI commands remain the same, the links you generate are now much smarter:
- Rich Previews for Server Uploads: The rich folder and media preview features are now fully supported for links generated via
--upload(Server Mode), matching the experience of direct P2P transfers. - Smart Video Thumbnails: When sharing video files, the download page now extracts and displays actual video frames as thumbnails instead of generic icons.
- Privacy-First Preview URLs: Hardened the privacy of the web viewer. Media preview endpoints no longer leak the original filenames in the URL structure.
🔧 Under the Hood (CLI Architecture)
- Extended Upload Payloads: Upgraded the CLI's upload mechanism to support bundling extended metadata alongside the encrypted file content (this is what powers the new server-side preview features).
- Event System Optimization: Refactored the Upload addon to utilize a cleaner, more robust internal event architecture for better lifecycle management.
📦 Which file should I download?
- If you want a single file that runs everywhere, across OSes? choose APE (
ffl.com/fflo.com). - If you want platform-optimized size/perf, choose a native build. 🙂
- On Linux and unsure about glibc (or on musl)? -> APE
ffl.comis the safest choice.
ℹ️ On the first run of a native build, the app performs an internal extraction step (by pyapp), so startup is temporarily slower once.
The install scripts pre-warm this step; manual downloads will see the one-time delay.
APE builds (ffl.com/fflo.com) are single-file and do not have this first-run warmup.
Windows (native)
- x86_64 →
ffl-v3.8.5-x86_64-windows.zip
Unzip to getffl.exe.
Linux (native)
We publish two glibc baselines. Pick the highest baseline that does not exceed your system glibc:
-
glibc 2.39+ — smaller & faster
ffl-v3.8.5-manylinux_glibc2.39-x86_64-linux.tar.gz- Best for newer distros (e.g., Ubuntu 24).
-
glibc 2.28+ — widest compatibility
ffl-v3.8.5-manylinux_glibc2.28-x86_64-linux.tar.gz- Works on older distros (e.g., Ubuntu 20); larger due to additional internal linking.
⚠️ If your system is musl-based (e.g., Alpine) or you’re unsure about glibc, prefer APEffl.com.
macOS (native)
- Apple Silicon (arm64) →
ffl-v3.8.5-aarch-darwin.tar.gz - Intel (x86_64) →
ffl-v3.8.5-x86_64-darwin.tar.gz
The archive unpacks to a single ffl binary.
🧰 APE (cross-platform single file, zero external deps)
ffl.com— Single-file build that runs natively on Linux, macOS, Windows, FreeBSD, OpenBSD 7.3, NetBSD, BIOS, and Android (Termux).fflo.com— Alternative APE build that is exactly aligned with the open-source repo (no additional/proprietary addons).
As a result, features that require closed-source components—such as upload to server (e.g.,--upload)—are not available.
For a deeper comparison between native and APE, see the README’s notes.