FAR Manager

FAR Manager — консольный файловый менеджер для операционных систем семейства Microsoft Windows и Linux.

Автор программы — Евгений Рошал. С 18 июня 2000 года разработкой FAR Manager занимается группа FAR Group. Начиная с версии 2.0 программа распространяется под модифицированной лицензией BSD. Предыдущие версии имели проприетарную лицензию, по которой коммерческое использование программы являлось платным.

Программа FAR Manager наследует двухоконную идеологию, стандартную расцветку и управление с клавиатуры у известного файлового менеджера Norton Commander.

История 
 10 сентября 1996 года — первая общедоступная версия 1.00 beta.
 26 июня 1997 года — «бутлег» 1.3 — версия, которую Евгений Рошал никогда не выпускал.
 22 мая 2000 года — Рошал предложил отдать исходные тексты FAR Manager 1.64 трём-четырём плагинописателям «в хорошие руки» на условиях «за спасибо».
 18 июня 2000 года — на базе egroups.com заработал список рассылки для новых разработчиков FAR Manager. Эту дату можно считать зарождением FAR Group.
 23 июня 2000 года — Рошал выпускает «последнюю версию» 1.65, после чего версия FAR Manager начинается с 1.70.
 20 ноября 2000 года — первая бета 1.70.
 29 марта 2006 года — релиз 1.70.
 26 октября 2007 года — исходный код альфа-версии 1.80 (с поддержкой Юникода и несовместимая с Windows 9x) выпущен под модифицированной (без пункта о рекламе) лицензией BSD. Это первая свободная версия Far Manager.
 13 декабря 2008 года — версия юникодного FAR изменена на 2.0.
 5 февраля 2011 года — версия юникодного FAR изменена на 3.0. Начиная с build 1825, полностью переработан API плагинов. Плагины версии 1.x по-прежнему могут работать в FAR 3.0.
 19 марта 2011 года — для хранения всех настроек используется SQLite.
 30 сентября 2012 года — для макросов используется скриптовый язык Lua.
 4 ноября 2012 года — релиз 3.0.
В Windows 9x программа могла работать как в оконном, так и полноэкранном режиме. Некоторые недостатки интерфейса, схожие с DOS-программами в оконном режиме (невозможность произвольного изменения текстового разрешения окон, проблемы с закрытием при выключении системы), проявлялись в Windows 9x, но отсутствуют в семействе Windows NT.

Особенности реализации 

FAR поддерживает работу с файловой системой NTFS, различные кодировки текстов, может использовать системные функции для копирования файлов, имеет многоязычный интерфейс и систему помощи.

FAR Manager был с самого начала ориентирован на платформу Windows, поддерживал длинные имена файлов. Время от времени пользователи высказывали просьбы сделать версии для других платформ (Linux и Mac OS). Разработчики утверждали, что код программы слишком специфичен для Windows, и портирование на другую платформу потребовало бы больших изменений.

С 2016 года существует форк FAR Manager для Linux, FreeBSD и MacOS, который активно развивается.

Подключаемые модули (плагины) 

Возможности FAR существенно расширяются благодаря плагинам различного назначения:
 управление принтерами, как подключёнными к ПК, так и сетевыми;
 подсветка синтаксиса в исходных текстах программ;
 работа с FTP-серверами (с поддержкой доступа через различные типы прокси, автоматической докачкой и прочее);
 работа с SFTP-серверами (плагин WinSCP);
 работа с любым ssh-сервером по протоколу FISH (только в far2l);
 поиск и замена символов одновременно во множестве файлов с применением регулярных выражений;
 средства переименования групп файлов с возможностью использования сложных составных масок из символов подстановки и шаблонов;
 NNTP-/SMTP-/POP3-/IMAP4-клиенты и отправка сообщений на пейджер;
 работа при нестандартных размерах текстового экрана;
 перекодировка текстов с учётом национальных кодовых таблиц;
 манипуляции с содержимым корзины;
 управление приоритетами процессов на локальном или на сетевом ПК;
 автозавершение слов в редакторе и работа с шаблонами;
 редактирование реестра Windows;
 создание и изменение ярлыков Windows;
 всевозможные манипуляции с файлами и текстом, делающие комфортной работу с фидонетовскими материалами;
 кодирование и декодирование файлов в формате UUE;
 симметричное и асимметричное шифрование файлов;
 управление программой Winamp и модификация комментариев MP3-файлов;
 просмотр и редактирование содержимого ресурсов различных игр;
 работа с различными серверами через ODBC + работа с серверами Oracle через ;
 управление службой RRAS;
 запуск внешних программ (компиляторов, конвертеров и проч.) при редактировании текстов в редакторе FAR;
 отображение содержимого файлов справки Windows (.hlp и .chm);
 калькуляторы с разными возможностями;
 различные игры;
 функции проверки орфографии при обработке текста в редакторе FAR;
 работа с файл-образами дисков для ZX Spectrum и ПК Вектор-06Ц;
 подготовка каталога сменных накопителей;
 вычисление и проверка CRC и криптографических хеш значений файлов (SHA-1; SHA-2; Whirlpool и других).
 Отображение скрытой файловой системы на сотовых телефонах SonyEricsson.

