21 Kwietnia 2025 10:35:47
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· Netia IPv6
· [S] Ubiquity Edgerou...
· Multiroom N z wykorz...
· [MOD] FreshTomato-AR...
· Nowe routery: UX, UC...
· asus rt-ax86u pro z ...
· Zmiana OpenVPN na wi...
· [S]UBIQUITI EdgeRout...
· Zaawansowana konfigu...
· ByPass VPN dla wybra...
· [MOD] FreshTomato-MI...
· Komputer Serwer
· Ciągle rozłączani...
· Wersje Freshtomato d...
· FreshTomato- WAN inn...
· Pojemniki na FreshTo...
· [K] Obudowę Kompute...
· Asus RT-AC3200 overc...
· Asus RT-AX86U PRo re...
· Usuwanie plików z d...
Najpopularniejsze obecnie wątki
· Netia IPv6 [3]
· [S] Ubiquity Edge... [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [152 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: 420
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
52.14.187.136
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: 69

· Użytkowników online: 0

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

servee
24-01-2025 18:18
Światłowód + mediakonwenter. Ekranowana skrętka nie jest wymagana, taką sytuację już zastałem. Zamierzam ją wymienić na zwykłą. Da to coś?

shibby
17-01-2025 07:45
a ta skrętka ekranowana o której piszesz to jakiś wkopany przewód do bramy/furtki/kamer
y zewn? Jak tak to jego też przez zabezpieczenie podepnij.

shibby
17-01-2025 07:43
no to pora zabezpieczyć kable LAN zabezpieczeniami przeciwprzepięciow
ymi - tanio nie będzie. Jak przychodzi ci internet? Skrętką czy światłem? Jak skrętką to zacząłbym od tego.

servee
12-01-2025 12:52
Ponownie padły mi wszystkie porty sieciowe w routerze - to już 3-ci w 6 m-cy. Podejrzany to ekranowana, nieuziemiona skrętka - 12mb. Czy jest to możliwe?

dawidt
21-12-2024 01:09
siema Grin

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.

114,487,544 unikalnych wizyt