+  HandyCache форум
|-+  Главная категория» Новые предложения» Ограничение по мб и времени
Имя пользователя:
Пароль:
Страниц: [1]   Вниз
  Отправить эту тему    Печать  
Автор Тема: Ограничение по мб и времени  (Прочитано 5348 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« : 06 сентября 2016, 10:56:31 »

в теме TODO есть пункт "Удобный интерфейс для ограничение пользователей по трафику и скорости скачивания;"
Я наверное каждый год шуршу все темы, в поиске реализации этого пункта.
Пробовал АнаСерв, не работает. Мне всего лишь надо выставить каждому пользователя его суточный мб и скорость
Пожалуйста, если не сложно, реализуйте, который год уже жду  Help me!
Сообщить модератору   Записан

всё будет хорошо =)
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #1 : 06 сентября 2016, 19:24:52 »

Если каждому по 500, быстрее будет простенькое расширение настучать.
Сообщить модератору   Записан
Zork
Пользователь
**

Репутация: +5/-2
Offline Offline

Сообщений: 53


« Ответ #2 : 07 сентября 2016, 14:30:43 »

Пример простенького расширения
Код:
--[[ <HCExtension>
@name          Дневной лимит трафика (RS-lim)
@description   Устанавливает лимит дневного трафика для пользователя User1 на 500 Мб в день
@event         BeforeRequestHeaderSend/RequestSend
</HCExtension> ]]

function RequestSend()
 if hc.user_name == 'User1' and hc.user_from_internet > 500*1024*1024 then
  hc.action = 'stop'
  hc.monitor_string = hc.monitor_string..'RS-lim '
 end
end
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #3 : 07 сентября 2016, 15:06:56 »

В программировании я ноль.
Спасибо, попробую ваше расширение.
Сообщить модератору   Записан

всё будет хорошо =)
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #4 : 07 сентября 2016, 21:29:46 »

или как то так

Код:
--[[ <HCExtension>
@name          Дневной лимит трафика (RS-lim)
@description   Устанавливает лимит дневного трафика для пользователя User1 на 500 Мб в день
@event         Init/Init
@event         BeforeRequestHeaderSend/BeforeRequestHeaderSend
</HCExtension> ]]

user_quota = {
  local_ = -1,
  admin = 500,
  marketing = 500
}

function BeforeRequestHeaderSend()
if QuotaOverCheck() then
hc.action = 'stop'
hc.monitor_string = hc.monitor_string..'RS-lim '
end
end

function QuotaOverCheck()
local quota = user_quota[hc.user_name]
local total = hc.user_from_internet
if quota == nil then quota = 0 end
if total == nil then total = 0 end
if quota >= 0 then
if total > quota*1024*1024 then
return true
else
return false
end
else
return false
end
end

function Init()
hc.put_msg(2, 'Init')
end
Сообщить модератору   Записан
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #5 : 07 сентября 2016, 21:40:34 »

И вам спасибо!
Сообщить модератору   Записан

всё будет хорошо =)
Zelen
Пользователь
**

Репутация: +2/-0
Offline Offline

Сообщений: 82


pew pew


« Ответ #6 : 09 сентября 2016, 20:26:08 »

я так понял строка "local_  = -1" делает неограниченным трафик компа, где стоит НС, правильно?
Я прописал так:
Код:
user_quota = {
  local_ = -1,
  alfa = 500,
  beta = 500,
  gamma = 500
}

Но у меня что то всех пользователей блокирует, хоть есть они в списке, или нет их в списке user_quota.
Можно ли локальных пользователей по диапазону айпи (192.168.0.*) или по имени (User*) не блокировать. Или блокировать только тех, кого я вписал в код.
Добавлено: 09 Сентябрь 2016, 19:54:15

Всё заработало, спасибо.
Использовал код расширение Zork-а для каждого нужного мне пользователя)
Сообщить модератору   Записан

всё будет хорошо =)
Anymore
Beta tester
*****

Репутация: +17/-0
Offline Offline

Сообщений: 339


« Ответ #7 : 10 сентября 2016, 09:24:42 »

local_  = -1 делает неограниченным трафик для пользователя local_.
Чтоб блокировать только тех, кого я вписал в код надо изменить if quota == nil then quota = 0 end на if quota == nil then quota = -1 end.
Сообщить модератору   Записан
Страниц: [1]   Вверх
  Отправить эту тему    Печать  

 
Перейти в: