Исходный код:
Программа представляет собой файловый менеджер, работающий поверх протокола HTTP. Предусматривает возможность выполнения команд как интерактивно (посредством WEB-интерфейса), так и программно (с помощью дополнительного клиентского perl-пакета). Клиентская часть генерируется самой программой и может быть получена в виде файла по запросу (выполняется только интерактивно), что позволяет получать всегда совместимую клиентскую часть.
В целях безопасности в программу "зашит" путь директории, которая воспринимается как корневая. Это значение может быть изменено администратором (т.е. человеком, разместившим скрипт). Прозрачная структура исходного кода в целях безопасности или за ненадобностью позволяет отключать команды серверной части. Благодаря этому программа может быть использована не только как средство автоматизации рутинных операций, но и как механизм доступа к публичным данным (репозитариям, резервациям).
Основной упор сделан на надёжность передачи данных и минимизацию трафика, что важно как для медленных и ненадежных модемных соединений, так и для быстрых, где важен объем информации. Настоящая версия (0.6) позволяет
- Получать подробный листинг директории с возможностью рекурсивного обхода подкаталогов
- Создавать и удалять каталоги
- Загружать и выгружать файлы
- Корректно работать с большими бинарники
- Загружать файлы perl-скриптов (определяются расширением) с изменением первой строки (путь к интерпретатору) а так же текстовые с приведением к системному переводу строки
- Модули
- CGI
- HTTP::Request::Common (LWP)
- LWP::UserAgent (LWP)
- IO::Handle
- Digest::MD5
- Windows
- AS perl 5.6.1 build 635 или старше (ВАЖНО для корректной работы LWP!)
- Подсчет трафика
- Компрессия данных
- Фрагментация больших файлов
- Сопряжение версий протоколов
- Отбор файлов по регэкспам
2003-02-18
- Исправлен баг Out of memory при работе с большими файлами.
- Сокращен расход памяти.
- Клиентская часть генерируется автоматически и может быть получена посредством интерфейса.
- Модуль разбит на составные пакеты.
- Добавлен пакет webutils с пробными функциями зеркалирования.
- Изменился принцип формирования страниц помощи и формы (наконец то избавился от кривого хелпа).
2003-02-05
- Команда LIST, при передаче в качестве ARG2 непустого значения, выводит список содержимого вложенных директорий.
- Для облегчения работы заюзан модуль IO::Handle.
- Для корретного расчета контрольных сумм perl-пакетов в раздел txt типа файлов добавлено расширение ".pm".
|