Как скачать файлы с фтп сервера. Путеводитель по бесплатным FTP-клиентам

Протокол FTP стремительно теряет свои позиции среди пользователей, которые используют передачу файлов между собой в сети интернет. Но он по-прежнему полезен для передачи файлов с компьютера на компьютер, а также неизменно является номером один при загрузке файлов на веб-хост. Особенно фтп прижился у владельцев, разработчиков, контент-менеджеров сайтов, которые работают на Windows, и которые никак не хотят использовать SSH.

Постоянный опыт работы с FTP неизменно приводит каждого пользователя к использованию FTP-приложения. Попробовав один раз, никто более не отказывается от FTP-приложения. Ведь с ним экономия времени по передачи файлов видна не вооружённым глазом. Да и к тому же зачем вручную каждый раз настраивать передачу фтп в браузере или в командной строке, если разработчики фтп клиентов уже давно взяли и автоматизировали процесс подключения к фтп и передачи файлов.

Надо сказать, что стандартный проводник Windows также умеет подключаться к FTP серверу, и использовать FTP соединение как будто папку с файлами на сетевом ресурсе. Это удобно с точки зрения небольшого количества файлов, которые требуется передать или получить.

Вот три лучших FTP клиента под Windows, которые доступны совершенно бесплатно.

Большинство пользователей считает, что WinSCP является лучшим бесплатным FTP клиентом для Windows. С этим стоит согласиться. Несмотря на свою простой и удобный в использовании интерфейс, WinSCP содержит ряд дополнительных функций, которые могут удовлетворить даже самые взыскательные потребности пользователей.

В дополнение к протоколу FTP WinSCP поддерживает передачу файлов и удаленное редактирование файлов с использованием протоколов SFTP, SCP и WebDAV. Независимо от того каким из вышеперечисленных протоколов Вы пользуетесь, inSCP может синхронизировать локальные каталоги с удаленными каталогами нажатием одной кнопки или комбинацией клавиш.

WinSCP интегрируется непосредственно в Windows, позволяя использовать перетаскивания файлов и включает дополнительную опции в контекстное меню Windows "Отправить". WinSCP также имеет встроенный текстовый редактор, который позволяет произвести редактирование удаленных файлов (полезно для настройки HTML, CSS, JS и т. Д.).

Для опытных пользователей WinSCP имеет интерфейс командной строки и поддержку сценариев (командные файлы и сборки.NET). Справка по использованию сценариев находится в приложение и доступна вызовом по f1 . Она отлично подходит для автоматизации задач получения и передачи файлов.

Cyberduck - простой, но эффективный FTP-клиент, который лучше всего подходит для периодической передачи файлов. Приложение может быть полезно и для опытных пользователей и для начинающих знакомство с фтп. Интерфейс Cyberduck упрощён настолько, что в нём разберётся даже ребенок. С Cyberduck тяжелые и частые передачи файлов могут быть проще при использовании более полного интерфейса.


Этот клиент является бесплатным с открытым исходным кодом. Он поддерживает несколько протоколов поверх FTP, включая SFTP и WebDAV, а также соединения с Dropbox, Google Диском, облачным хранилищем Google, Amazon S3 и другими.

Cyberduck легко интегрируется с любым внешним текстовым редактором, который удобен для удаленного редактирования веб-файлов. Он также имеет функцию быстрого просмотра, которая позволяет просматривать файлы без их загрузки. Локальные каталоги могут быть синхронизированы с удаленными каталогами.

Главной особенностью Cyberduck является возможность обеспечения безопасности передачи. Он поставляется с функцией Cryptomator, которая шифрует имена файлов и каталогов и размазывает структуры каталогов. Другими словами, даже если кто-то перехватывает Вашу передачу, они не смогут увидеть, что Вы передаете.

Единственным недостатком Cyberduck является периодически появляющаяся просьба пожертвования. Вы можете скрыть её, но она появляется снова при каждом обновлении приложения.

