HFS для начинающих

HTTP File Server
руководство по настройке и созданию собственного сервера

Содержание:
Вступление
Меню управления
Меню передачи данных
Меню статистики
Меню файловой системы
Настройка и запуск сервера

ВСТУПЛЕНИЕ

Итак, что же такое HFS и для чего он нужен? Программа была разработана как альтернатива FTP серверам, но работающая по Http протоколу. То есть вы можете скачивать файлы с такого сервера не специальным клиентом, а обычным браузером. Программа занимает меньше 1 мегабайта, поддерживает html шаблоны, закачку файлов на сервер, систему аккаунтов и виртуальную файловую систему, благодаря которой вы можете создать собственное web хранилище, объединив разные папки и файлы на разных дисках.

В данном комплекте поставки находятся файл документации (которую вы сейчас и читаете) и папка Http File Server 2.1d - сам сервер и русская шкурка - переведенный шаблон для сайта ( (С) HFS Terayon v1.2.1v & CheshirCa )

Для начала создадим папку, где будет "жить" сервер - скажем, "C:\Program Files\HFS", куда скопируем содержимое папки "Http File Server 2.1d".
Теперь для удобства создадим на десктопе ярлычок для файла "C:\Program Files\HFS\hfs.exe". Запускаем сервер. При первом запуске появится окошко:

Нам предлагают интегрировать сервер в контекстное меню проводника. Как показывает практика - это очень удобная возможность, поэтому рекомендую ответить "Yes".
Дальше откроется основное окно программы (по умолчанию программа запускается в "простом режиме"):

Нажмем кнопку "5" и перейдем в полный режим:

Что есть что на интерфейсе программы:
  1. Виртуальная файловая система (VFS) - тут показываются папки, с которыми может работать удаленный пользователь, здесь же настраиваются параметры этих папок.
  2. Лог программы - тут же (по правому клику) его можно настроить.
  3. Текущие передачи - тут показывается, кто принимает сейчас от вас файлы и какие (а также заливает к вам)
  4. Ссылка на созданный сайт (копируете ее и передаете желающим, по этой ссылке они могут попасть к вам на сайт)
  5. Кнопка выбора режима (простой/эксперт)
  6. Порт, на котором будет работать сервер. Порт не должен быть занят другими программами или серверами
  7. Основное меню
  8. Включение (ON) - Выключение (OFF) сервера. В выключенном состоянии сервер недоступен снаружи.
  9. Кнопка "Открыть в браузере" - позволяет вам взглянуть на собственный сайт
  10. Число соединений с вашим сервером
  11. Текущая скорость отдачи данных с сервера
  12. Текущая скорость приема данных на сервер
  13. Общая (за все время) средняя скорость отдачи данных с сервера
  14. Общая (за все время) средняя скорость приема данных на сервер
  15. Количество элементов в корне VFS, а также ее статус
  16. Графическое представление приема-передачи данных
Далее будут показаны различные меню и настройки программы. Если вы уже знакомы с ними, можете пропустить этот шаг.

МЕНЮ УПРАВЛЕНИЯ

Теперь рассмотрим основное меню программы:

1. Self test - тестирование работы сервера (проверяет различные порты и выдает приблизительный диагноз в случае неполадок)

2. Edit HTML template... - Позволяет поменять "шкурки" на вашем сервере. Это небольшой текстовый редактор, в котором можно быстро отредактировать ваши HTML шаблоны или загрузить новые. При выборе этого пункта откроется окно редактора:

  • кнопкой "ОК" принимаются исправления в шаблоне и это окно закрывается
  • кнопкой "APPLY" просто принимаются исправления в шаблоне
  • кнопкой "CANCEL" исправления не принимаются и окно закрывается
  • кнопкой "UNDO" можно отменить последние исправления
  • кнопкой "RESTORE DEFAULT" восстанавливается начальный шаблон
  • флажок "WORD-WRAP" включает режим переноса слов, не видимых за пределами экрана
  • кнопкой "FONT" можно выбрать шрифт окна
  • кнопкой "IMPORT" импортируется записанный на диске шаблон
  • кнопкой "EXPORT" текущий шаблон сохраняется на диске
  • поле "FIND" служит для быстрого поиска по тексту шаблона
  • кнопкой "HELP" вызывается помощь, в том числе по макро подстановкам шаблонов
