(długie) serwer HTTPd , python i limitowanie netu na godziny
|
vitec |
Dodano 03-01-2018 16:14
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Cześć, chyba pierwszy post.
To taki mój projekt (nie znaczy tylko dla mnie), który ma za zadanie kontrolę wykorzystania internetu przez synów. Jest bardzo źle.
Oczywiście podejmowałęm próby ograniczania netu na różne sposoby, ale łapię się na tym, że zaczynam zajmować się już coraz cześciej wykłócaniem o komputery i programowaniem coraz to nowych regół niż pożytecznymi rzeczami.
[1] mechanizm przez WWW który będzie pokazywał stan włączonych komputerów/tabletów/etc. (ja i żona)
[2] przez WWW ustalamy np. tygoniowy limit np. 14 godzin netu
[3] przez WWW dzieci wlączają sobie czas na korzystanie z netu (na danej maszynie - po MAC), oczywiście każdy ma swój czas na swoim koncie np. wchodzi na WWW rutera i wlacza 2h czasu na tym "kompie" co przy nim siedzi (rozdziałka co 5 minut).
[4] przez WWW dzieci mogą wbić specjalny kod, który da im jakiś zakodowany czas extra (kiedy nie ma nas w domu a przekonają nas że net jest mu NATYCHMIAST niezbędny) , wyliczenie tego kodu będzie chyba na komórce z androidem (python launcher+kivy)
[5] rożne inne
Router Asus N18U, adwancedtomato (nie pamiętam dlaczego wgrałem akurat advanced) - aktualny dostępny.
- Nie jestem jakiś WEBowy,
- dobrze poruszam się w python i jest on wygodny w przetwarzaniu stringów i ma sposo modułów (jest dostępny przez opkg v2 i v3 - myslę ze v2 bedzie lepsza - lżjesza)
- dawno nie bawiłem się iptables (a zaczynałem od ipchains)
- umiem napisać prosty html + js
- nie zalezy mi na bezpieczenstwie jakims specjalnym od strony lan-u (zwykle reguły iptables + formularz hasla wystarcza)
No to tak:
- chcę czytać /proc/net/nf_conntrack (i podobne)
- chcę sterować regułami iptables (chyba -I INPUT -j REJECT wystarczy)
- chcę analizować ruch (co to jest za placzenie, kraj, serwis)
- i oczywiscie odkladac co jakis czas do logow co sie dzialo
- inne rzeczy o ktorych tu teraz nie wspominam
- mam /jffs (64M) + pendrive (1G /opt), ale wyjecie pendrive nie moze zniszczyc filozofii blokad
No i pierwsze problemy:
- nginx , nie potrafię go zmusic do wywolywania (cgi) skryptów w pythonie (#!/opt/bin/python2)
- lighttpd (z /opt) dziala z python, ale ma hardcoded zablokowane dzialanie na UID 0 lub GID 0 - root), dziala z nobody a ten nie ma uprawnien do wiekszosci rzeczy (caly system dziala wlasciwie na root) - moze skryptem w Init zmieniac uprawnienia do tych plikow?
- mozna by postawic np. jakies cherrypy jako serwer, ale ten pomysł jakoś mi się nie podoba (a może źle myślę)
- iptables - chciałbym mieć możliwość komentarzy regół (-m comment --comment "[komp1 12:30]")
Na dzis interesuje mnie czy ktoś ma mozliwosc skompilowania lighttpd z wyrzuceniem linii sprawdzania dzialania na UID/GID 0.
i czy w iptables mozna używac -m comment
pozdrawiam
cdn.
Asus RT-N18U (freshtomato)
|
|
|
|
susser |
Dodano 03-01-2018 19:16
|
User
Posty: 114
Dołączył: 05/09/2014 11:42
|
A nie lepiej puscic cały ruch przez transparent proxy np. Squid? Wtedy można blokować co się chce i o której godzinie... |
|
|
|
tamtosiamto |
Dodano 03-01-2018 20:00
|
Super User
Posty: 659
Dołączył: 06/02/2012 22:16
|
Pasa w domu nie masz? Bo posluchu widze na pewno nie.
nic nie mam
|
|
|
|
jachu |
Dodano 03-01-2018 21:22
|
Power User
Posty: 351
Dołączył: 16/11/2006 10:04
|
nie trzeba zaraz pasa. Czasami tlumaczeniem sie wiecej zrobi.
pozdrawiam
Jachu
Netgear WNR3500L v2 - Tomato
APU - OPNSense,PFSense
FeeNAS
Netgear R7000 - Tomato
|
|
|
|
vitec |
Dodano 04-01-2018 10:35
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Squid - to nie jest dla mnie rozwiązanie.
Dobre porady - dziękuję, należy je rozpatrywać w konkretnych przypadkach, ja mam dwie sztuki wzajemnie się napędzające i wieku głuchym na wszystko.
Asus RT-N18U (freshtomato)
|
|
|
|
susser |
Dodano 04-01-2018 11:08
|
User
Posty: 114
Dołączył: 05/09/2014 11:42
|
jak zmienisz zdanie co do squid-a, to chetnie pomoge... |
|
|
|
vitec |
Dodano 04-01-2018 11:28
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Zakładałem kiedyś Squid-a (no fakt - dawno temu ~w 2000r), wiem o co chodzi, choć teraz pewnie jest masę fajnych opcji. Tylko mnie chodzi o mechanizm przyznawania sobie (samodzielnie przez dzieci) czasu z dostępnego limitu + możliwości manewrowe(*1).
(*1)
1- czas swobodnego dostępu (czyli 99% granie)
2- czas korzystania z netu w celu odrabiania lekcji (zablokowane wykryte strony/IP gier, albo dozwolone tylko WIKI, poczta, FB - no przecież muszą zapytać co było zadane (!) itp.)
Czyli dwa liczniki. Najpierw potajemnie grają pod pozorem odrabiania, potem szantaż że nie odrobi lekcji bo net się wyłączył a nauczyciel wysłał mu na mejla skany, coś kazał poszukać, coś z informatyki, jest 23:59 a on miał napisać wiersz i musi teraz podeprzeć się ściągą z netu ..
Ja to zrobię. Tylko przydałby mi się ten lighttpd na prawach root-a (a nie mam czasu budować całego środowiska do kompilowania tego lighttpd) .
Tu jest przykład: http://www.sunspot.co.uk/Projects/Joggler/lighttpd_as_root.htm
Albo zrobię to na tym cherrypy: http://www.python.rk.edu.pl/w/p/cherrypy/ (ma wbudowany serwer httpd - nie jest bezpieczny ale mnie to nie szkodzi)
Asus RT-N18U (freshtomato)
|
|
|
|
susser |
Dodano 04-01-2018 11:42
|
User
Posty: 114
Dołączył: 05/09/2014 11:42
|
nie chce Tobie juz zatruwac zycia squid-em, ale spojrz prosze jeszcze na ten projekt, moze wpadniesz na jakis ciekawy pomysl...
lhttps://docs.diladele.com/administrat...index.html |
|
|
|
vitec |
Dodano 04-01-2018 11:45
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Kurde, chyba pospieszyłem się z tym CherryPy. Nie widzę żadnego lekkiego frameworka (cherrypy,bottle,flask,..) w dostępnych pakietach: http://pkg.entware.net/binaries/armv7/Packages.html
Widzę tylko szblony: mako,werkzeug i nie wiem czy instalacja cherrypy ze źródeł nie będzie bojem ze względu na zależności.
[edit] No nie. Jest za to django. Armata na wróbla.
Połączony z 04 styczeń 2018 12:01:39:
@susser To jeszcze pytanko.
Czy na Squidzie można odcinać ustanowione połączenia? Bo samo odcięcie DNS, zapytań http nie jest wystarczające. np. odpalają grę i nadal grają na nawiązanym połączeniu, muszę odcinać na iptables (INPUT, FORWARD) i to oczywiście selektywnie (IP/MAC), bo jednemu czas się skończył a drugiemu nie. Dlatego zaglądam do /proc/net/nf_conntrack dla połączeń ESTABLISHED.
Edytowany przez vitec dnia 04-01-2018 12:01
Asus RT-N18U (freshtomato)
|
|
|
|
Eleonor |
Dodano 04-01-2018 14:02
|
User
Posty: 89
Dołączył: 11/07/2009 12:43
|
No nieźle widzę kombinujesz byleby dzieciaki Cię nie przechytrzyły lub inne gorsze rzeczy .... miałem jakiś czas coś troszeczkę podobnego , że niby cały czas się uczy itd .... ale wystarczyła Bardzo-Bardzo poważna rozmowa z argumentami i jak ręką odjął ..
W każdym razie powodzenia życzę gdyż wiadomo, że młodzież dziś jest wszechwiedząca i My na niczym się nie znamy i w ogóle Ich nie rozumiemy
Synology RT6600ax - obecnie
Netgear R7000 Tomato 2017.3-kille72 AIO - kiedyś
|
|
|
|
jachu |
Dodano 04-01-2018 20:15
|
Power User
Posty: 351
Dołączył: 16/11/2006 10:04
|
A nie prosciej na samym tomato w :
Access Restriction poustawiac wdl macadresow godziny kiedy moga korzystac ?
To Ci nie wystarczy ?
pozdrawiam
Jachu
Netgear WNR3500L v2 - Tomato
APU - OPNSense,PFSense
FeeNAS
Netgear R7000 - Tomato
|
|
|
|
vitec |
Dodano 04-01-2018 20:34
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Nie nie i jeszcze raz nie - nie wystarczy. Nie ma czegoś takiego jak stałe godziny użytkowania. Dzień w dzień występują jakieś wyjątki/zmiany. Bo skończył lekcje wcześniej, bo później, bo był u okulisty i mu przepadły godziny, bo był na zbiórce ministrantów, bo brejdak był wredny i wyjął mu jakąs tajną wtyczkę z kompa, .. i wtedy rodzice stają się wredni, bo "nie jego wina" i na drugi raz nie pójdzie na zbiórkę ministrantów, bo mu przepadną godziny itd.
AR przykuwa mnie właśnie do laptopa.
Zainstalowałem CherryPy - bez problemów. To chyba jednak najlepsza opcja.
opkg install pyton2
opkg install python-pip
opkg install python-pip-conf
pip2 install cherrypy
...
Działam dalej ..
Asus RT-N18U (freshtomato)
|
|
|
|
jachu |
Dodano 04-01-2018 20:54
|
Power User
Posty: 351
Dołączył: 16/11/2006 10:04
|
Cytat vitec napisał(a):
Nie nie i jeszcze raz nie - nie wystarczy. Nie ma czegoś takiego jak stałe godziny użytkowania. Dzień w dzień występują jakieś wyjątki/zmiany. Bo skończył lekcje wcześniej, bo później, bo był u okulisty i mu przepadły godziny, bo był na zbiórce ministrantów, bo brejdak był wredny i wyjął mu jakąs tajną wtyczkę z kompa, .. i wtedy rodzice stają się wredni, bo "nie jego wina" i na drugi raz nie pójdzie na zbiórkę ministrantów, bo mu przepadną godziny itd.
AR przykuwa mnie właśnie do laptopa.
Zainstalowałem CherryPy - bez problemów. To chyba jednak najlepsza opcja.
opkg install pyton2
opkg install python-pip
opkg install python-pip-conf
pip2 install cherrypy
...
Działam dalej ..
ale tam mozesz codziennie w innych godzinach poustawiac chyba jednak tego nie przegladales .
Poza tym z tego co piszesz to w domu komus sie pomylily role ...
pozdrawiam
Jachu
Netgear WNR3500L v2 - Tomato
APU - OPNSense,PFSense
FeeNAS
Netgear R7000 - Tomato
|
|
|
|
vitec |
Dodano 04-01-2018 23:13
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
Przeglądałem. 1. To AR nie zrywa nawiązanych połączeń. Jest uciążliwy przy zmianie reguły (bo cześto trzeba przestawić pozostałe a potem wszystko znowu przywracać).
W opcjach kompilacji kernela widziałem coś ~ conntrack_tools i jest program conntrack do sterowania , ale nie wiem co on może bo na tomato go nie ma. Aha, spojrzałem na man-a w Archlinux - jest np. $> conntrack -F [table]
2. Można z tego zrobić system dydaktyczny. Wykonał obowiązek - +1 godzina, nie wykonał -1.
3. Chodzi o prosty system w obsłudze. Szybkie zalogowanie z komórki na hasło i przyznanie lub odjęcie dostępnego czasu. Żona nie umie grzebać się w jakichś ruterach i opcjach. Ja często w pracy. Potrzeba prostego i szybkiego mechanizmu.
Co do roli. Oczywiście nie mogą rządzić, ale jest to bardzo uciążliwe. Kogo nie pytam ze znajomych w podobnym układzie rodzinnym - wszyscy przewracają oczami. Nawet jak wyjdą na dwór, to nie mają z kim pogadać - wszyscy rówieśnicy .. siedzą w domu przed kompem.
Czy musimy to roztrząsać? Każdy będzie miał swoją rację.
Chcę to po prostu zrobić i coś tam już działa i właściwie .. na razie nie potrzebuję pomocy.
Także na jakiś czas się wyłączę.
pozdrawiam
Asus RT-N18U (freshtomato)
|
|
|
|
belliash |
Dodano 05-01-2018 06:14
|
Moderator
Posty: 730
Dołączył: 17/08/2010 08:53
|
Mysle ze wiekszosc z tych rad pisza osoby, ktore nie maja dzieci Moja jeszcze za mala abym sie wypowiadal w tym temacie, ale na osiedlu tez bardzo rzadko widuje dzieciaki, a jak juz siedza na laweczce to kazde ze swoim telefonem... smutne ale prawdziwe. To juz nie te czasy co kiedys kiedy po szkole wychodzilo sie pokopac pilke. Teraz nawet gdyby nasze dzieciaki chcialy wyjsc i pobawic sie na swiezym powietrzu to nie oszukujmy sie - nie maja z kim. Czy takie limitowanie neta jest rozwiazaniem? Nie wiem, na razie nie mam tego problemu, wiec nie oceniam i nie wypowiadam sie.
Zastanawiam sie jedynie czy jakis CaptivePortal nie zalatwi Ci tego co szukasz?
Linksys WRT1900AC: OpenWrt 19.07.2
Jetway JC390F841AA34B: OpenWrt 19.07.2
|
|
|
|
servee |
Dodano 05-01-2018 11:43
|
User
Posty: 101
Dołączył: 23/10/2014 15:36
|
Wszystkie te zabiegi i reguły dadzą w łeb gdy dzieci jakiś rówieśnik uświadomi, że można to "shakować" modemem GSM.
Teraz nawet hebel na 230V nie pomoże, bo na baterii dalej można działać.
Takie mamy czasy...
Jak byłem gówniarzem, to rodzice (chociaż nigdy z programowaniem nie mieli nic wspólnego, a i z samymi komputerami obcują od kilku lat) mieli swoje własne reguły iptables. Jeśli dwukrotne zawołanie na obiad nie przynosiło efektu, to w następnej pętli następowało wykręcenie korków i ruski TV przechodził w tryb uśpienia . |
|
|
|
vitec |
Dodano 10-01-2018 21:09
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
@belliash Ja myślę - że jest! - takie rozwiązanie. Kiedy po raz pierwszy usłyszysz, że jesteś S..m bo wyłączyłeś w 5 godzinie (4 umówione) "korki" podczas rozgrywki za którą grozi ban za "ucieczkę z pola bitwy", to nie będziesz widział innego rozwiązania. Moja znajoma przyznała się do rozbicia tel. córki - rzucała specjalnie kantem o ścianę.
Takie limitowanie jest jak najbardziej rozwiązaniem, którego potrzebuje [myślę] WIELU [wiadomych!] rodziców.
Szarpanie się na stałe godziny już przetrenowałem. Można i tak, ale ile godzin z życia można poświęcić na taki nadzór?! Zaczniesz być niewolnikiem NETu albo .. włączysz na stałe dostęp dla dzieci, bo już nie będziesz widział innego rozwiązania.
Ja pracuję nad interfejsem, wolno, bo zawalony jestem pracą inną, ale działam.
kille - pomożesz? trzeba mi wszystko od conntrack i iptables -m comment (można i bez tego, ale chyba będzie trudniej/mniej wydajniej - sprawdzam możliwości tymczasem)
Asus RT-N18U (freshtomato)
|
|
|
|
jachu |
Dodano 10-01-2018 21:55
|
Power User
Posty: 351
Dołączył: 16/11/2006 10:04
|
Cytat vitec napisał(a):
@belliash Ja myślę - że jest! - takie rozwiązanie. Kiedy po raz pierwszy usłyszysz, że jesteś S..m bo wyłączyłeś w 5 godzinie (4 umówione) "korki" podczas rozgrywki za którą grozi ban za "ucieczkę z pola bitwy", to nie będziesz widział innego rozwiązania. Moja znajoma przyznała się do rozbicia tel. córki - rzucała specjalnie kantem o ścianę.
Takie limitowanie jest jak najbardziej rozwiązaniem, którego potrzebuje [myślę] WIELU [wiadomych!] rodziców.
Szarpanie się na stałe godziny już przetrenowałem. Można i tak, ale ile godzin z życia można poświęcić na taki nadzór?! Zaczniesz być niewolnikiem NETu albo .. włączysz na stałe dostęp dla dzieci, bo już nie będziesz widział innego rozwiązania.
Ja pracuję nad interfejsem, wolno, bo zawalony jestem pracą inną, ale działam.
kille - pomożesz? trzeba mi wszystko od conntrack i iptables -m comment (można i bez tego, ale chyba będzie trudniej/mniej wydajniej - sprawdzam możliwości tymczasem)
Napisze to tak : dla rozwoju i Twojej nauki super . Dla dziecie ... i tu przemilcze. Nie wyobrazam sobie aby moje dzieci w wieku nastu lat zwrocily sie kiedykolwiek do mnie albo mojej zony slowami ktore zacytowales. Jesli tak jest u Ciebie to zamiast poswiecic czas na pisanie tego oprogramowania poswiec go dzieciom na rozmowy i inne ciekawe dla nich rzeczy. Jesli masz taka sytuacje jak podales to sorki ale popelniles gdzies blad. To nie jest normalne . I mysle , ze to co robisz nic nei zmieni poza tym ze dalej nie bedziesz poswiecal im czasu tylko kombinowaniu .
pozdrawiam
Jachu
Netgear WNR3500L v2 - Tomato
APU - OPNSense,PFSense
FeeNAS
Netgear R7000 - Tomato
|
|
|
|
vitec |
Dodano 10-01-2018 22:49
|
User
Posty: 12
Dołączył: 19/12/2017 00:39
|
@jachu Ja już pisałem. Teraz walczysz ze mną zamiast z "systemem". To że uzewnętrzniłem "jak jest" przerzucasz na moje błędy. Ja zgadzam się. Jest błąd. Mój błąd. Tylko nie potrafię naprawiać błędów całego świata. To że Tobie udało się - chwała! Mnie nie. Ale dużo zależy od sytuacji. Jeden urodzi się w dobrej sytuacji a inny gnije i zbiera żniwo. Zauważ, że ta dyskusja jest poboczna i świadomie w niej uczestniczę. Mógłbym zachować się jak większość - udać że nic takiego nie ma miejsca. Po cholerę wypisuję w tym g. internecie takie rzeczy. Internet nie zapomina - co napiszę - zostaje na wieki. Część osób najwyraźniej ma podobne odczucia. Czy to jest PP?
W tej chwili interesuje mnie czy pomysł ograniczenia ilości godzin tygodniowo "w internecie" jest dobrym pomysłem i warto to zaaplikować jako stały element takich ruterów. (i czy ktoś mi w tym pomoże)
ps. Proszę przeczytaj wątek od początku ze zrozumieniem (chęcią zrozumienia).
Asus RT-N18U (freshtomato)
|
|
|
|
belliash |
Dodano 11-01-2018 08:10
|
Moderator
Posty: 730
Dołączył: 17/08/2010 08:53
|
Ale to nie jest kwestia systemu tylko wychowania. Jezeli malemu dziecku daje sie telefon zeby sie nim bawilo bo wtedy sie odczpi i rodzice maja spokoj, to nic dziwnego ze pozniej tak reaguje albo uzaleznia sie od internetu. Z dziecmi trzeba spedzac jak najwiecej czasu, zabierac na spacery, wypelniac im czas innymi zajeciami.
Kiedy ostatni raz kopales z nimi pilke?
Probowales zapisac je na jakies zajecia dodatkowe? Pilke? Karate? Jezyki obce? Niektore uczelnie organizuja takie zajecia dla dzieciakow - pokazuja im podstawy chemii, fizyki przez zabawe... Wtedy nie beda mialy czasu na neta a jak juz go znajda, to nie bedzie to 8h dziennie.
Linksys WRT1900AC: OpenWrt 19.07.2
Jetway JC390F841AA34B: OpenWrt 19.07.2
|
|
|