Некоторые важные плагины (например, для работы с FTP, печати, сравнения файлов, работы с архивами, сетью) входят в поставку FAR. Но подавляющее большинство плагинов доступно для скачивания в интернете, пользователь может устанавливать их в соответствии со своими задачами. В настоящее время насчитывается более 700 плагинов для FAR.

Большинство плагинов написано на Си/C++ и Паскале с использованием оригинального FAR API. Существуют и современные альтернативы: FarNet предоставляет API и инструменты для написания .NET-модулей; модуль PowerShellFar реализует поддержку Windows PowerShell и открывает объектную модель FarNet для управления из скриптов или командной строки; модуль LuaFAR предоставляет API для написания скриптов и плагинов на языке Lua.

Portable-версия 
Для запуска со сменных носителей (USB-винчестеров, флешек и т. д.) существует так называемая portable-версия, применяемая для работы без инсталляции (как правило, недолгой) для выполнения задач типа переноса данных, поиска, проведения ремонтных работ и т. д..

Unicode-версия 
26 октября 2007 года был открыт публичный доступ к SVN-репозиторию с Unicode-версией менеджера.

Версия для Linux, macOS и BSD 
В рамках проекта far2l разрабатывается порт Far Manager для Linux, macOS и BSD систем. На 20 сентября 2016 года порт запускается и работает, доступна основная функциональность Far Manager как менеджера файлов и архивов. Также портированы и работают плагины FarFTP, Colorer, MultiArc, TmpPanel. По состоянию на ноябрь 2020 года добавлен плагин NetRocks (аналог NetBox, работают протоколы FTP, FISH, SCP, SFTP, SMB, NFS и WebDAV), поддерживается работа в графическом и консольном режимах, портировано не менее 13 плагинов оригинального Far Manager. На январь 2022 года проект перешёл в стадию beta, добавлена поддержка скриптов на python и lua.

far2l также поддерживает так называемые расширения терминала. Хотя сам FAR2L является TUI-приложением, он может работать с двумя бэкендами: GUI и TTY. Хотя бэкэнд TTY может работать в любом терминале (например, xterm), он также может работать и внутри встроенного терминала GUI-версии far2l, приобретая возможности, недоступные на «обычных» терминалах (например, распознавание всех возможных комбинаций клавиш клавиатуры с поддержкой не только событий нажатия, но и событий отпускания клавиш). Также GUI-far2l может обеспечивать доступ к общему буферу обмена и уведомлениям на рабочем столе. Эти расширения можно использовать, запустив TTY far2l внутри сеанса ssh-клиента, открытого в GUI-far2l (или используя протоколы SFTP/SCP в NetRocks для удаленного запуска far2l с помощью функции «выполнить удаленную команду»).

Лицензия 
В версиях до 1.75.2629 FAR распространялся как shareware (некоторые функции работали только после прохождения платной регистрации), при этом существовала бесплатная так называемая «xUSSR-регистрация» для жителей России и других стран бывшего Советского Союза. В ней в качестве пароля для регистрации требовалось ввести русскими буквами название текущего дня недели. Такая регистрация позволяла использовать версии FAR по 1.61 включительно полностью бесплатно, в более поздних версиях требовалась платная регистрация для коммерческого использования.

Начиная с версии 1.75.2629, FAR не требует регистрации и распространяется бесплатно под модифицированной лицензией BSD. В связи с этим, начиная с 18 мая 2010 года, компания RARLabs прекратила продажу Far Manager.

Версии 1.8.х, 2.x и 3.x, имеющие поддержку юникода, распространяются бесплатно и с открытым исходным кодом под модифицированной лицензией BSD.

Примечания

Ссылки 
 Официальный сайт
 Официальный сайт поддержки пользователей оболочки FAR Manager, центральный сайт веб-кольца Far PlugRinG — объединения плагинописателей
 Архив конференции FAR.SUPPORT
 FAR Manager на SourceForge
 FAR Manager на GitHub
 Скрипты для FAR Manager / Scripts for FAR Manager
 Альтернативы Total Commander — обзор на сайте Компьютерра

Двухпанельные файловые менеджеры
Свободные файловые менеджеры
Свободное программное обеспечение только под Windows
Свободное программное обеспечение, написанное на C++
Программное обеспечение с лицензией BSD
Текстовые программы
Приложения, использующие SQLite
Программное обеспечение, использующее Lua