3. Other options - системные настройки программы:

  • Shell context menu - включает интеграцию программы в проводник Windows. Интеграция позволяет добавлять папки в VFS правым кликом мыши в проводнике
  • Auto-copy URL on addition - каждый раз при добавлении файла, его URL кладется в карман Windows
  • Always on top - окно поверх других окон
  • Send HFS identifier - представляться клиентам как HTTP сервер
  • Persistent connections - использовать одно или несколько соединений для HTML контента
  • Specific HTML for download managers - оптимизация HTML для качалок Getright, FDM, FlashGet.
  • Graph refresh rate - частота обновления графического лога
  • MIME types - выбор реакции сервера на различный контент
  • Open directly in-browser - определяет, какие файлы можно открывать прямо в броузере, а какие надо скачивать
  • User accounts - меню управления зарегистрированными пользователями
  • Use comment as realm - использовать комментарий к контенту в окне запроса логина/пароля
  • Login realm - сообщение для окна запроса логина/пароля (при входе в систему)
  • Hints for newcomers - выводить подсказки
  • Compressed browsing - использовать сжатие при передаче HTML страниц
  • Modal dialog for options - сделать окно опций модальным
  • Use ISO date format - использовать международный формат для даты
  • Browse using localhost - использовать для просмотра сайта (при нажатии F9) адрес localhost
  • Enable ~nodefault - разрешить просмотр файлов в обход умолчаний
  • Add icons... - добавить иконки для файлов
  • Input comment on file addition - спрашивать ли комментарий к файлу при добавлении его в VFS
  • Default sorting - как будут отсортированы файлы (Имя, Размер, Дата, Клики):

  • Show customized options - быстро просмотреть, какие опции были изменены

4. Upload - управление закаченными снаружи файлами.

В этом разделе происходит управление незаконченными закачками на ваш сервер. Вы можете удалить все незаконченные закачки (Delete partial...), переименовать их (Rename...) или включить режим, при котором вместо перезаписи при попытке загрузки файла с уже имеющимся именем, будет производится переименование старого файла (Number files...). Также можно посмотреть помощь (How to?).

5. Start/Exit - управление запуском и выходом из программы.

  • Auto-copy URL on start - при запуске позволяет копировать адрес сервера в карман Windows
  • Start minimized - при запуске сразу сворачиваться в трей
  • Reload on startup VFS file ... - Загружает при старте сохраненную последний раз VFS
  • Save totals - сохранять общую статистику при выходе
  • Auto-save VFS on exit - автосохранение VFS при выходе
  • Auto-close - закрывает программу, если за указанное время не было ни одного обращения к серверу, время выставляется тут:
  • Only 1 instance - можно ли запускать на компе больше одного сервера. Если помечена - то нельзя
  • Confirm Exit - спрашивать подтверждение при выходе
  • Find external address on startup - автоматически выбрать для работы тот сетевой интерфейс, что подключен к интернету (бывает полезно для DynDNS)
  • Run HFS when Windows starts - автозапуск сервера вместе с Windows
  • Minimize to tray....[X] - реакция на нажатие системной кнопки "закрыть программу". Если помечено, то вместо закрытия программа свернется в трей и продолжит работу.
6. Virtual File System - пункт управления настройками виртуальной файловой системы - VFS

  • Folders before - показывать сначала папки, потом файлы
  • Use system icons - использовать системные иконки в дереве VFS
  • Load single comment files - загружать в качестве комментария .comment файл
  • Support Descript.ion - использовать файлы Descript.ion для хранения комментариев
  • Enable recursive listing - поддерживать вид в виде дерева
  • Skip confirmation on deletion - не спрашивать подтверждения при удалении
  • List files with <hidden> attribute - показывать файлы имеющие атрибут "скрытый"
  • List files with <system> attribute - показывать файлы имеющие атрибут "системный"
  • List protected items only for allowed users - показывать защищенные файлы только пользователям, которым это явно разрешено
  • Icon masks - ассоциирование типа файла с иконкой
  • Flag files added recently... - помечать свежедобавленные файлы (надо указать, через сколько секунд файл перестает быть свежим)
  • Auto-save every... - автозапись VFS каждые ... минут
  • Adding folder - режим добавления папки в VFS. Ask - спрашивать, либо сразу как виртуальный фолдер, либо как реальный.

7. Limits - различные ограничения.

  • Speed limit - ограничение скорости канала (в килобайтах/секунду)
  • Pause streaming - приостановить передачу, не разрывая соединение (то есть временно сделать Speed limit = 0)
  • Max connections - максимальное количество соединений
  • Max connections from single address - максимальное количество соединений с одного IP
  • Max simultaneous downloads - максимальное количество одновременных скачек
  • Max simultaneous downloads from single address - максимальное количество одновременных скачек с одного IP
  • Max simultaneous addresses - максимальное количество пользователей на сервере (1 пользователь = 1 IP)
  • Max simultaneous addresses downloading - максимальное количество скачивающих IP
  • Connections inactivity timeout - время простоя соединения до принудительного разрыва (таймаут)
  • Bans... - блокирование доступа с определенных IP адресов
  • Minimum disk space - сколько должно оставаться мегабайт на диске, чтобы работала закачка к вам