В 2014 году выяснилось, что поддельная версия FileZilla (версии 3.5.3 и 3.7.3) распространяются по Интернету. "Злобный близнец" FileZilla был модифицирован с целью украсть учетные данные для входа в систему FTP и сохранить их на удалённом сервере.

FileZilla распространяется через загрузку с SourceForge, который попал также под контроль после того, как произошёл ещё один инцидент, связанный с модификацией FileZilla вставками рекламных баннеров. Хотя для загрузки программного обеспечения существуют и более худшие места, мы рекомендуем держаться подальше от SourceForge.

Кроме того, FileZilla уже давно подвергается критике за сохранение учетных данных для входа в систему в виде простого текста.В 2017 году с выходом версии 3.26.0 FileZilla, наконец, добавила функцию шифрования паролей, но для этого потребовалось более десяти лет жалоб пользователей.


И всё-таки, FileZilla надежный FTP-клиент.

FileZilla является бесплатным приложением с открытым исходным кодом и поддерживает передачу файлов по протоколам FTP, SFTP и FTPS. Передача файлов может быть приостановлена ​​и возобновлена, соединения поддерживают как IPv4, так и IPv6-адреса, а также может синхронизировать локальные каталоги с удаленными каталогами.

Главные функции FileZilla включают в себя сравнение каталогов, настраиваемые фильтры списков каталогов (можно создавать собственные условия фильтра), удаленный поиск файлов (с гибкими фильтрами и соответствие шаблонам), закладки для удобного доступа к часто используемым фтп каталогам.

Важное примечание по FTP и SFTP

Одним из самых больших недостатков FTP является то, что это простой текстовый протокол (File Transfer Protocol). Это означает, что данные отправляются туда и обратно в текстовом виде без труда, читаемый человеком. Это огромная уязвимость, поскольку учетные данные для входа в систему также отправляются простым текстом!

Если злоумышленник перехватывает попытку входа в систему, он увидит имя пользователя и пароль учетной записи, не говоря уже о содержимом переданных файлов.

Вот почему Вы должны использовать SFTP вместо FTP, когда это возможно.

SFTP, который является расширением протокола SSH (Secure File Transfer Protocol), и который использует шифрование для защиты передаваемых данных (как учетных данных, так и содержимого файла).

Большинство служб, которые поддерживают FTP-соединения, также поддерживают и соединения SFTP. А при использовании FTP-клиента фактический рабочий процесс передачи файлов ничем не отличается от процесса передачи через FTP. Единственное различие заключается в том, что при подключении Вы выбираете SFTP вместо FTP.

Какой клиент FTP используете Вы? Есть ли другие хорошие фтп-клиенты, которые можете посоветовать? Или Вы предпочитаете другой протокол передачи файлов? Напишите об этом в комментариях ниже.

Многие из нас порой пользуются протоколом FTP, например, я даже на своём компьютере. Скачать файл по этом протоколу не так сложно через браузер, но вот папку вы не скачаете таким образом.

Можно конечно всё вытягивать по одному файлу, но это не выход, файлов может быть очень много. Но на самом деле это не проблема и тут есть несколько вариантов, ?

1. Как с FTP скачать папку при помощи FileZilla?

Первый и самый простой способ - это установить ftp клиент, например, программу Filezilla. Установить её можно командой в терминале:

Sudo apt-get install filezilla

Работать с этой программой совсем просто, поэтому не буду долго объяснять. Скажу только, что нужно ввести адрес ftp сервера в поле "хост" и нажать "enter"

2. Как с FTP скачать папку при помощи Nautilus?

Но, например, я столкнулся с проблемой, что некоторые ftp сервера в нашей локальной сети совсем не хотят соединяться с filezilla. Поэтому бывает нужно пойти другим путём: зайти на ftp через файловый менеджер nautilus. Делается это просто: открываете любое окно наутилуса и нажимаете Ctrl + L После этого в нём появляется адресная строка. Вводим туда адрес ресурса ftp: ftp://172.22.16.133 (вы вводите естественно ваш адрес) В окне должны появиться папки и файлы ресурса. Но тут сразу возникает проблема: nautilus совсем отказывается понимать русскую кодировку в cp1251, появляются крякозябры.

