]> git.stg.codes - stg.git/blob - projects/stargazer/scripts/shaper/OnDisconnect
Get<Something>Num -> Count in interfaces
[stg.git] / projects / stargazer / scripts / shaper / OnDisconnect
1 #!/bin/bash
2
3 int_iface=eth1
4
5 # Login
6 LOGIN=$1
7
8 #user IP
9 IP=$2
10
11 #cash
12 CASH=$3
13
14 #user ID
15 ID=$4
16
17 #Selected dirs to disconnect
18 DIRS=$4
19
20 mark=$(cat /var/stargazer/users/$LOGIN/shaper_mark)
21 rate=$(cat /var/stargazer/users/$LOGIN/shaper_rate)
22
23 if [ -n "$mark" ]
24 then
25     iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark
26     while [ $? == 0 ]
27     do
28             iptables -t mangle -D FORWARD -d $IP -j MARK --set-mark $mark
29     done
30 fi
31
32 tc filter del dev $int_iface parent 1: protocol ip prio 3 handle $mark fw classid 1:$mark
33 tc class del dev $int_iface parent 1:1 classid 1:$mark htb rate $rate burst 40k
34
35 #echo "D `date +%Y.%m.%d-%H.%M.%S` $IP $CASH" >> /var/stargazer/users/$LOGIN/connect.log
36
37