23 Listopada 2024 06:10:51
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [S] Asus RT-AC56U
· DIR868l OFW asus vs ...
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
· Wireguard na FreshTo...
Najpopularniejsze obecnie wątki
· Szukam zaproszeni... [19]
· DIR868l OFW asus ... [8]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.220.206.141
Zobacz wątek
OpenLinksys » :: OPROGRAMOWANIE :: » OpenWrt - firmware
 Drukuj wątek
Moje poprawki do ddns-scripts
TF
Zrobiłem na własne potrzeby dwie małe poprawki w ddns-scripts i publikuję je tu, gdyby komuś mogły się przydać.
(pliki *.diff umieściłem też w załączniku)

Pierwsza, to możliwość wyłączenia wymuszonych aktualizacji (nie znalazłem takiej opcji w oryginale) przez ustawienie czasu na 0 (lub mniej). Gdy ktoś korzysta np. z Neostrady, IP zmienia się codziennie, więc aktualizacje i tak będą, a przynajmniej wyłączymy niepotrzebną aktualizację przy restarcie routera:
Poprawka w pliku /usr/lib/ddns/dynamic_dns_updater.sh (wynik polecenia diff - tak sie poprawki publikuje?):

--- /rom/usr/lib/ddns/dynamic_dns_updater.sh   Sat Jan  2 17:37:54 2010
+++ /usr/lib/ddns/dynamic_dns_updater.sh   Wed Mar 24 00:18:53 2010
@@ -240,7 +240,7 @@
    verbose_echo "registered domain ip = $registered_ip"
 
 
-   if [ "$current_ip" != "$registered_ip" ]  || [ $force_interval_seconds -lt $time_since_update ]
+   if [ "$current_ip" != "$registered_ip" ] || ([ $force_interval_seconds -lt $time_since_update ] && [ $force_interval_seconds -gt 0 ])
    then
       verbose_echo "update necessary, performing update ..."


Druga, to dodanie możliwości pobierania adresu IP za pomocą własnego skryptu. W moim przypadku router, na którym działa skrypt, nie wie jakie jest zewnętrzne IP. W ddns-scripts jest wprawdzie opcja sprawdzania IP w sieci, ale uznałem, że nie ma sensu sięgać tak daleko, skoro mogę uzyskać tę informację z modemo-routera w mojej sieci lokalnej (z pewnych względów nie pracuje on jako bridge, tylko jako pełny router).

--- /rom/usr/lib/ddns/dynamic_dns_functions.sh   Sun Dec 27 23:12:29 2009
+++ /usr/lib/ddns/dynamic_dns_functions.sh   Wed Mar 24 00:38:35 2010
@@ -53,7 +53,7 @@
 {
 
    #if ip source is not defined, assume we want to get ip from wan
-   if [ "$ip_source" != "interface" ] && [ "$ip_source" != "web" ]
+   if [ "$ip_source" != "interface" ] && [ "$ip_source" != "web" ] && [ "$ip_source" != "script" ]
    then
       ip_source="network"
       ip_network="wan"
@@ -74,6 +74,10 @@
    if [ "$ip_source" = "network" ] || [ "$ip_source" = "interface" ]
    then
       current_ip=$(ifconfig $ip_interface | grep -o 'inet addr:[0-9.]*' | grep -o "$ip_regex")
+   elif [ "$ip_source" = "script" ]
+   then
+      # get ip from script
+      current_ip=$($ip_script)
    else
       # get ip from web
       # we check each url in order in ip_url variable, and if no ips are found we use dyndns ip checker


dla przykładu mój plik konfiguracyjny wygląda tak:

config service "domena"
   option enabled      "1"

   option service_name   "dyndns.org"
   option domain      "domena.dyndns.org"
   option username      "domena"
   option password      "haslo"

   option force_interval   "0"
   option force_unit      "hours"
   option check_interval   "5"
   option check_unit   "minutes"

   option ip_source   "script"
   option ip_script   "/usr/lib/ddns/get_ip.sh"

A przykładowy skrypt do pobierania IP (/usr/lib/ddns/get_ip.sh) tak (ten skrypt nie jest uniwersalny (działa z modemo-routerem Planet ADE-4400) - jest to tylko przykład):

ip=''
while [ -z "$ip" ]
do
   ip=$(wget -q -O - http://login:haslo@10.0.0.1/status/status_deviceinfo.htm 2>/dev/null | head -61 | tail -1 | egrep -o "[0-9.]+")
   if [ "$ip" = "0.0.0.0" ]
   then
      ip=''
      sleep 30
   fi
done
echo $ip

(IP = 0.0.0.0 w przypadku tego routera oznacza brak połączenia - więc skrypt czeka troszkę i sprawdza ponownie)

Jeżeli moderatorzy uznają ten temat za stratę miejsca i go usuną - nie będę miał żalu (chciałem tylko w końcu wnieść tu coś od siebie).
Jeżeli uznacie te poprawki za wartościowe - można ich swobodnie używać w dowolnym celu. Nie roszczę sobie do nich żadnych praw :P
2 x TP-Link WR1043ND (Gargoyle PL by obsy) + SpeedStream 4101
 
obsy
To ostatnie mógłbyś wysłać do na maillistę, może się faktycznie przydać.
Masz niepotrzebny ruter, uszkodzony czy nie - ch?tnie przygarn? go.
http://eko.one.pl - prawie wszystko o OpenWrt
http://openrouter.info
 
TF
Masz na myśli założyć ticket na https://dev.openwrt.org? Czy gdzie indziej (bo nie wirem gdzie indziej można to wysłać)?
2 x TP-Link WR1043ND (Gargoyle PL by obsy) + SpeedStream 4101
 
obsy
https://lists.openwrt.org/mailman/lis...nwrt-devel
Masz niepotrzebny ruter, uszkodzony czy nie - ch?tnie przygarn? go.
http://eko.one.pl - prawie wszystko o OpenWrt
http://openrouter.info
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 109

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,348,780 unikalnych wizyt