Опубликован бета-выпуск файлового менеджера f4 0.3.0. Проект воспроизводит интерфейс, поведение и внутреннее устройство Far Manager и far2l, но написан заново на языке Go, используя методологию «чистой комнаты«. Код распространяется под лицензией BSD и написан AI-ассистентами. Ручное рецензирование заменяет большой набор автоматических тестов, которые в CI прогоняются на нескольких ОС и архитектурах. Готовые сборки формируются для Linux, Windows (включая отдельную сборку для Windows 7/8/8.1), ReactOS, macOS, FreeBSD, OpenBSD, NetBSD, DragonFly BSD и Android (Termux). Экспериментально поддерживаются Illumos и Solaris, ведётся портирование на Redox, GNU Hurd и Haiku.

Основные возможности:
- Поставка одним статически собранным исполняемым файлом без внешних зависимостей (сборка без CGO). Поддерживаются архитектуры x86-64, x86, ARM64, ARMv7, RISC-V, LoongArch, MIPS и POWER.
- Работа в терминале или в отдельном графическом окне. В терминале поддерживаются протокол kitty и Win32 Input Mode, поэтому различаются сочетания клавиш, такие как Ctrl+Enter и Shift+Tab. Для графического режима есть бэкенды X11, Wayland, Win32 GDI, Cocoa, Ebitengine и gogpu с аппаратным ускорением.
- Встроенный терминал под панелями, как в far2l. В Windows он работает и через ConPTY, и без него, через Windows Console API.
- Встроенный редактор с подсветкой синтаксиса (Colorer и Chroma) и просмотрщик с режимом просмотра шестнадцатеричных дампов. Большие файлы открываются без загрузки целиком в память.
- Асинхронная VFS, позволяющая работать с архивами (включая вложенные), SFTP/FTP, S3, WebDAV, Google Drive, Яндекс Диском, реестром Windows, устройствами Android (через ADB) и iPhone (через AFC). Любую VFS можно смонтировать через FUSE как обычный каталог.
- Протокол FISH+ развивает идею FISH из Midnight Commander. Поиск, индексация и долгие операции выполняются на стороне сервера, файлы можно копировать напрямую между серверами.
- Плагины работают как отдельные процессы и общаются с ядром по MessagePack через stdin/stdout, поэтому их можно писать на любом языке. Поддерживаются плагины на Lua (API в духе Far3/far2m) и WebAssembly, для их распространения есть каталог PlugRing.
- Макросы на Lua, палитра команд (Ctrl+Shift+P), переназначение клавиш, гибкая раскраска файлов, портативный режим.
- Встроенные клиент SQLite и электронная таблица в стиле DOS Navigator, просмотр изображений, аудиоплеер, сведения о медиафайлах, сравнение и синхронизация каталогов, AI-панель.
- Интерфейс переведён на 23 языка. Поддерживается ввод текста с BiDi и сложными графемными кластерами.
- Самообновление командой «f4 —update», пакеты для Homebrew, Nix (flake и модуль Home Manager) и Termux. Для маршрутизаторов и слабого оборудования есть облегчённая lite-сборка.
Отличия от других файловых менеджеров:
- Far Manager работает только в Windows. f4 переносит его интерфейс и привычные сочетания клавиш на Linux, macOS, BSD и Android. Бинарные плагины Far (DLL) не поддерживаются, но Lua API для плагинов построен по образцу Far3/far2m.
- far2l — порт Far 2 на Linux, macOS и BSD, написанный на C++ под лицензией GPLv2. f4 не порт, а новая реализация на Go под лицензией BSD. Кроме Unix-подобных систем, f4 работает в Windows и ReactOS, не зависит от wxWidgets и системных библиотек, а плагины к нему можно писать на любом языке.
- Midnight Commander написан на C (GPLv3), рассчитан на Unix-подобные системы и следует своей модели работы и раскладке клавиш. f4 повторяет поведение Far/far2l, имеет графический режим и нативно работает в Windows. Архив со сборкой для Linux x86-64 занимает около 35 МБ, а mc — несколько мегабайт.
- M-Commander — форк mc на C и Lua (GPLv3+). В нём есть подключаемые панели (Git, Docker, Kubernetes, MongoDB, S3 и др.), а вместо subshell используется встроенный PTY-терминал. M-Commander сохраняет интерфейс mc и выходит в виде пакетов для Linux и macOS. f4 развивается в похожем направлении (расширяемые панели, встроенный терминал), но с интерфейсом Far, поддержкой Windows и BSD и поставкой одним бинарным файлом.

Источник: http://www.opennet.ru/opennews/art.shtml?num=66366
