sams. Трафик в кредит до конца периода или Временный трафик

cj_nik аватар

Написал патч для sams 1.0.3, добавляющий возможность использовать дополнительно к выделенному трафику, ещё и временный - "Кредит"

Задача:

Пользователю выделено n-мегабайт за период (месяц,неделю, другой) на основании приказа директора. Если он выработал свой лимит то начальник его отдела со служебкой, подписанной директором, приходит и надо включать, потому как оставлять без Интернета людей у нас нельзя, а вот нагнуть потом за fishky.net - это уже второй вопрос.
В патче сделано так, что "Кредит" обнуляется при наступлении нового периода расчёта, т.е. в следующем расчётном периоде надо при необходимости заново добавлять "Кредит".

Реализация:

в таблицу (по умолчанию) squidctrl.squidusers добавляется (обязательно) в конец поле 'credit'.

В daemon.c, demon.c, samsdaemon.c а так же в php скрипты внесены соответствующие изменения для работы с этим полем и его обнулением/отображением.

Как установить:

1. Если ставите с нуля с исходников
то необходимо применить патч diff.diff, сконфигурить, установить, добавить иконку из архива в соответствующие папки. Вместо родного дампа sql использовать одноимённый из архива.

2. Если система sams-1.0.3 уже установлена то:
2.1 Заменяете соответствующие файлы *.php, lang.*, добавляете иконку.
2.1 Заменяете в в корневой папке исходников sams из которого производилась сама установка sams (чтобы параметры configure оставались прежние, ну или заного сконфигурьте) ИЛИ примените патч diff-only-c.diff.
2.2 Примените команду make (gmake)
2.3 Скопируйте рабочие файлы файлы sams, samsdaemon, samsf в папку куда они установлены (не забудте остановить sams* демоны) у меня это /usr/local/sams/bin/

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

Пользователи работающие в "Кредит" будут мигать жёлтой точкой.

Пишите в форум http://www.permlug.org/node/3119/
ну или в аську, будет возможность отвечу.

Отказ от ответственности:
Всё что я тут накрапал вы применяете на свой страх и риск и вполне возможно и разбираться с проблемами будете сами.
Особенно осторожно с патчами там правятся не только необходимые для работы файлы, а так же и то что мне показалось непонятным и неправильным, так что опять же на свой страх и риск.
У меня пока всё работает прекрасно на:
FreeBSD7.0, всё кроме sams ставилось из портов.
squid-2.7.5 + havp-0.88_1 + clamav-0.94_1
samba-3.0.32_1,1
apache-2.2.9_5
php5-5.2.6_2
mysql-server-5.0.67_1

Параметры configure sams:
./configure --prefix=/usr/local/sams \
--with-configfile=/usr/local/etc/sams.conf \
--with-rcd-locations=/usr/local/etc/rc.d/

##############################################################################
Автор: DogEater
Source rpm для Sams с использованием патча от cj_nik:
http://narod.ru/disk/3679450000/sams-1.0.3-credit.0.src.rpm.html
собирается как для i386 так и для x86_64 платформ.
Это пакет с исходным кодом, перед использованием на вашей системе требуется построение пакета.
Порядок действий:
1)скачиваем пакет по ссылке
2)пересобираем пакет командой rpmbuild --rebuild имя_файла_пакета.
3)устанавливаем собранный пакет с нуля(он должен лежать в /usr/src/redhat/RPMS/имя_платформы/sams-1.0.3-credit.0.имя_платформы.rpm):
rpm -ihv /usr/src/redhat/RPMS/имя_платформы/sams-1.0.3-credit.0.имя_платформы.rpm
После чего следует создать базы данных Sams командами:
mysql -u root -p < /usr/share/sams/data/sams_db.sql
mysql -u root -p < /usr/share/sams/data/squid_db.sql
4)Если вы обновляете Sams установленный из предыдущего пакета следует выполнить команду:rpm -Uhv /usr/src/redhat/RPMS/имя_платформы/sams-1.0.3-credit.0.имя_платформы.rpm
При обновлении надо выполнить команду обновления БД:
mysql -u root -p < /usr/share/sams/data/change.sql
5) стартуем демон самс : /sbin/service sams start
6) уточняем конфигурацию через web-интерфейс и приступаем к работе.
В свойствах пользователя теперь доступно поле "кредит".
При выработке лимита трафика, для того что бы пользователь снова заработал, надо добавить в поле "кредит" число, превышающее сумму трафика из поля "трафик".
Пользователь, работающий в "кредит" отображается мигающей иконкой жёлтого цвета.(для схемы "bumper" иконка продублирована)

Любые дополнения к инструкции по установке are welcome! ;)

D3viL аватар

Добавил 5 слов и болд :)

На глагне.

cj_nik аватар

БОМ-ГА-ГА-ГА

Гм, уважаемый, а что у вас с демоном ntp?

Цитата:
sams-1.0.3-patch-credit/change.sql: time stamp 2008-12-01 06:25:35 is 2138125 s in the future

---------------------------------------------
Fedora Core release 2
httpd-2.0.52-3.1asp
mysql-3.23.58
php-4.3.9-3
squid-2.5.STABLE6-2asp
samba 3.2.0
sams-1.0.3
samsredir
ip+ncsa (на это не надолго)

cj_nik аватар

Отключил я его там, тестовый был сервак, двигал время чтобы проверить срабатывания нового периода.

cj_nik аватар

Добаротал Пач
теперь при новой установке достаточно применить только данный пач и копирнуть Иконку

D3viL аватар

Поздравляю, ты на первом месте в гугле по запросу "трафик в кредит" :)

cj_nik аватар

Абалдеть, спасибо, хоть рекламные места сдавай.

Версия САМС вышла уже 1.0.4 (есть даже .rpm), который успешно применяется, а вот сей патч только для версии 1.0.3 и то для исходников.
Может есть патчик и для 1.0.4 версии?
В форуме что -то проходило по этому поводу, но ссылки на выложенные файлы уже не работают по причине ветхости...

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

Если есть у кого патч для самса 1.0.4 - может выложите?

Если есть у кого патч для самса 1.0.4 - может выложите?
ПЖЛС

Есть проблема. Поставил патч (траффик в кредит) для версии самс 1.0.4.
Похоже не работают ограничение по скорости в профилях.

Тоесть самс не добавляет нужные строки в squid.conf, но старательно удаляет мои записи об описании пулов.

Вопрос: как отключить правку самса строк относящиюся к delay_pools
?
Мне нужно описать свой пул на ограничение скорости траффика на каждого пользователя, после того как пользователь скачал к примеру 10 мег.

Самс естественно таких тонкостей не умеет, но старательно всё мое вычищает, что относится к delay_pools.

Как осделать так, что бы мои записи оставались после реконфигурации?

Идея патча хороша, мне тоже надо такой, но хочется чтоб это было не патчем, а "родной" опцией.

Добрый день.
Не мог найти патч для SAMS 1.0.5
Написал свой костыль про кредитный трафик. Может кому интересно будет.
http://ocenka5.com/files/patch-credit-sams-1.0.5.tar.gz
Если кому тяжело патчить внутри уже есть патченная версия. Её остаётся только собрать обычным способом (из исходного кода).

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".