<div dir="ltr">I have an external ACL that check if users are OVERCUOTE (exceed assigned cuote in MB), on this case those users can't browser certains domains and sites specified in certain acl (domains_cuote, parcials_domains_cuote, sites_cuote). The problem is that Squid doesn't interrupt stablished connections for example youtube video play and OVERCUOTE user continue video reproduction until  the video it is not finished (I'm not referring to the case of the buffer that the video player managed to load before the user became OVERCUOTE), although the rest of web browsing is limited correctly, and his account is marked as exceeded (OVERCUOTE).<br><br>I need a delay_pool to OVERCUOTE users for reduce to minimun (for example 1Kbit/s) the download rate over specifcs domains and sites until the user cuote will be restablished,<br>For this scenario i have an internet link with only 2Mbps (very poor).<br><br>I need help with possible delay pools config that help me. I don't understand very well delays_pool<br><div>The idea is that the delay_pool limits web browsing on the domains and sites specified by the acl for users exceeding the assigned quota.<br></div><div><br>## Auth config<br>auth_param basic program /usr/lib/squid/basic_db_auth --dsn "DBI:mysql:database=squidmgr" --user dbuser --password dbpassword --table "proxy_user" --usercol "squid_user_identifier" --passwdcol "passwd" --cond "enabled = 1" --md5 --persist<br>auth_param basic children 15 startup=10 idle=1<br>auth_param basic realm Web-Proxy<br>auth_param basic credentialsttl 30 minute<br>auth_param basic casesensitive on<br>authenticate_ip_ttl 30 minute<br><br>acl AUTHENTICATED proxy_auth REQUIRED<br><br>##ACL check if user is cuote exceeded. An external script count users consumption every xx seconds and update database, it work successfull.<br>external_acl_type CHECKOVERCUOTE concurrency=100 ttl=3 children-max=50 children-startup=15 children-idle=5  %LOGIN /usr/lib/squid/ext_sql_session_acl --dsn "DBI:mysql:database=squidmgr" --user dbuser --password dbpassword --table "proxy_user" --uidcol "squid_user_identifier" --usercol "squid_user_identifier" --cond "overcuote = 1"<br>acl OVERCUOTE external CHECKOVERCUOTE<br><br>## Resources to take in user cuote<br>acl domains_cuote dstdomain "/etc/squid/resources/domains_cuote.db"<br>acl parcials_domains_cuote dstdomain "/etc/squid/resources/parcials_domains_cuote.db"<br>acl sites_cuote url_regex -i "/etc/squid/resources/sites_cuote.db"<br><br>## RULES<br>http_access allow !domains_cuote !OVERCUOTE<br>http_access allow !parcials_domains_cuote !OVERCUOTE<br>http_access allow !sites_cuote !OVERCUOTE<br><br>http_access allow CONNECT SSL_ports !domains_cuote !OVERCUOTE<br>http_access allow CONNECT SSL_ports !parcials_domains_cuote !OVERCUOTE<br>http_access allow CONNECT SSL_ports !sites_cuote !OVERCUOTE<br><br>deny_info <a href="https://proxy.lan/proxyerrors?type=OVERCUOTE">https://proxy.lan/proxyerrors?type=OVERCUOTE</a> CONNECT SSL_ports domains_cuote OVERCUOTE<br>deny_info <a href="https://proxy.lan/proxyerrors?type=OVERCUOTE">https://proxy.lan/proxyerrors?type=OVERCUOTE</a> CONNECT SSL_ports parcials_domains_cuote OVERCUOTE<br>deny_info <a href="https://proxy.lan/proxyerrors?type=OVERCUOTE">https://proxy.lan/proxyerrors?type=OVERCUOTE</a> CONNECT SSL_ports sites_cuote OVERCUOTE<br><br>deny_info <a href="http://proxy.lan/proxyerrors?type=OVERCUOTE">http://proxy.lan/proxyerrors?type=OVERCUOTE</a> domains_cuote OVERCUOTE<br>deny_info <a href="http://proxy.lan/proxyerrors?type=OVERCUOTE">http://proxy.lan/proxyerrors?type=OVERCUOTE</a> parcials_domains_cuote OVERCUOTE<br>deny_info <a href="http://proxy.lan/proxyerrors?type=OVERCUOTE">http://proxy.lan/proxyerrors?type=OVERCUOTE</a> sites_cuote OVERCUOTE<br><br>http_access allow AUTHENTICATED<br>http_access deny all<br></div></div>