Release v4.0.0
🎉 What's New in v4.0.0 (Major Release)
Welcome to FastFileLink v4.0.0! This major release marks a massive leap forward. We've completely rewritten the graphical user interface, aggressively refactored our core monolithic architecture into modular components, and patched critical edge cases in performance and security.
🎨 All-New UI & Multi-Share Management
- GUI Completely Rewritten: We have fully deprecated the
gooey-based graphical interface and built a brand new, modern UI from the ground up. (Note: The CLI experience remains unaffected and as powerful as ever). - Multi-Session GUI Management: The new UI now fully leverages our new
daemonarchitecture behind the scenes. This means you can now launch, track, and manage multiple active share sessions simultaneously within a single, unified dashboard! - Jargon-Free Web UI: We've simplified the language on the download pages. Confusing technical terms (like "WebRTC" or "Relay") have been replaced with intuitive, human-friendly wording.
- Clipboard Control: Added the
--disable-clipboardflag for users who prefer the system not to automatically copy generated share links to their clipboard.
🏗️ Massive Architectural Overhaul
- The Death of the Monolith:
Server.pyis no longer one giant file. It has been elegantly refactored into a modernviewsarchitecture. - Component Refactoring: Critical modules including
Readers.pyandWebRTC.pyunderwent major refactoring and style corrections for better maintainability. - Unified Share Architecture: The core
Shareinfrastructure has been completely redesigned. The CLI and the new Daemon mode now share the exact same underlying mechanics. - Daemon Uploads: Building on the unified architecture, Daemon mode now fully supports
--uploadlinks. - Semantic File Reorganization:
Core.pyhas been correctly renamed toFFL.pyto reflect its true purpose, and all build-related scripts (Build*) have been moved to thedistdirectory.
⚡ Performance & Security
- E2EE Cryptography Fix: Patched a critical security edge case related to "Unaligned Ranges No Nonce Reuse" to ensure robust End-to-End Encryption integrity.
- HTTP Range Performance: Resolved a performance bottleneck where chunked Range downloads were unnecessarily waiting for the
/completeevent, significantly speeding up parallel and resumed downloads. - Jinja2 Optimization: Deeply enhanced our Jinja2 template integration, resulting in better rendering performance and smarter caching.
- mDNS Detection: Fixed an issue where WebRTC struggled with
.localmDNS peer detection, improving local network connectivity.
🛠️ Developer & Testing
- Standardized E2E Tests: Test cases have been unified to consistently use
_startFastFileLinkfor rigorous end-to-end testing, ensuring higher code quality for future updates.
Windows (native)
- x86_64 →
ffl-v4.0.0-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-v4.0.0-manylinux_glibc2.39-x86_64-linux.tar.gz- Best for newer distros (e.g., Ubuntu 24).
-
glibc 2.28+ — widest compatibility
ffl-v4.0.0-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-v4.0.0-aarch-darwin.tar.gz - Intel (x86_64) →
ffl-v4.0.0-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.