VorteX vFOSe.ru IPUpdater (win32|linux)

Вопросы по официальному клиенту сервиса

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение nE0sIghT » 24 фев 2009, 14:59

Написал простенький скрипт для обновления ИП vfose.ru и dyndns.org на пыхпыхе
Отличительная особенность - не долбится обновлять ип, если он не изменился (это условие dyndns)

Код: Выделить всёРазвернуть
#!/usr/bin/php

<?php
$data_dir = "/etc/update_domains/";
$curl = "/usr/bin/curl";

$domains = array(
   'vfose' => array(
      array(
         'login'      => 'miranda-im',
         'pass'      => ''),
      array(
         'login'      => 'vortex',
         'pass'      => '')
   ),
   'dyndns' => array(
      array(
         'login'      => '',
         'pass'      => '',
         'domain'   => 'miranda-im.dyndns.org')
   )
);

if($data = file_get_contents('http://speed.san.ru/getip.shtml'))
{
   $start = strpos($data, 'Address:') + 9;
   $end = strpos($data, '</body');
   $fos_ip = substr($data, $start, $end - $start);

   foreach($domains['vfose'] as $domain)
   {
      $last_ip = @file_get_contents($data_dir . 'vfose.' . $domain['login']);

      if($fos_ip != $last_ip)
      {
         if(update_vfose($domain['login'], $domain['pass']))
            file_put_contents($data_dir . 'vfose.' . $domain['login'], $fos_ip);
      }
   }

   foreach($domains['dyndns'] as $domain)
   {
      $last_ip = @file_get_contents($data_dir . 'dyndns.' . $domain['domain']);

      if($fos_ip != $last_ip)
      {
         if(update_dyndns($domain['login'], $domain['pass'], $domain['domain'], $fos_ip))
            file_put_contents($data_dir . 'dyndns.' . $domain['domain'], $fos_ip);
      }
   }
}

function update_vfose($login, $pass)
{
   global $curl;

   $out = explode("\n", shell_exec("$curl --silent -F action=update -F name=$login -F pass=" . md5($pass) . " \"http://vfose.ru/updater.php\""));
   if(is_array($out) && count($out) > 2)
   {
      $out[0] = trim($out[0]);
      if($out[0] == 'UPDATE OK' || $out[0] == 'ERROR SAME IP')
      {
         return true;
      }
   }
   return false;
}

function update_dyndns($login, $pass, $domain, $ip = null)
{
   global $curl;

   $out = shell_exec("$curl --insecure \"https://$login:$pass@members.dyndns.org/nic/update?hostname=$domain" . ($ip ? "&myip=$ip" : "" ) . "\"");

   if(strpos($out, 'good') !== false || strpos($out, 'nochg') !== false)
   {
      return true;
   }
   return false;
}
?>
ИзображениеИзображение
Аватара пользователя
nE0sIghT
Начинающий участник
 
Сообщения: 14
Зарегистрирован: 25 сен 2007, 16:10
Откуда: Млечный путь,7-ой рукав,YD AC-451,3-я планета,восточное полу
Домен: miranda-im.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение Alexsandrit » 24 фев 2009, 21:57

у меня такой давно скрипт работает, он обновляет ип адреса на vfose.ru, но долбится до тех пор пока не обновится окончательно днс...
Изображение
:roll:
Alexsandrit
Активный участник
 
Сообщения: 256
Зарегистрирован: 29 сен 2007, 16:47
Домен: http://proekts.vfose.ru/

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение zackiel » 24 мар 2009, 22:34

VorteX vFOSe.ru IPUpdater (win32|linux) не собирается

Код: Выделить всёРазвернуть
[root@localhost vipr-src]# sh build.sh                                 
configlib.cpp: In constructor ‘configlib::configlib(char*)’:           
configlib.cpp:33: ошибка: нет декларации ‘strlen’ в этой области видимости
configlib.cpp:44: ошибка: нет декларации ‘strncpy’ в этой области видимости
configlib.cpp: In member function ‘void configlib::SaveConfig(CFGARRAY*, char*)’:
configlib.cpp:122: ошибка: нет декларации ‘strlen’ в этой области видимости     
ipupdater.cpp: In member function ‘void ipupdater::check()’:                     
ipupdater.cpp:40: предупреждение: deprecated conversion from string constant to ‘char*’
ipupdater.cpp: In member function ‘char* ipupdater::GetExtAddr(char*)’:               
ipupdater.cpp:49: предупреждение: deprecated conversion from string constant to ‘char*’
ipupdater.cpp: In member function ‘char* ipupdater::ReceiveHTTPResponse(char*, u_short, CFGARRAY*)’:                                                                           
ipupdater.cpp:175: предупреждение: deprecated conversion from string constant to ‘char*’
ipupdater.cpp: In member function ‘int ipupdater::UpdateDomain(char*, char*, char*)’:   
ipupdater.cpp:195: предупреждение: deprecated conversion from string constant to ‘char*’
ipupdater.cpp: In member function ‘void ipupdater::UpdateAllDomains()’:                 
ipupdater.cpp:293: предупреждение: deprecated conversion from string constant to ‘char*’
ipupdater.cpp:295: предупреждение: deprecated conversion from string constant to ‘char*’
socklib.cpp: In member function ‘void socklib::Start()’:                               
socklib.cpp:81: предупреждение: deprecated conversion from string constant to ‘char*’   
socklib.cpp:88: предупреждение: deprecated conversion from string constant to ‘char*’   
socklib.cpp:101: предупреждение: deprecated conversion from string constant to ‘char*’ 
socklib.cpp:106: предупреждение: deprecated conversion from string constant to ‘char*’ 
socklib.cpp: In member function ‘void socklib::Send(char*, size_t)’:                   
socklib.cpp:134: предупреждение: deprecated conversion from string constant to ‘char*’ 
socklib.cpp: In member function ‘char* socklib::RecvEx(char*, size_t*, char*)’:         
socklib.cpp:173: предупреждение: deprecated conversion from string constant to ‘char*’ 
socklib.cpp: In member function ‘void socklib::Accept(char*)’:                         
socklib.cpp:210: предупреждение: deprecated conversion from string constant to ‘char*’ 
terminal.cpp: In function ‘void* TerminalThread(void*)’:                               
terminal.cpp:34: ошибка: cast from ‘void*’ to ‘int’ loses precision                     
terminal.cpp: In function ‘void StartTerminal()’:                                       
terminal.cpp:55: предупреждение: deprecated conversion from string constant to ‘char*’ 
terminal.cpp:55: предупреждение: deprecated conversion from string constant to ‘char*’ 
terminal.cpp:56: предупреждение: deprecated conversion from string constant to ‘char*’ 
terminal.cpp:56: предупреждение: deprecated conversion from string constant to ‘char*’ 
terminal.cpp: In function ‘char* TermReadEx(char*)’:                                   
terminal.cpp:161: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp:167: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp: In function ‘void tcbAccept(char*)’:                                     
terminal.cpp:187: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp:189: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp:192: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp: In function ‘void tcbReceive(u_char*, size_t, char*)’:                   
terminal.cpp:223: предупреждение: deprecated conversion from string constant to ‘char*’
terminal.cpp:229: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:16: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp: In function ‘int main(int, char**)’:                                         
vipr.cpp:41: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp: In function ‘void SetUp()’:                                                   
vipr.cpp:83: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:99: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:112: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:122: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:131: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:139: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:145: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:153: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:160: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:166: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp: In function ‘void cbAdmin(char*)’:                                           
vipr.cpp:255: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:262: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:265: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:284: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:287: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:290: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:298: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:312: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:316: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:319: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:322: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:325: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:333: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:381: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:385: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:388: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:391: предупреждение: deprecated conversion from string constant to ‘char*’     
vipr.cpp:400: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:404: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:407: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:408: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:411: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:415: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:418: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:419: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:422: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:426: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:429: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:430: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:433: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:437: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:440: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:441: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:444: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:448: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:449: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:453: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:460: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:464: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:469: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:474: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:478: предупреждение: deprecated conversion from string constant to ‘char*’
vipr.cpp:483: предупреждение: deprecated conversion from string constant to ‘char*’
strip: 'bin/gnulinux/vipr': No such file
zackiel

 
Сообщения: 3
Зарегистрирован: 24 мар 2009, 01:14
Домен: my-bay.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение zk » 25 мар 2009, 00:32

