Я знаю, что существует несколько скриптов обновления DynDNS, и они работают, но не так, чтобы полностью соответствовать правилам использования DynDNS. [Например, вызывают обновление с параметром nochg после перезагрузки, так как не сохраняют состояние IP между перезагрузками, или запрашивают IP чаще, чем разрешено.] Они используют «старую» версию процесса обновления — которая хоть и работает, но устарела. Это уже обновлено. Кроме того, они вообще не проверяли коды возврата после обновления и не обрабатывали ошибки при получении плохого ответа. Думаю, эти проблемы в этом коде исправлены. Записи во флэш-память могли быть избыточными. [Хотя размер был настолько мал, что вряд ли это проблема.] Мы записываем во флеш только при успешном обновлении IP на DynDNS. Стиль кода не совсем однородный (извиняюсь), и в самом скрипте столько комментариев, что отдельной документации нет. Буду рад отзывам, если они есть. Сейчас код поддерживает обновление DynDNS только для одного интерфейса, и чтобы работать с несколькими, понадобится доработка. [Но такой запрос вряд ли распространён, если кто-то хочет — сделаю за плату. Я выкладываю это бесплатно, потому что мне нужна была эта функция и другие варианты меня не устраивали. Если же мне придётся писать что-то, что мне лично не нужно, это будет только когда доберусь — то есть вероятность минимальна... или придётся брать деньги.] Буду рад комментариям, исправлениям ошибок и прочему. Если используете код, уделите минутку, чтобы сообщить, работает ли он и на каком железе/версии ROS. — Грег
Я обновил код — думаю, просто убрал несколько комментариев, которые уже не актуальны. [Остались там по ошибке.] Код не менял.
\ Обновлено 2012/03/26
Новая версия 1.0.5
Изменение в скрипте — теперь проверяет наличие файла «lastip» и создаёт его, если его нет. Это избавляет пользователя от необходимости создавать файл вручную. [Больше изменений не припоминаю…]
Обновлено 2012/04/01
Новая версия 1.0.6
Исправлена ошибка, когда мы создавали файл «lastip.txt», а потом читали из него мусорные данные. Также исправлены примечания/комментарии по именованию файлов, чтобы избежать путаницы. Если у вас старая версия, менять не обязательно, но для новых установок эта новая версия, скорее всего, надёжнее — меньше шансов, что пользователь что-то сломает.
dyndns-published-1.0.6.rsc (8.43 KB)
Я обновил код — думаю, просто убрал несколько комментариев, которые уже не актуальны. [Остались там по ошибке.] Код не менял.
\ Обновлено 2012/03/26
Новая версия 1.0.5
Изменение в скрипте — теперь проверяет наличие файла «lastip» и создаёт его, если его нет. Это избавляет пользователя от необходимости создавать файл вручную. [Больше изменений не припоминаю…]
Обновлено 2012/04/01
Новая версия 1.0.6
Исправлена ошибка, когда мы создавали файл «lastip.txt», а потом читали из него мусорные данные. Также исправлены примечания/комментарии по именованию файлов, чтобы избежать путаницы. Если у вас старая версия, менять не обязательно, но для новых установок эта новая версия, скорее всего, надёжнее — меньше шансов, что пользователь что-то сломает.
dyndns-published-1.0.6.rsc (8.43 KB)
