Появление все более и более изощренных методов обмена файлами наподобие сетей P2P вовсе не отменяет надежных и проверенных технологий типа клиент—сервер. Для пересылки небольших файлов мы продолжаем использовать электронную почту, а для обновления сайта или передачи конфиденциальной информации на какой-либо удаленный компьютер обычно рекомендуют применять клиент FTP или SFTP соответственно. Первый из них использует так называемый File Transfer Protocol – протокол передачи файлов, а второй – его защищенную (Secured) версию.
FTP — один из старейших прикладных протоколов, появившийся задолго до HTTP в 1971 г. До начала 90-х на долю FTP приходилось около половины трафика в Интернете. На базе FTP-сервера удобно организовывать хранилище программного обеспечения и любых других файлов. Также используют FTP для отправки газетных и журнальных полос в типографию. Существуют даже специальные поисковые системы, индексирующие исключительно FTP-серверы. Сам я использую FTP почти ежедневно — то обновляю сайт, то переписываю программу, то отправляю в типографию газетные полосы. Свою книгу «Открытое и бесплатное ПО для Windows» мне оказалось удобнее всего отправить в издательство именно по FTP. Но это будет обсуждено ниже, а сейчас рассмотрим самые простые FTP-клиенты, работающие в режиме командной строки.
PSFTP — мал, да удал
Крошечная, объемом в 300 Кбайт программа PSFTP распространяется под названием PuTTY в составе джентль-менского набора интернет-утилит. Центральным компонентом является клиент для удаленного доступа к командной строке по протоколам SSH, Telnet и rlogin. Программы PuTTY и PSFTP пользуются заслуженной популярностью и среди ветеранов Интернета, и среди молодых веб-разработчиков. Терминал PuTTY корректно поддерживает кириллицу, а PSFTP предоставляет базовые средства для передачи файлов. Обе программы, поддерживающие защищенное соединение, доступны для бесплатного использования, модификации и распространения по лицензии MIT (Массачусетского ин-ститута технологий).
Для эффективного применения PSFTP вам пригодится умение ориентироваться в командной строке, поэтому первым делом посмотрите примеры использования программы в разделе Using PSFTP руководства пользователя (PuTTY Manual). В процессе работы не стесняйтесь употреблять команду help. Набранная без аргументов, она перечислит доступные вам команды, а для более подробного описания любой из них следует ввести help <команда>. Выучить несколько нужных — задача несложная, зато вы сможете отправлять и скачивать файлы целыми пачками на любом компьютере и с минимальным расходом системных ресурсов.
Программа корректно поддерживает кириллицу, при выводе списка файлов на локальном компьютере (dir) вы увидите даже файлы с длинными русскими именами. В то же время у нее есть несколько существенных недостатков. В документации я не нашел никаких упоминаний о том, как заставить PSFTP работать через proxy. Кроме того, PSFTP ограничен функционально. От стандартной утилиты ftp для Windows он отличается лишь тем, что поддерживает защищенные соединения и IPv6. Таким образом, функциональность PSFTP можно назвать базовой — эта программа подойдет для опытных, но нетребовательных пользователей, лишь время от времени применяющих защищенные FTP-соединения для несложных задач в обычных условиях. Для тех же, кто предпочитает proxy, регулярно обменивается файлами с дюжиной разных серверов и при этом уважает командную строку, сообщество OpenSource готово предложить более продвинутый, хотя и менее защищенный клиент.
NcFTP — больше, чем клиент
NcFTP — представитель целого семейства программ для реализации протокола FTP в среде Unix и Windows. Вместе с ним распространяются несколько утилит командной строки для вызова базовых функций NcFTP из других программ. Кроме того, для программистов на сайте разработчиков доступна библиотека функций LibNcFTP для Unix и Windows. Там же можно найти замечательный сервер FTP под названием NcFTPd для Unix.
Что касается самого NcFTP, то это, пожалуй, лучший из текстовых FTP-клиентов. Разработчики утверждают, что он больше, чем FTP-клиент, и называют его FTP-браузером. Далеко не все графические программы обладают такой богатой функциональностью. В NcFTP реализованы фоновые задания, автоматическое возобновление передачи, кэширование списка файлов, возобновление соединений, работа через firewall и proxy, возможность пересылки целого дерева каталогов (mget и mput) и т. д.
Программа NcFTP удобна настолько, насколько вообще бывает удобна утилита, работающая в режиме командной строки. Вы можете набирать сокращенные варианты команд, редактировать командную строку и сохранять в закладках учетные записи для посещенных серверов. Причем менеджер закладок у NcFTP вынесен в отдельное графическое приложение. Команда open открывает его диалоговое окно.
Итак, NcFTP предлагает все, что нужно для удобства опытного пользователя. Но можно ли считать данную программу безопасной? Пока нет. Менеджер закладок честно предупреждает, что хранит пароли в нешифрованном виде, поэтому их лучше не запоминать и вводить вручную. Еще хуже, что NcFTP не поддерживает защищенное соединение по протоколу SFTP, а также SSL и SSH tunneling. В общем, программа создавалась явно не для параноиков. Тем не менее если вам нечего скрывать или ценность передаваемой информации не превышает затрат на ее перехват, то шифрованием можно и пренебречь.
FileZilla — интуитивно понятный клиент
У перечисленных выше программ есть общий недостаток, сводящий на нет их привлекательность в глазах пользователя Windows. Оба — текстовые клиенты, требующие ввода команд. FileZilla, в противоположность им, построен по принципу графического файлового менеджера. Окно разделено на две части, в одном фрейме отображается содержимое локальной папки, в другом — удаленной. Файлы и папки можно копировать легким движением руки — разумеется, вооруженной мышью. Ну что же, в год крысы метод перетаскивания, несомненно, принесет вам удачу.
Программа поддерживает защищенные соединения по протоколу SFTP и по обычному FTP поверх SSL. Возможна работа через SOCKS4/5 и HTTP proxy.
Клиент FileZilla — лучший выбор для быстрого и безопасного обновления сайтов. Программа достаточно стабильна в работе, имеет удобный интерфейс и гибкую систему настройки. В менеджере соединений вы можете разложить учетные записи по папкам. Все настройки и учетные записи легко экспортировать, чтобы использовать на другом компьютере. Мне, например, вовсе не пришлось настраивать FileZilla в Mac OS X, поскольку удалось без проблем импортировать настройки, сделанные в FileZilla для Windows. Это очень удобно.
Программа переведена на два десятка языков, в том числе и на русский. Бинарные дистрибутивы доступны для систем Windows, Linux и Mac OS X. Причем для Windows разработана также версия Portable, предназначенная для работы с флэш-диска.
i.FTP — настоящий индеец
Существование i.FTP доказывает, что современная программа с открытым исходным текстом может быть стабильной, кросс-платформенной и удобной в использовании. Ее символом является индейский вигвам, и это не случайно. Настоящему индейцу комфортно везде. Программа работает в Windows и Mac OS X. Есть даже ранняя версия для BeOS. Для передачи файлов от нашего вигвама к вашему программа способна использовать протоколы FTP, SFTP и даже HTTP. А вот поддержка proxy реализована только с применением SOCKS5.
Теперь немного о пользовательском интерфейсе. В полном соответствии с названием он не лишен простоты и новаторства в стиле Apple, когда внимание уделяется самым незначительным мелочам, если они способны помочь пользователю упростить выполнение его задач. Например, после добавления новой учетной записи вам не придется искать ее в менеджере соединений, потому что в программе есть специальный раздел основного меню, так и называющийся: «Учетные записи». Я считаю, что это самое удачное заим-ствование, какое только можно было сделать у веб-браузеров. У современных FTP-клиентов также должно быть свое «Избранное» или «Закладки».
Вообще, i.FTP меньше остальных рассматриваемых в обзоре клиентов. Он был создан для работы с переносных накопителей. В дистрибутиве объемом менее 1 Мбайт уместились замечательный FTP-клиент, восемь локализаций (в том числе и русская) и файл помощи в формате HTML. Программа ничего не пишет в системный реестр и все необходимые файлы ищет в своем каталоге. Если вам не нужна поддержка SFTP, то вы можете даже удалить файлы libssh. dll и libeay32.dll, чтобы сделать инструмент еще легче.
WinSCP — почти командир
Графический FTP-менеджер WinSCP работает только в Windows, но распространяется с открытым исходным текстом. Он поддерживает протоколы FTP, SFTP и (несколько устаревший) SCP. WinSCP предназначен в первую очередь для защищенного копирования файлов между компьютером и серверами, поддерживающими эти протоколы.
Интерфейс этой программы примечателен тем, что предлагает привычное окружение пользователям с разными предпочтениями. Просто их, интерфейсов, у нее целых два. Клиент WinSCP может иметь вид обычного файлового менеджера наподобие проводника Windows, но при желании он также успешно имитирует внешний вид и поведение программ типа Norton Commander. Интерфейс в стиле NC более удобен для управления с клавиатуры, им можно пользоваться вообще без помощи мыши. Благодаря этому он позволяет выполнять основные операции быстрее. Интерфейс выбирается на свой вкус при установке. Позднее в любой момент его легко поменять.
Интерфейс программы переведен на несколько языков. К сожалению, во время написания данного материала русский перевод не был закончен и включен в дистрибутив, но его можно взять с сайта разработчиков и поставить отдельно.
JFtp — сетевой менеджер на Java
Еще один замечательный многофункциональный клиент написан на Java. Главное — не перепутать свободно распространяемую программу JFtp 1.50 с аналогичным коммерческим продуктом JFTP 4.0 от jMethods.
Клиент JFtp предназначен для обмена файлами по сети. Наряду с реализованным в нем FTP, он поддерживает SMB, SFTP, NFS, HTTP и другие протоколы в зависимости от конфигурации вашей системы. Функциональность программы также на высоте. JFtp поддерживает пересылку вложенных папок, параллельную загрузку, очереди, восстановление соединения и продолжение загрузки. Кроме того, JFtp подойдет и для навигации по локальной сети. Причем можно открыть несколько соединений — все они будут отображаться во вкладках наподобие тех, что используются в браузерах Mozilla.
Итак, функционально сетевой менеджер JFtp лишь немного уступает FileZilla при работе с FTP и SFTP, зато предлагает поддержку и других протоколов. Так же, как и остальные программы обзора, JFtp абсолютно бесплатен и распространяется вместе с исходным текстом.
WS_FTP — старая гвардия
Когда я заканчивал работу над книгой, то мне нужно было отправить несколько больших файлов в издательство. Я попросил редактора предоставить мне доступ по FTP, потому что по электронной почте главы моей книги пересылались слишком медленно и могли просто не уложиться в лимит почтового сервера. Признаюсь, я сильно удивился, обнаружив в почтовом ящике архив с настроенной программой WS_FTP32. Я работал с ранней версией этой программы еще во времена Windows 3.11 и считал, что ее уже нет в живых.
Ан нет! Эта программа, оказывается, еще может сослужить добрую службу. Системный администратор создал на FTP-сервере учетную запись и, чтобы не передавать имя пользователя и пароль по электронной почте, просто сохранил эти данные в настройках WS_FTP. Он и отправил мне эту программу, упаковав в архив объемом всего 182 Кбайт. Я считаю, что это очень рациональное решение — программа исключительно маленькая, хранит пароль в зашифрованном виде, имеет базовую функциональность и простой графический интерфейс.
PSFTP
Консольный клиент FTP и SFTP из набора PuTTY.
Оценка: 3,5 / 5
Поддерживаемые ОС: Windows, Linux, Mac OS X.
Системные требования: 200-МГц Pentium II, 32-Мбайт ОЗУ, 3,25 Мбайт на жестком диске.
Размер дистрибутива: 1,7 Мбайт.
Лицензия: MIT.
Сайт: http://www.chiark.greenend.org.uk/~sgtatham/putty/
NcFTP
Удобный консольный FTP-браузер.
Оценка: 3,5 / 5
Поддерживаемые ОС: Windows, Linux, Mac OS X.
Системные требования: 200-МГц Pentium II, 32-Мбайт ОЗУ, 1,34 Мбайт на жестком диске.
Размер дистрибутива: 1,27 Мбайт.
Лицензия: Freeware.
Сайт: http://www.ncftp.com/
FileZilla
Лучший бесплатный FTP-менеджер.
Оценка: 5 / 5
Поддерживаемые ОС: Windows, Linux, Mac OS X.
Системные требования: 200-МГц Pentium II, 32-Мбайт ОЗУ, 11 Мбайт на жестком диске.
Размер дистрибутива: 2,87 Мбайт.
Лицензия: GNU General Public License.
Сайт: http://filezilla-project.org/
i.FTP
Простой и удобный графический FTP-клиент.
Оценка: 5 / 5
Поддерживаемые ОС: Windows, Mac OS X, BeOS.
Системные требования: 200-МГц Pentium II, 32-Мбайт ОЗУ, 1 Мбайт на жестком диске.
Размер дистрибутива: 838 Кбайт.
Лицензия: Freeware.
Сайт: http://www.memecode.com/iftp.php
WinSCP
Мощный и удобный FTP-менеджер для Windows.
Оценка: 5 / 5
Поддерживаемые ОС: Windows 9х/Ме/2к/ХР/Vista.
Системные требования: 200-МГц Pentium II, 32-Мбайт ОЗУ, 7 Мбайт на жестком диске.
Размер дистрибутива: 2,28 Мбайт.
Лицензия: GNU General Public License.
Сайт: http://www.ncftp.com/
JFtp
Графический браузер сети и программа для передачи файлов по протоколам FTP, SMB, SFTP, NFS и HTTP.
Оценка: 4 / 5
Поддерживаемые ОС: Windows, Linux, Mac OS X и другие Unix.
Системные требования: 333-МГц Celeron, 64-Мбайт ОЗУ, 10,7 Мбайт на жестком диске, Java Runtime Environment.
Размер дистрибутива: 3,63 Мбайт.
Лицензия: GNU General Public License.
Сайт: http://j-ftp.sourceforge.net/