OpenFTP
Иногда нужно скачать большое количество файлов с FTP сервера. Это затруднительно, когда дело доходит до OpenComputers, потому что FTP клиента попросту нет. Приходится изощряться, заливать файлы на HTTP сервер, pastebin или вовсе вставлять их из буфера обмена.
И все было бы хорошо, если бы были эти способы удобными. Потому написал я FTP клиент для OpenComputers. Название ему — OpenFTP.
Он поддерживает большинство функций, как и старшие братья OpenFTP, такие как FileZilla и bsd FTP.
Интерфейс схож с таковым из bsd FTP. Приятная командная строка, команды похожи на *NIX команды, например rm, ls, rename, mkdir.
Скорость для OpenComputers бомбезная. Почти 50 кб в секунду на чтение, и в 10 раз больше на запись. Учитывая вместимость дисков, это очень хорошие показатели.
Скачать: pastebin get UPcwLA9ep /bin/ftp.lua
Для подключения к серверу набираем ftp <хост сервера> [порт сервера (по умолчанию 21)]. После этого OpenFTP попросит имя пользователя и пароль.
Увидели ftp> — соединение успешно налажено. Теперь мы можем писать команды для общения с сервером.
Команды
cd <путь> — перейти в директорию по указанному пути. Работает аналогично таковой в OpenOS оболочке.
.. — перейти в директорию-родитель. Результат будет таким же, как в cd ... Например, если мы были в директории /home/peter/programs, после применения команды мы окажемся в директории /home/peter.
pwd — указывает директорию в которой мы находимся.
ls [-s] [путь] — указывает список файлов в указанной директории (по умолчанию — текущая директория). Флаг -s применяется в том случае, если мы хотим неполный вывод, без полезной информации вроде даты изменения и автора.
rm [-d] <путь> — удаляет файл или папку. Если мы хотим удалить папку, добавляем ключик -d.
mkdir <путь> — создать новую директорию по указанному пути.
rename <было> <стало> — переименовать файл или директорию. После выполнения команды, если все пройдет успешно, было сменится на стало. Алиас: rn.
ascii — переходит в ASCII режим передачи файлов. Использовать не рекомендуется, т.к. возможны последующие искажения файлов.
binary — переходит в бинарный режим передачи файлов. Рекомендуется использовать именно его, таким образом абсолютно все символы передадутся без потерь. По умолчанию, к слову, используется именно он.
Ох, и самое главное:
get <путь до файла на сервере> [путь до файла на клиенте] — скачивает указанный файл с сервера.
put <путь до файла на клиенте> [путь до файла на сервере] — загружает указанный файл на сервер.
nop — команда которая ничего не сделает. (не шучу, в FTP протоколе правда есть команда такая, правда называется она NOOP = No Operation)
У каждой команды есть также флаг --help, который показывает помощь (на английском)
Хочу также сказать спасибо @Fingercomp за предоставленный прогресс-бар. Без него жизнь малиной не казалась бы =). Также спасибо ему за доступ на свой FTP сервер, где я мог спокойно тестировать программу.
Enjoy!
PS: