>это конечно все хорошо, а вот решения проблемы... получается нет? .. а
>очень бы хотелось бы.
Решение есть, реализуется через внешний ACL. Но систему придется писать самому. 1. По cron раз в 5-10 минут подбиваем статистику по каждому юзеру на основании логов сквида.
2. На основании скачанных объемов проставляем каждому юзеру рейтинг в рейтинговом файле.
3. При обращении к сквиду тот делает запрос ко внешнему ACL-процессу, который читает рейтинговый файл и возвращает Ok/Err.
external_acl_type RATE1 "%SRC" /usr/local/squid/rate1
external_acl_type RATE2 "%SRC" /usr/local/squid/rate2
external_acl_type RATE3 "%SRC" /usr/local/squid/rate3
external_acl_type RATE4 "%SRC" /usr/local/squid/rate4
4. Делаем шкалу делей-пулов с ацлями вида:
delay_access 1 allow ALL RATE1
delay_access 1 deny all
delay_access 2 allow ALL RATE2
delay_access 2 deny all
delay_access 3 allow ALL RATE3
delay_access 3 deny all
delay_access 4 allow ALL RATE4
delay_access 4 deny all
Из подводных камней подобной реализации: в хелперах необходимо отключать буферизацию stdin/stdout, а также предусматривать возможность управления хелперами через прерывания - для перечитывания рейтингового файла по тому же крону.
Я решал родственную задачу на перле - вполне сносно работало.