Как открыть папку ftp в nautilus, чтобы кодировка была нормальной, то есть uft8? Думаю просто открыть таким способом у нас не получиться, так как в nautilus нет таких настроек. (Может и есть какие-нибудь хитрые способы, но я о них не слышал). Но есть другой способ решить эту проблему: можно просто подмонтировать ресурс ftp к какой-нибудь нашей папке. Для этого нам понадобится небольшая консольная програмулька - curlftpfs. Устанавливаем:

Sudo apt-get install curlftpfs

После этого создаём где-нибудь папку, например с названием FTP.

Что бы воспользоваться программай нужно в консоли ввести команду:

Fusermount -u /home/user/FTP

Но в данном случае вы опять получите крякозябры. Поэтому нужно ввести специальный параметр, которые будет на лету перекодировать кракозябры в удобоваримый вид:

curlftpfs 172.22.16.133/audio /home/user/FTP -o codepage=windows-1251[,iocharset=utf8]

Опа! Получилось!

Параметр -o codepage=windows-1251[,iocharset=utf8] как раз и даёт возможность перекодировать виндозную кодировку в нашу utf8.

Теперь вы можете скачать папку с ftp без особых проблем, или просто полазить на сервере, ища то, что вам нужно.

Недавно, для одного интернет-магазина на базе joomla-virtuemart , сделал скрипт, позволяющий на основе информации о товарах в базе данных генерировать каталоги товаров в виде XML документа с соблюдением формата Yandex Market Language (YML-формат каталога). Скрипт генерирует такие каталоги и сохраняет в файловой системе сайта. Но, клиент очень скоро пожаловался, что неудобно скачивать каталоги с сайта. И правда, при прямом обращении к каталогу, он просто открывается в браузере и чтобы его скачать нужно дополнительно нажать правой кнопкой мыши и кликнуть «сохранить как…».

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

, $_GET [ "file" ] ) and file_exists ($_GET [ "file" ] ) ) { $content = file_get_contents ($_GET [ "file" ] ) ; header ("Content-Type: " . $ctype . "; charset=utf-8" ) ; header (. $_GET [ "file" ] ) ; ob_end_clean () ; ob_start () ; echo $content ; ob_end_flush () ; exit () ; } else { echo "Файл не найден." ; exit () ; }

Принцип работы этого скрипта довольно прост. Допустим, скрипт записан в php файл с именем «download.php» и помещен в папку «files». Формируется ссылка на этот скрипт, в которой передается GET параметр file и в этом параметре передается имя требуемого текстового документа. Например, мы хотим скачать текстовый файл с именем test.xml или test.txt:

Http://www.domen-saita.ru/files/download.php?file=test.xml или http://www.domen-saita.ru/files/download.php?file=test.txt

При этом, если файл найден в файловой системе, в браузере всплывает диалоговое окно сохранения документа на компьютер.

Безопасность

Однако, в такой организации скачивания документов с сервера таится одна серьезная опасность. Если я введу в адресной строке браузера такой запрос:

Http://www.domen-saita.ru/files/download.php?file=../configuration.php

в таком случае начнется то, чего ни в коем случае допускать нельзя! Начнется скачивание файла конфигурации Вашего сайта (в данном случае имеется ввиду файл конфигурации joomla, однако это в равной степени касается всех CMS). А это автоматически означает полный крах, потому что в таком случае в руки пользователю попадает вся жизненно важная информация связанная с работоспособностью сайта. И вопрос взлома – это уже вопрос ближайшего времени. Поэтому, чтобы предотвратить такую возможность, мы должны позаботиться о безопасности. Именно для этого в первой строке скрипта полученный запрос проходит проверку регулярным выражением.

preg_match ("/^Catalog{0,50}\.xml$/" , $_GET [ "file" ] )

В данном случае, регулярное выражение допускает возможность скачивания только документа, имя которого может быть следующим:

Catalog.xml Catalog_krovati.xml Catalog_shkafy_i_tumby.xml

и тому подобное… То есть имя файла, в данном случае, должно начинаться с «Catalog» и заканчиваться на «.xml», с учетом регистра - любые другие вариации будут отклонены и на экран будет выведено сообщение «файл не найден». Хотя, физически он может находиться на сервере, но его скачивать не разрешено.

Причем, так же в этом регулярном выражении нет возможностьи пропустить символ «/» и «.» (кроме точки в окончании имени файла). Это предотвращает возможность в качестве имени файла указать путь до файла в другой папке, аналогично примеру с «configuration.php», или например:

Http://www.domen-saita.ru/files/download.php?file=../drugaya-papka/test.xml

То есть, данный скрипт позволит скачивать xml файлы только из той папки, в которой находится сам скрипт.

Однако, Вы можете изменить структуру регулярного выражения так, чтобы допустить скачивание любых «txt», «xml», «pdf», а так же любых графических файлов типа «png», «gif» и прочее… В общем, тут Вы можете полностью сами решать какие файлы можно скачивать с помощью этого скрипта. Главное ни в коем случае не допускайте через этот скрипт скачивание системных файлов вашего сайта, которые могут нести какие-то важные настройки, логины и пароли. Если с помощью этого скрипта захотите организовать скачивание из разных директорий файловой системы, то подумайте о том чтобы не было возможности скачивать из папки типа «administrator» или «admin», или из папок, которые содержат файлы расширений CMS, в том числе их файлы конфигурации.

На этом, собственно, вопрос безопасности завершается и дальше идет просто техническая работа по подготовке к скачиванию, если проверка пройдена успешно и файл с таким именем существует.

Во второй строке скрипта запрашивается содержимое целевого файла и помещается в переменную.

Далее передаются заголовки, в первом заголовке определяется тип данных и кодировка, а во втором заголовке передается требование вывести диалог сохранения документа на компьютер до вывода его в окне браузера.

Далее предварительно опустошается (на всякий случай) и разрушается буфер. Затем запускается буферизация и все что выводится из переменной $content помещается в буфер, после чего выводится оттуда для скачивания.

Алтернативный код

Здесь представлен код того же скрипта, но чтение и дальнейшее скачивание файла с сервера происходит через функцию readfile(), что согласно документации php точно не должно вызвать проблем с переполнением памяти. На всякий случай, перед вызовом этой функции происходит очищение буфера с помощью ob_clean().

