Sambar Server
Sambar Server — мультипротокольный расширяемый сервер приложений, веб-сервер и мультипротокольный proxy-сервер с программируемым API. Сервер поддерживает виртуальные домены с независимыми папками документов и CGI, логов и шаблонов ошибок. Sambar Server писался под Windows и Linux. Сервер запускался как приложение в Windows 9x, а в Windows NT/2000/XP/2003 может быть установлен в качестве службы. Сервер имеет веб-интерфейс администрирования, а также есть встроенный пользовательский интерфейс, содержащий в себе RSS-ленты, веб-почту, календарь, адресную книгу, фотоальбомы, блоги, чат, форум. Поддержка и развитие проекта прекращены 31 января 2007 года, но сам сервер можно найти и скачать в интернете.
Sambar Server | |
---|---|
Тип | Веб-сервер |
Разработчик | Sambar Technologies, Inc |
Написана на | C |
Операционная система | Windows, Linux |
Языки интерфейса | Английский |
Последняя версия | 7.0 (14 марта 2007) |
Состояние | Проект прекращён в 2007-м году |
Лицензия | Sambar Technologies, inc |
Сайт | web.archive.org/web/2008… |
Краткая история
Sambar Server был впервые выпущен в 1996 году.
3 января 2007 Выпущен Sambar Server версии 7.0 Beta 4, в котором были расширены функции XMPP, ejabberd и Google Talk.
Последняя стабильная версия вышла 14 марта 2007 года — Sambar Server 7.0p.
29 декабря 2007 Тод Самбар объявил о прекращении поддержки и развития Sambar Server. Официальный сайт просуществовал до 2009 года.
Функции
Web-сервер
Web-сервер Sambar имеет встроенную поддержку динамического контента. Первым встроенным языком программирования был Sambar Server Scripting Language, позже в сервер была добавлена поддержка ASP с использованием языка CScript для программных вставок. Также можно подключать дополнительные языки программирования, например PHP, Perl или Python.
Sambar Server Scripting Language
Встроенный язык программирования Sambar Server, который основан на специальных HTML-тегах, включаемых в HTML-страницу.
Формат спецтега: <RCcommand param1>
, где command
— вызываемая функция сервера, а param1 — один из параметров вызываемой функции.
Файлы, содержащие исходный текст Sambar Server Scripting Language, имели расширение *.STM.
Пример STM-скрипта:
<TABLE cellpadding=5>
<FORM METHOD=POST ACTION="results.stm">
<TR><TD align=right><B>Search for: </B></TD>
<TD align=left>
<INPUT TYPE=hidden NAME="indexname" VALUE="<RC@striphtml(RC$indexname)>">
<INPUT TYPE=hidden NAME="spage" VALUE="0">
<INPUT NAME="query" SIZE=30 VALUE="<RC@txt2html(RC$query)>" MAXLENGTH=40>
<INPUT TYPE=image SRC="/sysimage/system/go.gif" height=20 width=20 border=0></TD></TR>
</FORM>
</TABLE>
</CENTER>
<P>
<RCXfind query=RC$query indexname=RC$indexname fmt=fancy spage=RC$spage maxrows=50 highlight=red>
Active Server Pages
Active Server Pages — технология предварительной обработки, позволяющая подключать программные модули во время процесса формирования веб-страницы. Язык программирования, на котором пишутся программные модули для ASP сервера Sambar — Cscript, аналогичный языку C, но имеющий некоторые отличия от него. Заключённые в специальные скобки <% %>
программные модули на C-Script вставляются в код HTML-страниц. Модули С-Script могут существовать как отдельными *.C-файлами, которые позже будут включены в основные ASP-сценарии, так и в качестве вставок в HTML-код страницы, которая сохраняется под расширением *.ASP.
Пример ASP-файла с прямым использованием вставок C-Script
<html>
<head>
<title>Hello World</title>
</head>
<body>
<%
printf("Hello World!");
%>
</body>
</html>
Пример ASP-файла, использующий включение файлов #include
//hello.c
printf("Hello World!");
<!--head.asp-->
<head>
<title>Hello World</title>
</head>
<!--hello.asp-->
<html>
<%#include "head.asp"%>
<body>
<%
#include "hello.c"
%>
</body>
</html>
Основные отличия CScript от языка Си
Синтаксис
- Не требуется определение функции main()
- Объявление переменных не является обязательным. Чтобы определить переменную, достаточно сразу присвоить ей значение. Если переменная не была определена ранее, то она определится автоматически, в зависимости от её значения
- Поддерживаются обработки прерываний try/throw/catch
- Поддерживается динамическое распределение выделение или перевыделение массива
- Не поддерживается ключ unsigned
- Не поддерживается ключ static
- Не поддерживается определение констант const
- Макросы не поддерживаются
- Метки GOTO не поддерживаются
- Структуры, объединения, перечисления и макросы не поддерживаются.
Операторы
- Операторы +, <,
<=
, >,>=
, == и != можно использовать на строках - Оператор [] выполняет автоматическую проверку диапазона
- Оператор sizeof возвращает количество элементов массива, размер строки или число байт, используемых атомарным значением
- typeof определяет тип объекта
- Арифметика с указателями не поддерживается
Переменные
- Локальные переменные всегда находятся в области действия блока функции. Переменные, используемые внутри составных операторов доступны в их внешней области.
- Все переменные по умолчанию инициализируются нулевым значением
- Массивы автоматически увеличиваемые и могут иметь атрибут «типы» как элементы. Проверки границ массива выполняются всегда
- Ссылки на объекты непрозрачны и используется только при передаче данных из/во внешний API.
Структуры
- Переключатели динамические (могут содержать выражения)
- Заголовочные файлы не поддерживаются. Все основные библиотеки предварительно установлены, поэтому вызовы стандартных функций всегда могут производиться непосредственно. Пользовательские библиотеки функций должны включатся в текст программы, то есть #include <foo.c>
Почтовый Сервер
Sambar Server имеет поддержку почтовых протоколов POP3/IMAP4 и SMTP. Имеет антиспам-контроль, поддерживаются списки рассылок. Имеется сборщик почты, который собирает почту с других сервисов и распределяет их по почтовым ящикам пользователей. Работает только в PRO-версии. Почтовый сервер имеет веб-интерфейс для проверки почты и отправки писем.
Службы IP-адресов
Telnet
Telnet-Прокси
Sambar Server Telnet может использоваться в качестве прокси, что позволяет обмениваться данными между клиентом и удалённым сервером. Используя Telnet-клиент, пользователи могут подключаться к Sambar Server. и в ответ на приглащение telnet>
, ввести команду «connect hostname
» (Где hostname
— имя сервера Telnet, С которым пользователь хочет соединиться).
Telnet прокси — это форма связи между клиентом и удалённым узлом. Следующие команды могут быть использованы на приглашение telnet>
до подключения к удалённому серверу:
Команда | Описание |
---|---|
help | Вывести таблицу помощи в использовании |
quit | Отключится от сервера telnet Прокси/Сервера |
connect hostname [port] | Подключиться к Telnet-службе сервера hostname. [port] — Указать номер используемого порта службы Telnet удалённого сервера (если порт не указан, то используется порт по умолчанию — порт 23) |
login | Авторизоваться на локальном Telnet-сервере (Необходимы администраторские права) |
Telnet Server
Sambar Server имеет встроенный очень простой сервер Telnet для работы с консольными приложениями. Используя клиент Telnet, пользователи могут авторизоваться на локальном Telnet-сервере, для чего надо ввести команду login
в ответ на приглашение telnet>
. После аутентификации с логином и паролем администратора сервера, базовые консольные приложений могут быть выполнены DOS-командой в оболочке.
Пример встроенных команд:
net start service-name
ping hostname
Обратите внимание, что большинство из DOS-команд оболочки, такие как dir
и del
не будут работать во встроенном Telnet-сервере Sambar.
Telnet-сервер выполняет команды непосредственно из Sambar Server, команда cd
не должна выполняться, так как можно повлиять на эффективность серверных операций. Для защиты от злоумышленников, только администратор Sambar Server может авторизоваться в Telnet и только с администраторского IP-адреса.
Планировщик
Sambar Server имеет встроенный планировщик, который в указанное время запускает указанный сценарий, запускает фоновую службу, или приводит в действие встроенную функцию сервера. Задачи могут запускаться как один раз, так и в указанный период повторения.
Веб-Интерфейс
Sambar Server имеет встроенный многопользовательский веб-интерфейс, который содержит RSS-ленты, Веб-почту, Контакты, Блог, Календарь, Фотографии, Задачи и Чат, И администраторская консоль, которая содержит инструменты управления всеми службами сервера, включая настройки работы основных протоколов, управление пользователями, настройка заданий планировщика, добавление/удаление сборщиков почты, управление виртуальным хостингом, добавление/удаление пользователей, настройки доступа и т. д. Доступ к администраторской консоли разрешается с указанного IP-адреса, который указывается администратором на специальной странице или в файле конфигурации. А также доступ к пользовательскому интерфейсу также может быть ограничена.
Лицензия
Sambar Server — ПО с закрытым исходным кодом, имел несколько видов лицензий:
Basic
Это бесплатная версия сервера, которая имела ограниченный набор функций по сравнению с версией Pro.
Demo
Trial-версия Sambar Server Pro, в которой доступны все её возможности в течение 30 дней.
Pro
Коммерческая версия сервера, в которой присутствуют дополнительные функции, такие как Почтовый сервер, WebDAV, Диспетчер документов, DNS, SOCKs, IRC, службы трафика и другие усовершенствованные функции.
Enterprise
Коммерческая версия сервера, ориентированная на предприятия. Не для частных покупателей.