8. Flash taskbutton - мерцание программы в панели задач.

Можно выбрать в каком случае будет происходить мерцание - при скачивании (On download), при подключении (On connection) или никогда (Never). Также можно включить пищалку (Also beep) на это событие.

9. Fingerprints - рассчет быстрой адресации

Рассчет можно включить (Enabled), сохранить рассчитанные (Save new...) и включить авторассчет при добавлении нового файла/папки

10. Tray icons - поведение иконок в системном трее.

  • Minimize to tray - при сворачивании убирать приложение в системный трей
  • Show main tray icon - всегда показывать иконку в трее, даже когда приложение не свернуто
- так выглядит основная иконка в трее
  • Main icon shows - что показывать на иконке в трее (в порядке перечисления - число текущих подключений, всего скачек, всего закачек, всего кликов)

  • Tray message - что показывать в всплывающей подсказке при наведении курсора на иконку трея (можно использовать макро подстановки)
  • Tray icon for each download - создавать для каждой скачки отдельную иконку в трее с индикатором процесса скачивания:
- иконка процесса скачивания

11. IP Address - информация об IP адресе сервера

Указанный в этом меню IP адрес используется только для построения адреса в строке (см. окно программы, 4). Вы можете ввести свой собственный адрес (IP или доменный) через меню Custom... Также если сервер сидит на 80 порту, можно не упоминать в ссылке про порт (Don't include port in URL). Пункт Find external address автоматически находит ваш адрес в интернете (при правильных сетевых настройках), причем если в процессе работы сервера этот адрес меняется - можно циклично проверять адрес (Constantly search for better address)

12. Accept connections on - на каком IP адресе принимать входящие подключения (Any address - на любом).

13. Dynamic DNS updater - если у вас динамический IP и вы пользуетесь сервисами DynDNS, CJB или No-IP, программа сама может обновить ваши DNS записи. Для этого используются мастера настроек.

14. URL encoding - правила создания URL ссылок.

  • Encode spaces - надо ли кодировать пробелы в ссылке (заменяются на %20)
  • Encode non-ASCII characters - превращает русские буквы и символы верхней части ASCII таблицы в кодовое представление (%...)
  • Unreadable passwords in URLs - скрывает пароль в URL, представляя его в виде кодов
  • Include passwords in pages... - добавляет логин и пароль к ссылке на файл (для даунлоад менеджеров)
15. Updates - проверка обновлений

  • Check for news/updates - скачать новости и информацию об апдейтах с сайта программы
  • Auto check every day - проверять обновления ежедневно
  • Keep old version updating - при обновлении старая версия стирается. Если эта опция включена, старая версия не стирается, а переименовывается в hfs.old.exe
  • Offer me... - предлагать ли обновляться до бета версий, или обновлять только стабильные версии
16. Save options - сохранение настроек

  • to file - в файл hfs.ini в папке программы
  • to registry (current user) - в реестр, но только для текущего пользователя
  • to registry (all users) - в реестр, для всех пользователей
  • Clear options and quit - сбросить вообще все настройки и выйти. При следующем запуске будут использованы настройки из hfs.ini или стандартные настройки программы
  • Auto-save options on exit - автосохранение настроек при выходе
  • Auto-save every... - сохранять настройки каждые ... минут
17. Help - справка программы

в разделе справки можно посмотреть описание программы (introduction), полное руководство (full guide) и частые вопросы-ответы (F.A.Q.)

18. Web Links - ссылки на ресурсы посвященные программе: официальный сайт, форум и лицензионное соглашение.

19. Uninstall HFS - полная деинсталляция сервера с очисткой всех настроек в реестре и удалением файлов сервера.

20. About... - информация об авторах и версии программы.

МЕНЮ ПЕРЕДАЧИ ДАННЫХ

При правом клике на главном окне в области (3), появится меню:

  • Kick connection - разорвать выбранное соединение
  • Kick IP address - разорвать все соединения с этого IP адреса
  • Kick all connections - разорвать все соединения
  • Kick idle connections - разорвать все незакрытые простаивающие соединения
  • Ban IP address - запретить этому IP входить на сервер, добавив его в бан-лист
  • View http request - показать последний HTTP запрос
  • Leave disconnected connections - не очищать список от закрытых соединений

МЕНЮ СТАТИСТИКИ
При правом клике на главном окне в области (2), появится меню:

  • Log what - что сохранять в статистике
  • Log to screen - выводить статистику на экран
  • Log to file... - сохранять статистику в файл (надо указать имя файла)
  • Do not log address - не вести статистику для указанных IP адресов
  • Address 2 name - позволяет подставлять вместо IP имена клиентов (вводятся в таблице)
  • Font... - шрифт, которым будет отображена статистика
  • Read only - запрет редактирования статистики
  • Copy - скопировать выделенную часть или весь лог в карман
  • Clear - очистить статистику
  • Save - сохраняет статистику в указанном в "Log to file..." файле
  • Save as... - сохраняет статистику в файле, который вы должны указать

МЕНЮ ФАЙЛОВОЙ СИСТЕМЫ

При правом клике на главном окне в области (2), появится меню:

  • Add files... - добавить файлы в VFS
  • Add folder from disk - добавить папку в VFS
  • New empty folder - создать пустую папку
  • New link - создать линк на файл, уже имеющийся в VFS (позволяет положить один и тот же файл в разные папки)
  • Remove - удалить выбранное
  • Rename - переименовать выбранное
  • Edit resource... - отредактировать связь с реальным файлом/папкой
  • Copy URL Address - скопировать URL адрес на выделенный файл/папку
  • Copy URL with different host Address - скопировать URL адрес, используя в качестве имени хоста другой адрес (если есть)
  • Copy URL with fingerprint - скопировать URL адрес на выделенный файл/папку, используя краткую адресацию
  • Browse it - открыть броузер с этого места
  • Open it - открыть этот файл на сервере
  • Comment - добавить комментарий к файлу/папке
  • Icon - поменять иконку для файла/папки в VFS представлении
  • Switch to virtual folder - преобразовать реальную папку в виртуальную
  • Diff template - использовать для показа этой папки нестандартный шаблон
  • Files filter - спрятать от пользователя файлы по маске
  • Folders filter - спрятать от пользователя папки по маске
  • Default file mask - маска для показа файлов
  • Don't count as download :mask - не учитывать скачанные файлы по определенной маске в счетчиках
  • Set user/pass - Установка логина/пароля на выбранный ресурс
  • Reset user/pass - сбросить логин/пароль для выбранного ресурса
  • Restrict access - установить права доступа для выбранных пользователей
  • Customized realm - изменить подсказку при запросе логина/пароля для доступа к этому ресурсу
  • Browsable - разрешить/запретить просматривать эту папку
  • No download - разрешить/запретить качать выделенное
  • Upload - разрешить заливать в эту папку выбранным пользователям (anyone - всем пользователям)
  • Hide - спрятать ресурс от пользователя, но разрешить его скачивать по прямой ссылке
  • Hide tree - то же, что и Hide, но прячет все дерево папок, начиная с указанной верхней
  • Auto-hide empty folders - не показывать пустые папки
  • Hide file extention in listing - прятать расширения файлов при просмотре.

НАСТРОЙКА И ЗАПУСК СЕРВЕРА

Для начала подключим красивый русифицированный шаблон (если хотите оставить старый, текстовый - просто удалите из рабочего каталога, где лежит файл HFS.EXE, файлы *.TPL и папку TEMPLATE). Для начала добавим папку TEMPLATE в каталоге сервера в виртуальную систему. Это можно сделать из проводника и прямо из самого сервера по правому клику. При добавлении (если вы не ставили умолчания), появится окошко:

в нем нам предлагается выбрать, какой тип папки мы создаем - реальный или виртуальный. Если выбирается виртуальный тип - папка создается только в памяти сервера, но в нее можно будет перетащить файлы из разных папок. Реальная папка представляет из себя реальную папку, находящуюся на диске, вместе с лежащими в ней папками и файлами.
Выбираем Real Folder. Для полученного каталога выставляем атрибуты:
  • снять атрибут Browsable
  • установить атрибуты Hide и Hide Tree
  • установить Don't count as download: mask... где маска *.*
Теперь в меню нажимаем Edit HTML template... и кнопкой Import импортируем шаблон "HFS Terayon v1.2.1.tpl". Нажимаем "ОК"
При необходимости устанавливаем парольный вход на корень VFS командой Set user/pass или выбрав пользователей. Также, если хотите, чтобы новые файлы выделялись, можете установить параметр Flag files added recently... скажем в 3000 секунд. Желательно сохранить настройки и VFS.
Если у вас NTFS, не забудьте проверить права доступа для Upload папок.
При правильной настройке сервер работает сразу, при просмотре клиент может увидать подобное:

  1. Иконка типа файла (для каждого типа - своя)
  2. Имя файла
  3. Признак того, что файл появился на сервере недавно
  4. Размер файла
  5. Количество скачиваний (кликов)
  6. Дата и время создания файла
Далее идут специфические кнопки (кроме 9 - "Открыть/скачать") для потокового контента:

7. Проиграть в медиаплеере с сайта
8. Проиграть прямо на странице с помощью встроенного флеш - плеера
10. Внешний вид флеш - плеера.

Внимание! Потоковые файлы определяются шаблоном и настройками MIME кодирования.

7 июня 2007 (С)heshirCa