Cześć!

Nuda, więc machnąłem skrypt (python), nic specjalnego, ale może się komuś przyda.

W skrócie uruchamia komendy uwzględniając dni wolne
- soboty
- niedziele
- święta stałe (np. Trzech Króli)
- święta ruchome (np. Wielkanoc)

Co potrzebne
- python (być może wystarczy python-mini)
- https://pypi.python.org/pypi/holiday/0.0.1
- https://pypi.python.org/pypi/six
- https://pypi.python.org/pypi/nine

Do zainstalowania pakietow holiday, six, nine, można posłużyć się:

pip install holiday 
pip install six
pip install nine

Info jak zainstalować pip (http://eko.one.pl/forum/viewtopic.php?id=1165)

Przykładowe użycia:
np. zatrzymanie wifi gdy jest dzień wolny

runIfHoliday.py -i stopWifi.sh

np. zatrzymanie wifi gdy jutro jest dzień wolny

runIfHoliday.py -d 1 -i stopWifi.sh

np. zatrzymanie wifi gdy jutro jest dzień pracujący

runIfHoliday.py -n -d 1 -i stopWifi.sh

Skrypt:

#!/usr/bin/python

# -*- coding: utf-8 -*-

from holiday import get_holidays
from datetime import date, timedelta
from subprocess import call
import sys, getopt
import subprocess

def pmsg(msg):
        #print msg
        subprocess.Popen(['logger', '-s', msg])

def num(s):
    try:
        return int(s)
    except ValueError as err:
        pmsg(err)
        sys.exit(2)

def start(inputFile,dayshift,negate):
        now = date.today() + timedelta(days=dayshift)
        currYear = now.year
        holidays = get_holidays(year=currYear, place='Poland')
        isholiday = now in holidays
        weekday = now.weekday()
        isSaturday = weekday == 5
        isSunday = weekday == 6
        isFree = isholiday or isSunday or isSaturday
        if isholiday:
                hmsg = ", " + holidays[now] + ")"
        else:
                hmsg = ")"
        fhmsg = str(now) + " (" + now.strftime("%A") + hmsg
        run = isFree
        if negate:
                run = not(isFree)
        if run:
                pmsg(fhmsg + " run: " + inputFile)
                call(inputFile)
        else:
                pmsg(fhmsg)

def main(argv):
        inputFile = ''
        valid = False
        negate = False
        dayshift = 0
        pmsg(str(sys.argv))
        try:
                opts, args = getopt.getopt(argv,"d:ni:",["ifile=","dayshift=","negate="])
        except getopt.GetoptError as err:
                pmsg(str(err))
                sys.exit(2)
        for opt, arg in opts:
                if opt in ("-i", "--ifile"):
                        inputFile = arg
                        valid = True
                elif opt in ("-d", "--dayshift"):
                        dayshift = num(arg)
                elif opt in ("-n", "--negate"):
                        negate = True
        if valid:
                start(inputFile,dayshift,negate)
        else:
                pmsg("Invalid call")

if __name__ == "__main__":
        main(sys.argv[1:])

Wiadomo można to jeszcze upiększyć i ulepszyć,
więc kto ma ochotę, zapraszam do poprawek i uwag.

wystarczyło z /etc/config/network usunąć z "wan" opcje "metric",
w "wan_iptv" musi zostać.

config 'interface' 'wan_iptv'
    option 'ifname' 'eth0.3500'
    option 'proto' 'dhcp'
    option 'metric' '20'

config 'interface' 'wan'
    option 'ifname' 'eth0.2'
    option 'proto' 'dhcp'
Cezary napisał/a:

Trasy domyślniej nie masz jak widzisz. Co masz z tym vlanem 3500?

Tak widzę, jednak nadal nie wiem dlaczego znika (na wersji Backfire i AA rc2 działo).
Na drugim vlan jest IPTV (http://eko.one.pl/forum/viewtopic.php?id=3400)

#----- interface ------

config 'interface' 'loopback'
    option 'ifname'   'lo'
    option 'proto'    'static'
    option 'ipaddr'   '127.0.0.1'
    option 'netmask'  '255.0.0.0'

config 'interface' 'wan_iptv'
    option 'ifname' 'eth0.3500'
    option 'proto' 'dhcp'
    option 'metric' '20'

config 'interface' 'wan'
    option 'ifname' 'eth0.2'
    option 'proto' 'dhcp'
    option 'metric' '10'

config 'interface' 'lan'
    option 'ifname' 'eth0.1'
    option 'type' 'bridge'
    option 'proto' 'static'
    option 'netmask' '255.255.255.0'
    option 'ipaddr' '192.168.10.1'

#----- switch -----

config 'switch'
    option 'name' 'rtl8366rb'
    option 'reset' '1'
    option 'enable_vlan' '1'
    option 'enable_vlan4k' '1'
    option 'max_length' '3'

#----- VLAN -------

#VLAN 'wan_iptv',
config 'switch_vlan'
    option 'device' 'rtl8366rb'
    option 'vlan' '3500'
    option 'ports' '0t 5t'

#VLAN 'wan'
config 'switch_vlan'
    option 'device' 'rtl8366rb'
    option 'vlan' '2'
    option 'ports' '0 5t'

#VLAN 'lan'
config 'switch_vlan'
    option 'device' 'rtl8366rb'
    option 'vlan' '1'
    option 'ports' '1 2 3 4 5t'

#----- trasy -------

#trasa dla multicast
config 'route'
    option 'interface' 'wan_iptv'
    option 'target' '224.0.0.0'
    option 'netmask' '240.0.0.0'
    option 'gateway' '0.0.0.0'
Cezary napisał/a:

Czyli godzinę, system na połowie się pytana o nowy i dostajesz odpowiedź że jest problem z siecią.

Ok, ale co mogę z tym zrobić ?
Skąd ten problem z siecią ?
Jak to zdiagnozować i czemu po network restart jest ok ?
Jeszcze route -n
po reset

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         217.17.52.1    0.0.0.0         UG    10     0        0 eth0.2
0.0.0.0         171.20.14.1     0.0.0.0         UG    20     0        0 eth0.3500
171.20.14.0     0.0.0.0         255.255.254.0   U     20     0        0 eth0.3500
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
217.17.52.0    0.0.0.0         255.255.255.0   U     10     0        0 eth0.2
224.0.0.0       0.0.0.0         240.0.0.0       U     20     0        0 eth0.3500

po jakimś czasie

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
171.20.14.0     0.0.0.0         255.255.254.0   U     20     0        0 eth0.3500
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
217.17.52.0    0.0.0.0         255.255.255.0   U     10     0        0 eth0.2
224.0.0.0       0.0.0.0         240.0.0.0       U     20     0        0 eth0.3500

Będąc precyzyjniejszym mam dwa wany (we vlanach) i dzierżawa jest różna,
w dodatku co jakiś czas DHCP załapie.

Apr 11 04:43:11 OpenWrt daemon.notice netifd: wan_iptv (902): Sending renew...
Apr 11 04:43:11 OpenWrt daemon.notice netifd: wan_iptv (902): udhcpc: connect: Network is unreachable
Apr 11 04:44:49 OpenWrt daemon.notice netifd: wan_iptv (902): Sending renew...
Apr 11 04:44:49 OpenWrt daemon.notice netifd: wan_iptv (902): udhcpc: connect: Network is unreachable
Apr 11 04:45:38 OpenWrt daemon.notice netifd: wan_iptv (902): Sending renew...
Apr 11 04:45:38 OpenWrt daemon.notice netifd: wan_iptv (902): Lease of yyy.yyy.yyy.yyy obtained, lease time 5894
Apr 11 04:49:48 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 04:49:48 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 04:53:33 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 04:53:33 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 04:55:25 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 04:55:25 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 04:56:21 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 04:56:21 OpenWrt daemon.notice netifd: wan (893): Lease of xxx.xxx.xxx.xxx obtained, lease time 3600
Apr 11 05:26:21 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:26:21 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 05:34:46 OpenWrt daemon.notice netifd: wan_iptv (902): Sending renew...
Apr 11 05:34:46 OpenWrt daemon.notice netifd: wan_iptv (902): udhcpc: connect: Network is unreachable
Apr 11 05:41:22 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:41:22 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 05:48:52 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:48:52 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 05:52:37 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:52:37 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 05:54:29 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:54:29 OpenWrt daemon.notice netifd: wan (893): udhcpc: connect: Network is unreachable
Apr 11 05:55:25 OpenWrt daemon.notice netifd: wan (893): Sending renew...
Apr 11 05:55:25 OpenWrt daemon.notice netifd: wan (893): Lease of xxx.xxx.xxx.xxx obtained, lease time 3600
Cezary napisał/a:

rc2 to nie jest poprzednia, to kilkanaście miesięcy temu.

tak, chodziło mi raczej o poprzednią jaką miałem.

Cezary napisał/a:

Jaki czas dzierżawy dostajesz?

Jak dobrze wyczytuje to 3600

Jan  1 01:00:44 OpenWrt daemon.notice netifd: wan (884): Lease of xxx.xxx.xxx.xxx obtained, lease time 3600

Cześć !

W skrócie, po restarcie wszystko gra, po około 30 minutach:

Apr 11 19:48:18 OpenWrt daemon.notice netifd: wan (867): Sending renew...
Apr 11 19:48:18 OpenWrt daemon.notice netifd: wan (867): udhcpc: connect: Network is unreachable

i już tak do końca logu.
po

/etc/init.d/network restart 

jest ok.

Dzieje się tak to AA (r39928 by obsy) cudów w konfiguracji tam nie ma
(na poprzedniej AA (wersja gdzieś z okolic rc2) wszystko działo).

Załączę co potrzeba w kolejnych postach
jak ktoś się zlituje i ma pomysł jak by to pokonać.

Pozdrawiam!
i proszę o pomoc.

Cezary napisał/a:

Jest już w repo.

Dziękuję !!!

Cezary napisał/a:

Łatki się znalazły więc i kompilacja będzie.

Dzięki !

Daj proszę znać w tym wątku jak paczka będzie już w repo.

Cezary!

Czy w twoim repo mógłby się znaleźć zaktualizowany pakiet openssl
widzę że jest w wersji 1.0.1e a podobno bezpieczny to 1.0.1g.

Więcej info:
http://niebezpiecznik.pl/post/krytyczna … -od-2-lat/

Pozdrawiam!

211

(14 odpowiedzi, napisanych Oprogramowanie / Software)

Skajper4 napisał/a:

Co byłoby lepsze z systemów w temacie? Jako iż ja nie używam wyjścia video (brak klawiatury oraz ciężkie otwieranie filmów z akceleracją na gpu praktycznie wyklucza ją z użytku pod tv crt, o streamach można zapomnieć) ani gpio.

Mam pierwszą wersje  maliny, używam OpenElec'a
nie wiem jak tam podłączasz tv crt ? (przejściówka HDMI na SCART ? czy jak ?)
Bo przez HDMI - ja nie narzekam na otwieranie filmów (mkv, 1080), z odtwarzaniem strumieni też nie mam żadnego problemu. gpu ma akcelerację dla x264 i to u mnie śmiga, zresztą MPEG też daje radę nic nigdy mi się nie muliło.
A przy HDMI (i z obsługą CEC w TV) klawiatura Ci nie potrzebna.
Co do streamów - żadnych problemów z odtwarzaniem full Hd z youtube i vimeo.
ale nie próbowałem streamować.

212

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Jeżeli używasz dnscyrpt ode mnie, to on jest lekko starawy już. Należało by zrobić nowy pakiet, bo nie wiem czy coś tam nie zmienili.

Coś chyba jednak coś robię źle.
Mam najnowszą wersję 1.3.3, ale nadal nie działa.

Sprawdziłem wszystko według
http://wiki.openwrt.org/inbox/dnscrypt#troubleshooting

i niby jest ok.

Co musiałbym jeszcze sprawdzić po stronie serwera i/lub klienta ?

213

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary napisał/a:

Jeżeli używasz dnscyrpt ode mnie, to on jest lekko starawy już. Należało by zrobić nowy pakiet, bo nie wiem czy coś tam nie zmienili.

Tak, własnie Twojej wersji używam.
Rozumiem że konfigurację mam dobrą ale z jakiś powodów jednak nie działa.

Czy masz może gdzieś make dla tego pakietu
lub czy jesteś wstanie wyprodukować nowszą wersję ?

214

(5 odpowiedzi, napisanych Oprogramowanie / Software)

Cześć!

Szybkie pytanie do zasiadających tu guru
(bo czuje że problem banalny ale poległem i nie wiem co robię źle).

Mam konfiguracje tap taką jak tu:
http://eko.one.pl/?p=openwrt-openvpn

do /etc/openvpn/my-vpn.conf dopisałem:

push "dhcp-option DNS 192.168.10.1"

gdzie 192.168.10.x to mój lan

konfiguracja DNSCrypt
http://eko.one.pl/?p=openwrt-dnscrypt

łączę się przez VPN klientem z Windows (ma serwer DNS)

Serwery DNS . . . . . . . . . . . : 192.168.10.1

ale DNSCrypt chyba nie działa jak powinien, bo
wchodzę na http://www.opendns.com/welcome/
i ZONG.

Pozdrawiam!

215

(10 odpowiedzi, napisanych Oprogramowanie / Software)

azhag napisał/a:

jakby ktoś zdołał skłonić oryginalny youtube-dl do działania, to byłbym niezmiernie wdzięczny.

"U mnie działa", mam takie pakiety od python'a

python - 2.7.3-1
python-crypto - 2.0.1-1
python-expat - 2.7.3-1
python-mini - 2.7.3-1
python-openssl - 2.7.3-1

216

(10 odpowiedzi, napisanych Oprogramowanie / Software)

opkg install python-openssl

KMY napisał/a:

Zależy mi na RAID1, aby mieć automatycznie kopię zapasową

Niestety jak większości przypadków RAID1 (zwanym lustrzanym) mylony jest z kopią zapasową, fakt że będziesz mieć lustrzane odbicie jeszcze nie oznacza że jest to kopia zapasowa, gdyż błędy na pierwszym dysku są powielane "lustrzanie" na drugi. Proponuję raczej RAID1 + kopia zapasowa, choćby w konfiguracji - połowy obu dysków w macierzy RAID1, a dwie pozostałe połowy zbić w "RAID linear" i tam robić kopie zapasowe.

KMY napisał/a:

jest możliwość aby urządzenia zamiast po dev/sda1 konfigurować w macierzy po blkid

Możesz zmontować raid np. poleceniem

mdadm --assemble /dev/md0 --run -u "1b4a23e7-1b89-688e-966d-d833345a3f91"

gdzie wcześniej utworzona macierz ma

root@OpenWrt:~# blkid

/dev/sda1: UUID="1b4a23e7-1b89-688e-966d-d833345a3f91" UUID_SUB="3915aa4d-5a5b-3eb1-c126-7aa7c99f811e" LABEL="OpenWrt:0" TYPE="linux_raid_member"
/dev/sdb1: UUID="1b4a23e7-1b89-688e-966d-d833345a3f91" UUID_SUB="acf4f54b-1f89-b4eb-6ad2-ec17345f8c4a" LABEL="OpenWrt:0" TYPE="linux_raid_member"

219

(17 odpowiedzi, napisanych Oprogramowanie / Software)

Jeśli szukasz w miarę dobrej i TANIEJ opcji, możesz próbować też z dlink dns-320l, można tam postawić chrootem debiana,
lub dostać się do ssh z oryginalnego softu i tam są gotowe pakiety dostępne w środowisku tej społeczności.
Jeśli nie masz dużych wymagań co do "mocy" a chcesz tylko składnicę na dane to powinno wystarczyć.

pepe2k napisał/a:

W źródłach było od dawna, nie tylko dla tej platformy ale dla wszystkich TP-Linków. Najwyraźniej w końcu doprowadzili to do działania i puścili w świat. Szkoda tylko, że nie aktualizują źródeł w swoim centrum GPL.

To ja się podepnę pod temat,
skoro "W źródłach było od dawna, (...) dla wszystkich TP-Linków",
czy ktoś ma wiedzę czy inne uboot'y TP-Linków obsługują "tryb antycegła"
dla pozostałych modeli, choćby dla leciwego TL-WR1043ND ?

Pozdrawiam!

Hej,

Zdaje się że standardowa paczka nmap
nie obsługuje skryptów NSE (nic nie mogę znaleźć na ten temat w kontekście Openwrt).

Czy ktoś ma z tym jakieś doświadczenia ? Da się to jakoś włączyć ?

Cezary tu prośba - może byłbyś wstanie wyprodukować
paczkę z obsługą NSE w swoim repo ?

Pozdrawiam!

222

(88 odpowiedzi, napisanych Oprogramowanie / Software)

max74 napisał/a:

Na pierwszym porcie działa IPTV bez igmpproxy. Działa również internet po kablu i wifi. Brakuje jedynie internetu w Netia Player

Czyli, mamy jakiś trop, a jest nim jest działanie igmpproxy.
Opisywany efekt wygląda trochę tak jakby pakiety z podsieci IPTV (vlan1000)
zalewały ci lan ("IGMP multicast flooding"), trzeba by poszukać rozwiązań na taki własnie temat.

Daj wynik

cat /sys/devices/virtual/net/br-lan/bridge/multicast_snooping

Powinno być "1"

223

(88 odpowiedzi, napisanych Oprogramowanie / Software)

max74 napisał/a:

Bez igmpproxy IPTV nie działa.


Dziwne szwbek twierdził że działa, a w podanej jego konfiguracji

config switch_vlan
    option device 'rtl8366rb'
    option vlan '1000'
    option ports '0t 1 5t'

Musisz wpiąć się do portu 1 żeby IPTV działo. Próbowałeś tak ?
igmpproxy powoduje że jest w cały lan a w wskzanej konfiguracji tylko na porcie 1,
ale bez usług o których pisał szwabek.

max74 napisał/a:

Sprawdziłem również, że do poprawnego działania IPTV  nie jest konieczne instalowanie upnp.

Tak  - to tylko był tylko dodatkowy wymysł szwabek, do działania iptv tak naprawdę nie potrzeba żadnych dodatkowych
pakietów (igmpproxy jest tylko po to aby iptv było w całym lan,
a czasem można się bez tego obyć i mieć iptv tylko w jednym porcie,
ale kosztem odseparowania VLANów)

Skoro 195.0.0.0/8 działa, spróbuj zawężać maskę sieciową,
(z logu szwabek http://eko.one.pl/forum/viewtopic.php?pid=77203#p77203)
wnioskuję że możesz próbować np. 195.191.0.0/16

Postaraj się o to aby zadziałał iptv na "1" porcie, tak jak wcześniej pisałem bez użycia igmpproxy,
wtedy pomyślimy co dalej.

224

(88 odpowiedzi, napisanych Oprogramowanie / Software)

max74 napisał/a:

Nie na IPTV po wifi mi nie zależy.
Nie mogę jednak znaleźć przyczyny "siadania" internetu po wifi podczas oglądania TV przez ethernet na Netia Playerze.

Spróbuj może wykonać backup tej konfiguracji
i wypróbuj ścieżkę bez igmpproxy gdzie działa tylko TV bez usług (tylko na potrzeby testu - może będzie z tego trop).
1. wyłącz igmpproxy lub odinstaluj
2. weź config (http://eko.one.pl/forum/viewtopic.php?pid=77121#p77121)
Efekt będzie taki jak pisał:

szwabek napisał/a:

1. Działa TV, nie działają usługi internetowe
Jeżeli port 1 zrobię jako vlan1000 nietagowany, to działa mi TV. Na Netia Player mam takie funkcje jak program TV, opis programów, tvn player, ipla i inne usługi internetowe. W tej konfiguracji nie działają te usługi.

Teraz sprawdź czy siada WIFI ? Jeśli tak to winny jest igmpproxy i tu trzeba będzie szukać problemów.

Możesz też próbować z /etc/config/igmpproxy
można tam zawężać maski sieciowe
lub zakomentować niektóre listy
        list altnet 224.0.0.0/4
        list altnet 10.0.0.0/8
        list altnet 195.0.0.0/8
        list altnet 172.24.0.0/16
        list altnet 192.168.1.0/24
        list altnet 83.238.252.0/24
Ogólnie najlepiej jakbyś tą listę stworzył sam - na podstawie własnego nasłuchu tak jak robił to szwabek w tym poście. Może u Ciebie źródła są np. inne lub nachodzą na jakieś Twoje podsieci (nie wiem to gdybanie).

225

(88 odpowiedzi, napisanych Oprogramowanie / Software)

max74 napisał/a:

Nie wiem czy ma to jakiś związek ale IPTV "puszczona" po wi-fi strasznie tnie.

Ogólne multicast przez wifi to zły pomysł, jednak jeśli chcesz oglądać iptv przez wifi musisz przerobić multicast na unicast
za pomocą i tu pomoże CI pakiet udpxy  (http://eko.one.pl/forum/viewtopic.php?id=3400)

Pozdrawiam!