if (isset ($_GET [ "file" ] ) and preg_match ("/^Catalog{0,50}\.xml$/" , $_GET [ "file" ] ) and file_exists ($_GET [ "file" ] ) ) { header ("Content-Type: " . $ctype . "; charset=utf-8" ) ; header ("Content-Disposition: attachment; filename="

Однако, я не хочу сказать что скрипт указанный в первой части статьи хуже, просто для него я не могу сказать как он поведет себя при скачивании файлов большого размера. В случае же второго варианта, со слов самих разработчиков php – таких проблем точно не возникнет.

Дополнительное улучшение

Если Вы надумаете использовать скрипт для скачивания файлов разных форматов, то будет полезно при каждом скачивании в заголовках правильно указывать тип передаваемых данных, т.н. MIME-типы (подробнее можно прочитать ). Для этого нужно добавить анализ имени файла на предмет его расширения, тогда скрипт будет примерно таков:

if (isset ($_GET [ "file" ] ) and preg_match ("/^{0,50}\.(xml|txt|pdf|png|gif|jpg|jpeg|exe|doc|xls|ppt|zip|)$/" , $_GET [ "file" ] ) and file_exists ($_GET [ "file" ] ) ) { $extension = strtolower (substr (strrchr ($_GET [ "file" ] , "." ) , 1 ) ) ; switch ($extension ) { case "txt" : $ctype = "text/plain" ; break ; case "pdf" : $ctype = "application/pdf" ; break ; case "exe" : $ctype = "application/octet-stream" ; break ; case "zip" : $ctype = "application/zip" ; break ; case "doc" : $ctype = "application/msword" ; break ; case "xls" : $ctype = "application/vnd.ms-excel" ; break ; case "ppt" : $ctype = "application/vnd.ms-powerpoint" ; break ; case "gif" : $ctype = "image/gif" ; break ; case "png" : $ctype = "image/png" ; break ; case "jpeg" : $ctype = "image/jpg" ; break ; case "jpg" : $ctype = "image/jpg" ; break ; default : $ctype = "application/force-download" ; } header ("Content-Type: " . $ctype . "; charset=utf-8" ) ; header ("Content-Disposition: attachment; filename=" . $_GET [ "file" ] ) ; ob_clean () ; readfile ($_GET [ "file" ] ) ; exit () ; } else { echo "Файл не найден." ; exit () ; }

Кроме того, при желании, можно скрипт доработать таким образом чтобы ограничить количество скачиваний конкретного файла для одного пользователя. При этом прямой доступ к файлам перекрыть настройками сервера (например, через.htaccess на apache).

Для скачивания файлов с FTP-серверов, в принципе, достаточно браузера. При переходе по ссылке на FTP-сервер (или при указании адреса сервера в адресной строке браузера) на странице обозревателя появляется структура папок в виде ссылок. Чтобы зайти в папку, нужно щелкнуть по ссылке. При этом на странице появится содержимое этой папки, опять же в виде ссылок. Это могут быть ссылки на файлы или вложенные папки.

Если вход на FTP-сервер защищен паролем, то при переходе по FTP-ссылке в окне браузера появится диалоговое окно, в котором нужно ввести логин и пароль. Логин и пароль можно узнать у администратора сервера. Если это не представляется возможным, вы не сможете подключиться к этому серверу.

Далее все просто. По ссылкам на веб-странице FTP-сервера требуется перейти в нужную папку, найти интересующий файл, после чего щелкнуть по нему мышью (или выбрать соответствующую команду в контекстном меню, появляющемся при щелчке правой кнопкой мыши по ссылке на файл). Файл будет загружен браузером так же, как и по прямой ссылке на веб-странице.

Стоит отметить, что подключение к FTP-серверам из браузеров не всегда удается. А если и удается, то, как правило, вход в папки осуществляется не очень быстро. Также скачивание файла прерывается, если вы случайно закроете браузер. Поэтому для скачивания файлов с FTP-серверов обычно используют специальные программы, называемые FTP-клиентами. Одну из таких программ мы рассмотрим в этой главе.

10 лучших бесплатных FTP-клиентов для 2017 года

10. FTP Client for Linux

FTP клиент — это программа, которая использует протокол FTP для передачи файлов на и с удаленного компьютера. FTP является наиболее распространенным протоколом передачи используется для передачи файлов с одного компьютера на другой через Интернет. Базовый вариант протокола не является безопасным.

Каждый веб-дизайнер / разработчик имеет любимый FTP-клиент, и мы, как правило, передаем файлы на веб-сервера с помощью этих клиентов. Тем не менее, бывают случаи, что мы не имеем наши компьютеры с нами, но нужно передать или отредактировать файл, который может быть получен только через FTP.

Есть множество бесплатных FTP-клиентов, доступных в Интернете. В этой статье вы найдете список лучших подобранных FTP клиентов для разработчиков.

FileZilla является выбором номер один для большинства пользователей, поскольку она является одним из перспективных и популярных FTP-клиентов. FileZilla очень быстр, может обрабатывать одновременные передачи и поддерживает кросс-платформенный FTP, SFTP и FTPS с большим количеством полезных функций и интуитивно понятным графическим интерфейсом пользователя.

Кроме того, он также поддерживает IPv6, закладки, работает на Windows, Linux, Mac OS X и т.д., поддерживает редактирование файлов, удаленное сравнение каталогов, перетаскивание, удаленный поиск файлов и многое другое.

FireFTP является свободным, безопасным, кросс-платформенным FTP / SFTP клиентом для Mozilla Firefox, который обеспечивает легкий и интуитивный доступ к серверам / SFTP FTP. FireFTP бесплатен, кросс-платформенный, поддерживает SSL / TLS / SFTP (такое же шифрование используется в онлайн-банкинге и при покупках). Этот клиент FTP доступен на 20 языках, поставляется с набором символов поддержки, поиск / фильтрация, дистанционное редактирование, экспорт / импорт учетных записей, файл хеширования, поддержка прокси, поддержка FXP, и его открытым исходным кодом.

Monsta FTP — облачное программное обеспечение с открытым исходным кодом PHP / Ajax, которое помещает управление файлами FTP прямо в браузере, в любом месте, в любое время. Вы можете перетаскивать файлы в ваш браузер и просматривать их, загружать, как по волшебству. Monsta FTP поддерживает экранное редактирование файлов. Существует поддержка нескольких языков.

Он был протестирован на Chrome, Firefox, Internet Explorer и Safari. Он выпускается под лицензией GNU General Public License. Вы можете скачать бесплатно и установить его на своем собственном сервере.

Cyberduck является libre FTP, SFTP, WebDAV, S3, Backblaze B2, Azure и OpenStack Swift браузер для Mac и Windows. Простой в использовании интерфейс, подключение к FTP (File Transfer Protocol), SFTP (SSH безопасная передача файлов), WebDAV (Web на основе распределенной разработки и управления версиями), Amazon S3, Google Cloud Storage, Rackspace Cloud Files, Backblaze B2, Google Драйв и Dropbox.

Вы можете редактировать стандартные заголовки HTTP и добавлять пользовательские HTTP-заголовки файлов для хранения метаданных и кэш-контроля. Пакетное редактирование включено.

Cyberduck — удобное приложение для «заливки» и скачивания файлов с FTP. Будучи простым и удобным в использовании, клиент легко настраивается под нужды пользователя.


SmartFTP поддерживает FTP (File Transfer Protocol), FTPS, SFTP, WebDAV, S3, Google Drive, OneDrive, SSH, терминал клиент. Он позволяет передавать файлы между локальным компьютером и сервером в сети Интернет. Наряду с его многими основными и расширенными функциями SmartFTP также предлагает безопасные, надежные и эффективные переводы, которые делают его мощным инструментом.

SmartFTP включает в себя некоторые новые функции, такие как поддержка для Windows 10, текстовый редактор, Google Drive, Microsoft OneDrive и многие другие улучшения и усовершенствования.

WinSCP является ПО с открытым исходным кодом — бесплатный SFTP клиент, FTP-клиент, клиент WebDAV и SCP клиент для Windows. Его основной функцией является передача файлов между локальным и удаленным компьютером. Помимо этого, WinSCP предлагает сценарии и основные функциональные возможности файлового менеджера.

Classic FTP — стабильный FTP-клиент, доступный и очень простой в использовании. Он упакован с множеством полезных функций, таких как интуитивно понятный пользовательский интерфейс, инструмент синхронизации перетаскивания файлов, поддерживает защищенный протокол FTP (SSL), совместим со всеми популярными FTP-серверами, простой мастер настройки и работает как на Windows, так и на Mac OS X.

Transmit - является самым популярным и доминирующим FTP клиентом среди пользователей Mac. Он поставляется с очень мощным набором функций, таких как папки синхронизации, функция диска и более высоких скоростях. Передача прекрасно интегрируется в родной средой Mac, что делает его очень легким для пользователей Mac, чтобы начать использовать его быстро. Transmit не бесплатный FTP-клиент!

OneButton FTP представляет собой графический FTP-клиент для Mac OS X с сильным акцентом на простоту использования, удобство. OneButton FTP позволяет легко переносить файлы, просто перетаскивая файлы с вашего компьютера.

OneButton FTP ничего не стоит; это совершенно бесплатный клиент. Он содержит локализации на английском, французском, немецком, итальянском, японском, испанском и шведском языках. Он поддерживает как незашифрованные FTP, так и FTP через SSL.

10. FTP Client for Linux

gFTP является свободным многопоточным клиентом передачи файлов для машин на базе * NIX. Он поддерживает FTP, FTPS (контроль подключения), HTTP, HTTPS, SSH и FSP протоколы. Загрузка и редактирование файлов похожа на FileZilla.