QosApply() {
nvram commit
service qos restart
sleep 1
}
LimiterON() {
nvram set new_qoslimit_enable=1
QosApply
}
LimiterOFF() {
nvram set new_qoslimit_enable=0
QosApply
}
QosON() {
nvram set qos_enable=1
QosApply
}
QosOFF() {
nvram set qos_enable=0
QosApply
}
TestIP() {
# Początkowa liczba aktywnych hostów wynosi 0
i=0
# Przeszukanie wszystkich adresów IP z zakresu 192.168.1.xxx na podstawie ARP
for WERS in `arp -a | grep -Eo '192\.168\.1\.[0-9]{1,3}'`; do
if [ `arping $WERS -f -I br0 -c 3 -w 3 | grep -Ec '^Unicast'` = 1 ] then
# jeżeli host odpowiada to inkrementacja zmiennej 'i'
i=`expr $i + 1`
fi
done
# Funkcja wyświetla liczbę aktywnych hostów
echo $i
}
# Gdy jest jeden lub mniej uzytkowników limit pasma jest wyłączony
if [ `TestIP` -le 1 ] then
if [ `nvram get new_qoslimit_enable` = 1 ] then
LimiterOFF
fi
# Limit pasma zostaje włączony gdy jest przybajmniej dwóch użytkowników
else
if [ `nvram get new_qoslimit_enable` = 0 ] then
LimiterON
fi
fi
# Od 00:00 do 09:59 QoS OFF (mozna ściągać torrenty)
if [ `date +%H` -le 09 ] then
if [ `nvram get qos_enable` = 1 ] then
QosOFF
fi
# Od 10:00 do 23:59 QoS ON (torrenty są ograniczone)
elif [ `date +%H` -ge 10 ] then
if [ `nvram get qos_enable` = 0 ] then
QosON
fi
fi
Jak można zauważyć skrypt jest podzielony na trzy sekcje:
1) Definicje funkcji.
2) Testowanie użytkowników.
3) Sprawdzanie godziny.
Więc jeżeli ktoś będzie potrzebował tylko jednej z dwóch funkcjonalności skryptu to z łatwością sobie wybierze potrzebne elementy.
Jak uruchomić skrypt?
1) Wejdź do panelu administracyjnego TOMATO
2) Przejdź do "Administracja" >> "Harmonogram"
3) W obszarze "Własne 1" zaznacz ptaszkiem "Włączony"
4) Ustaw "Czas" na "Co 5 minut"
5) W wierszu "Dni" zaznacz ptaszkiem "Codziennie"
6) Do pola "Polecenie" wklej skrypt, możesz przedtem usunąć z skryptu komentarze.
7) Na dole strony kliknij przycisk "Zapisz"
8) GOTOWE :)
U mnie skrypt działa na:
Sprzęt "Netgear WNR3500L/U/v2"
Oprogramowanie "Tomato PL 1.28.0000 MIPSR2-108-PL K26 USB VPN"
Testuje go od poniedziałku (30.09.2013) i obecnie nie sprawia żadnego problemu.
Chcę również oznajmić że nie jestem specjalistą od pisania w powłoce bash, shell wiec jeżeli ktoś uważa że można to zrobić inaczej, to bardzo proszę opisać swój sposób.
Bardzo chętnie nauczę się czegoś nowego, jak i zapewne inny użytkownicy również.
Nie wiem czy ktos Ci mowil, ale QOS i BW Limiter to nie to samo i ogolnie nie powinno sie tego laczyc, tj. uzywac obu. Poza tym, to co pokazales mozna zrobic samym BW Limiterem ustawiajac odpowiednio rate i ceil tak aby 1 uzytkownik mogl wysycic cale lacze, ale gdy bedzie ich wiecej, to przepustowosc zostanie podzielona miedzy nich.
Dzięki za info.
Nie wiedziałem wcześniej że QoS i BW Limiter nie mogą działać razem.
U mnie są włączone oba na raz i nie wiem jakich skutków się mogłem spodziewać - nie zauważyłem nieprawidłowej pracy, jak dla mnie wszytko działało OK - to znaczy internet na komputerach działał.
Przyglądnę się teraz temu bardziej, poczytam i po testuję u siebie.
Z twoim sposobem belliash się zgodzę i też to przetestuję.
A ten skrypt to pierwsze co mi do głowy przyszło, no i odświeżyłem sobie znajomość basha, shella bo rzadko z tego środowiska mam okazję korzystać.
· Łącznie użytkowników: 24,115 · Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.
Adooni
26-04-2024 14:41
jaki router RMerlin nie pociagne, tomato/ openwrt tak non hilink,
tamtosiamto
23-04-2024 12:35
modem bez smilocka?
man1
22-04-2024 23:27
Czy próbował ktoś uzywac karty voice (z nolimit GB) od tmobile w modemie /routerze? Da się jakoś to zrobić? Bo u mnie neta brak. E3372
tamtosiamto
31-03-2024 12:54
Wesolego jajka wszytskim forumowiczom
tamtosiamto
28-03-2024 23:24
tak, tak zgadza sie, ale ja pytam o wykluczenie noda na guest network w first set, i to nie dziala
Adooni
24-03-2024 13:16
Guest network is currently designed to allow the first set of each band (2.4G, 5G, 5G-1) available to the AiMesh node
tamtosiamto
24-03-2024 03:03
ale w 1 jest opcja do wyboru - dla calej sieci albo rutera only i wlasnie o tym mowie, ze nie dziala
Adooni
23-03-2024 16:31
w dokumencie asusa jest ze wlasnie dla 1 ma dzialac na nodach tez
tamtosiamto
23-03-2024 15:39
tak, ale nie zmienia to faktu, ze w pierwszej nie dziala wylaczanie aimesh dla goscinnej( a powinno), czyli jest jakis bug. Mam start soft, bo to dsl-ac68 ktory nie jest juz updateowany
Adooni
22-03-2024 18:07
nie, 1 wsza bedzie wszedzie trzeba 2ga zrobic dla kazdego pasma te nie sa przenoszone