151

Odp: Luci- blokada dostępu do internetu w określonym czasie

w timequotas-clean.sh mam dwa hosty. tak to wygląda:

#!/bin/sh
    
    HOST1="AC:FD:CE:EA:73:7E"
    HOST="B8:3B:CC:51:95:6B"
    echo 0 > /tmp/timequota-$HOST
    uci set firewall.mac${HOST//:/}.enabled=0
    uci set firewall.mac${HOST1/:/}.enabled=0
    uci commit firewall
    /etc/init.d/firewall restart
    exit 0

152

Odp: Luci- blokada dostępu do internetu w określonym czasie

uci: Invalid argument oznacza tyle że nie ma w firewallu sekcji którą próbowałeś obdblokować. Więc coś ci nie działa, bo miałeś blokować dwa jednocześnie.

PS. Jak blokujesz 30:AB:6A:4C:13:54 a odblokowujesz coś innego to się nie dziw że masz taki komnunikat. We wszystkim masz mieć te same adresy MAC.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

153 (edytowany przez marek445 2023-11-17 19:25:45)

Odp: Luci- blokada dostępu do internetu w określonym czasie

Nie nie to nie jest tak, zmieniłem teraz i w timequota.sh adres mac i w timequotas-clean.sh na mac AC:FD:CE:EA:73:7E
Mam jeszcze jednpo pytanie w takiej konfiguracji jak mam teraz to w  /tmp powinienem mieć dwa pliki z dwoma adresami mac? bo ja właśnie tak mam. Tylko w jednym pliku czas leci a w drugim jest caly czas 0.

154

Odp: Luci- blokada dostępu do internetu w określonym czasie

Ja nie widzę co zmieniasz, raz pokazujesz jedno a raz drugie. Więc nie wiem jak ktoś jest w stanie pomóc jak to robisz i nie nie piszesz o tym tylko rzucasz tekst że nie działa.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

155

Odp: Luci- blokada dostępu do internetu w określonym czasie

Ok mam tak:
timequotas.sh

#!/bin/sh
    HOST="B8:3B:CC:51:95:6B" 
    HOST1="AC:FD:CE:EA:73:7E" 

    # limit w minutach
    LIMIT=160

    F=/tmp/timequota-$HOST
    if [ -e $F ]; then
        USEDTIME=$(cat $F)
    else
        USEDTIME=0
    fi

    T=$(iw dev phy0-ap0 station dump | grep -i -A 1 $HOST | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy1-ap0 station dump | grep -i -A 1 $HOST | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy2-ap0 station dump | grep -i -A 1 $HOST | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy3-ap0 station dump | grep -i -A 1 $HOST | awk '/inactive time/{print $3}')

    [ -z "$T" ] && T=$(iw dev phy0-ap0 station dump | grep -i -A 1 $HOST1 | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy1-ap0 station dump | grep -i -A 1 $HOST1 | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy2-ap0 station dump | grep -i -A 1 $HOST1 | awk '/inactive time/{print $3}')
    [ -z "$T" ] && T=$(iw dev phy3-ap0 station dump | grep -i -A 1 $HOST1 | awk '/inactive time/{print $3}')


    [ -z "$T" ] && exit 0
    if [ $T -lt 60000 ]; then
        USEDTIME=$((USEDTIME + 1))
        echo $USEDTIME > $F
    fi
    if [ $USEDTIME -gt $LIMIT ]; then
        if [ "x$(uci -q get firewall.mac${HOST//:/}.enabled)" != "x1" ]; then 
            uci set firewall.mac${HOST//:/}=rule
            uci set firewall.mac${HOST//:/}.src='lan'
            uci set firewall.mac${HOST//:/}.dest='wan'
            uci set firewall.mac${HOST//:/}.src_mac=$HOST
            uci set firewall.mac${HOST//:/}.target='REJECT'
            uci set firewall.mac${HOST//:/}.enabled=1
        fi
        if [ "x$(uci -q get firewall.mac${HOST1//:/}.enabled)" != "x1" ]; then 
            uci set firewall.mac${HOST1//:/}=rule
            uci set firewall.mac${HOST1//:/}.src='lan'
            uci set firewall.mac${HOST1//:/}.dest='wan'
            uci set firewall.mac${HOST1//:/}.src_mac=$HOST1
            uci set firewall.mac${HOST1//:/}.target='REJECT'
            uci set firewall.mac${HOST1//:/}.enabled=1

        fi
   fi
            uci commit firewall
            /etc/init.d/firewall restart
    exit 0

timequotas-clean.sh

#!/bin/sh
    
    HOST1="AC:FD:CE:EA:73:7E"
    HOST="B8:3B:CC:51:95:6B"
    echo 0 > /tmp/timequota-$HOST
    uci set firewall.mac${HOST//:/}.enabled=0
    uci set firewall.mac${HOST1//:/}.enabled=0
    uci commit firewall
    /etc/init.d/firewall restart
    exit 0

Blokada działa ale w /tmp mam dwa pliki timequotas z adresami mac tymi co są wpisane w skrypt. Na timequotas-B8:3B:CC:51:95:6B licznik leci do przodu a na timequotas-AC:FD:CE:EA:73:7E licznik nie leci jest cały czas 0.

156

Odp: Luci- blokada dostępu do internetu w określonym czasie

I tak ma być. Wg tego co zrobiłeś jest tylko jeden licznik używany globalnie i jest to właśnie ten w timequotas-B8:3B:CC:51:95:6B. Ten drugi plik z AC... w ogóle nie powinien zaistnieć, więc coś kombinowałeś skoro jest.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

157 (edytowany przez marek445 2023-11-17 19:41:59)

Odp: Luci- blokada dostępu do internetu w określonym czasie

Właśnie go usunąłem i narazie się nie odbudowywuje. tylko mnie zastanawia jak wpisze: /usr/bin/timequota-clean.sh  to wyskakuje coś takiego:

root@OpenWrt:~# /usr/bin/timequotas-clean.sh
uci: Invalid argument
Section macB83BCC51956B is disabled, ignoring section

I teraz mnie ciekawi czy obydwa urządzenia bedą miały neta po 24-tej

MOże w timequota-clean.sh nie powinno być tego: uci set firewall.mac${HOST1//:/}.enabled=0

158

Odp: Luci- blokada dostępu do internetu w określonym czasie

Ale napisałem ci to już. Skrypt który masz odblokowuje OBA adresy mac. Jeżeli nie miałeś w firewallu jednego z nich bo tylko jeden był zablokowany to oczywiście nie odblokujesz czegoś czego nie zablokowałeś i nie masz reguły do tego. To nie jest oczywiste?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

159

Odp: Luci- blokada dostępu do internetu w określonym czasie

To w takim razie skrypt timequotas.sh nie tworzy regulek w firewollu dla HOST1 bo w /etc/config/firewall nie mam do tego HOST1 regulek

160

Odp: Luci- blokada dostępu do internetu w określonym czasie

Podłącz się jednym klientem, uruchom sobie skrypt i zobacz czy zrobił obie regułki w firewallu. Jeżeli uruchomisz skrypt ręcznie a coś będzie nie tak to to wypisze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

161

Odp: Luci- blokada dostępu do internetu w określonym czasie

nie tworzy żadnej regułki a w skryptach nic nie przestawiałem nie kąbinowałem jest wszystko tak jak wyżej. Uruchomiłem skrypt ręcznie wpisałem w ssh /usr/bin/timequotas.sh Nic mi nie wypisało żadnych błedów.

162

Odp: Luci- blokada dostępu do internetu w określonym czasie

A podłączyłeś się najpierw do wifi tym czymś żeby widział podłączonego? Podłącz się i pokaż  wynik

sh -x /usr/bin/timequotas.sh

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

163

Odp: Luci- blokada dostępu do internetu w określonym czasie

root@OpenWrt:~# sh -x /usr/bin/timequotas.sh
+ HOST=B8:3B:CC:51:95:6B
+ HOST1=AC:FD:CE:EA:73:7E
+ LIMIT=160
+ F=/tmp/timequota-B8:3B:CC:51:95:6B
+ '[' -e /tmp/timequota-B8:3B:CC:51:95:6B ]
+ cat /tmp/timequota-B8:3B:CC:51:95:6B
+ USEDTIME=8
+ iw dev phy0-ap0 station dump
+ grep -i -A 1 B8:3B:CC:51:95:6B
+ awk '/inactive time/{print $3}'
+ T=
+ '[' -z  ]
+ iw dev phy1-ap0 station dump
+ grep -i -A 1 B8:3B:CC:51:95:6B
+ awk '/inactive time/{print $3}'
+ T=
+ '[' -z  ]
+ iw dev phy2-ap0 station dump
+ grep -i -A 1 B8:3B:CC:51:95:6B
+ awk '/inactive time/{print $3}'
+ T=1470
+ '[' -z 1470 ]
+ '[' -z 1470 ]
+ '[' -z 1470 ]
+ '[' -z 1470 ]
+ '[' -z 1470 ]
+ '[' -z 1470 ]
+ '[' 1470 -lt 60000 ]
+ USEDTIME=9
+ echo 9
+ '[' 9 -gt 160 ]
+ uci commit firewall
+ /etc/init.d/firewall restart
+ exit 0
root@OpenWrt:~#

164

Odp: Luci- blokada dostępu do internetu w określonym czasie

Ale to dopiero 9 minuta a masz 160. Nie robi przecież blokady.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

165

Odp: Luci- blokada dostępu do internetu w określonym czasie

OK to nic nie robię zobaczymy co będzie po upływie tego czasu.

166

Odp: Luci- blokada dostępu do internetu w określonym czasie

Możesz sobie limit zmienić na 8, uruchomić jeszcze raz to już powinno to złapać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

167

Odp: Luci- blokada dostępu do internetu w określonym czasie

Działa!! Właśnie syn wyszedł z krzykiem z pokoju że mu internet nie działa ani na telefonie ani na kompie.

168

Odp: Luci- blokada dostępu do internetu w określonym czasie

Zobaczymy czy licznik się wyzeruje po 24-tej. Dzięki Cezary bez Ciebie bym się meczył albo w ogóle bym tego nie zrobił. Należy Ci się dobre piwko.

169 (edytowany przez Focus 2023-11-17 22:14:45)

Odp: Luci- blokada dostępu do internetu w określonym czasie

To będzie działać dopóki Twój syn nie wciśnie magicznego guzika od resetu :-)
A na Androidzie idzie zrobić, że adres MAC jest losowany i blokada po MAC-u odpada.
Jak to już nastolatek to za miesiąc będziesz znowu walczył z blokadami, bo już będzie wiedział jak to obejść  :-)

170

Odp: Luci- blokada dostępu do internetu w określonym czasie

Wiem o tym wszystkim i wiem że na wszystko jest sposób tylko trzeba pomyśleć i pewne kwestie zrozumieć.

171

Odp: Luci- blokada dostępu do internetu w określonym czasie

Eloo,

W czeluściach internetu dokopałem się do takiego pakietu (luci-app-parentalcontrol), nazwa inna ale robi to samo.

https://github.com/4IceG/Personal_data/raw/master/zrzuty/parentalcontrol/Parental%20Control%20Blockedupd.png?raw=true

https://github.com/4IceG/Personal_data/raw/master/zrzuty/parentalcontrol/Parental%20Control%20Paused.png?raw=true

https://github.com/4IceG/Personal_data/raw/master/zrzuty/parentalcontrol/Parental%20Control%20Add.png?raw=true

Jakby ktoś chciał przetestować jest u mnie na githubie i w repo.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

172

Odp: Luci- blokada dostępu do internetu w określonym czasie

Piękne dzięki.

173

Odp: Luci- blokada dostępu do internetu w określonym czasie

W obecnych czasach kiedy urządzenia generują losowe adresy MAC, blokada tylko po MAC to taki średni pomysł moim zdaniem. No chyba, że blokuje też tylko po Active DHCP Leases bez MAC, to miałoby to jakiś sens ale znowu jakieś urządzenie może nie wysyłać swojej nazwy.

174

Odp: Luci- blokada dostępu do internetu w określonym czasie

Focus napisał/a:

W obecnych czasach kiedy urządzenia generują losowe adresy MAC, blokada tylko po MAC to taki średni pomysł moim zdaniem. No chyba, że blokuje też tylko po Active DHCP Leases bez MAC, to miałoby to jakiś sens ale znowu jakieś urządzenie może nie wysyłać swojej nazwy.

Ja tylko pakiet znalazlem, zmodyfikowalem pod LuCI JS, dodalem tlumaczenia, skompilowalem i udostepnilem. Nie ma musu uzywania go, moze komus sie przyda i akurat na potrzeby danej osoby i warunki bedzie wystarczajacy.

Używasz moich pakietów/obrazów z github?
Chcesz abym dalej je rozwijał i tworzył nowe?
Postaw kawę

175

Odp: Luci- blokada dostępu do internetu w określonym czasie

Focus napisał/a:

W obecnych czasach kiedy urządzenia generują losowe adresy MAC, blokada tylko po MAC to taki średni pomysł moim zdaniem. No chyba, że blokuje też tylko po Active DHCP Leases bez MAC, to miałoby to jakiś sens ale znowu jakieś urządzenie może nie wysyłać swojej nazwy.

z tego co zauważyłem to na Androidzie jak raz wygeneruje maca to już go nie zmienia, żeby co polaczenie generował to trzeba zmieniać w ustawieniach developerskich, więc powinno to działać jeśli ktoś nie jest nazbyt ambitny smile