Можно использовать приведённый выше php скрипт, или ссылку для обновления из профиля.
zk
Администратор
 
Сообщения: 1972
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение zackiel » 25 мар 2009, 21:27

я запустил IpUpdater под Wine вроде работает.
zackiel

 
Сообщения: 3
Зарегистрирован: 24 мар 2009, 01:14
Домен: my-bay.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение nE0sIghT » 31 мар 2009, 20:06

zackiel
Прекрасно собирается...
Код: Выделить всёРазвернуть
ne0sight@vortex bin>gcc --version
gcc (GCC) 4.1.2 (Gentoo 4.1.2 p1.3)


Приаттачил бинарик к первому посту.

ИМХО vipr удобен под виндой, но не в лине, ибо есть cron и прозрачная работа с любым скриптовым языком.

IpUpdater под wine - жестко -))
ИзображениеИзображение
Аватара пользователя
nE0sIghT
Начинающий участник
 
Сообщения: 14
Зарегистрирован: 25 сен 2007, 16:10
Откуда: Млечный путь,7-ой рукав,YD AC-451,3-я планета,восточное полу
Домен: miranda-im.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение DeltaPLAN » 22 мар 2010, 20:50

Объясните нубу как этот скрипт запускать? Под виндой никак? И как адаптировать его для своего домена на vfose.ru?
Изображение
Аватара пользователя
DeltaPLAN
Активный участник
 
Сообщения: 69
Зарегистрирован: 27 янв 2009, 01:47
Откуда: Саратов
Домен: streamchannel.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение Rostov114 » 22 мар 2010, 20:59

DeltaPLAN писал(а):Объясните нубу как этот скрипт запускать? Под виндой никак? И как адаптировать его для своего домена на vfose.ru?

Зачем тебе это?

Используй Infinity vFOSe.ru Ip Updater - Официальный клиент.

А вообще читай темы про запуск php скриптов из cmd.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение DeltaPLAN » 24 мар 2010, 11:54

Чтобы не обновлять Ip повторно, когда он уже обновлен. Так его не надо будет запоминать :) Я так понял, скрипт делает все автоматом
OFFTOPIC вот если б dyndns был доступен с ФОСа, я бы в модеме настроел и все. Единый логин для меня не вариант
Аватара пользователя
DeltaPLAN
Активный участник
 
Сообщения: 69
Зарегистрирован: 27 янв 2009, 01:47
Откуда: Саратов
Домен: streamchannel.vfose.ru

Re: VorteX vFOSe.ru IPUpdater (win32|linux)

Сообщение Rostov114 » 24 мар 2010, 12:13

DeltaPLAN писал(а):Чтобы не обновлять Ip повторно, когда он уже обновлен. Так его не надо будет запоминать :) Я так понял, скрипт делает все автоматом
OFFTOPIC вот если б dyndns был доступен с ФОСа, я бы в модеме настроел и все. Единый логин для меня не вариант

Не правильно ты понял.
IP не будет обновлен, когда он уже обновлен.

Сервер тебе просто ответит что IP не изменился.
Некоммерческий проект «HSDN»
Аватара пользователя
Rostov114
Автор
 
Сообщения: 3183
Зарегистрирован: 18 окт 2007, 02:21
Откуда: Россия ( Саратов / Ростов-на-Дону )

Пред.След.

Вернуться в Клиенты (программы обновления IP в доменах)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron