Bonjour,
Pour accéder a jeedom de l’extérieur, j’utilise actuellement un dns changeip et ma livebox se charge de mettre à jour l’IP.
Dans l’hypothèse ou je changerais de box, je test actuellement la possibilité de mettre à jour l’IP avec jeedom
Je test donc le plugin DynDns mais il ne gère pas ChangeIP
Je me suis donc « amusé » à l’ajouter chez moi et les tests sont concluants.
Ne peut-on pas prévoir de l’ajouter au plugin officiel ?
Modifications :
- desktop/php/dyndns.php
- Ajout de changeip dans la liste déroulante
- Ajout de changeip dans la class div de hostname + username + password
- core/class/dyndsn.core.php
- Ajout de la requete http pour changeip
Dans desktop
<option value="changeip">www.changeip.com</option>
<div class="serviceType dyndnsorg noipcom ovhcom duckdns stratocom gandinet infomaniak changeip">
<div class="form-group">
<label class="col-sm-4 control-label">{{Hostname}}</label>
<div class="col-sm-6">
<input type="text" class="eqLogicAttr form-control" data-l1key="configuration" data-l2key="hostname" />
</div>
</div>
<div class="form-group serviceType gandinet">
<label class="col-sm-4 control-label">{{Domainname}}</label>
<div class="col-sm-6">
<input type="text" class="eqLogicAttr form-control" data-l1key="configuration" data-l2key="domainname" />
</div>
</div>
<div class="form-group serviceType dyndnsorg noipcom ovhcom stratocom infomaniak changeip">
<label class="col-sm-4 control-label">{{Nom d'utilisateur}}</label>
<div class="col-sm-6">
<input type="text" class="eqLogicAttr form-control" data-l1key="configuration" data-l2key="username" />
</div>
</div>
<div class="form-group serviceType dyndnsorg noipcom ovhcom stratocom infomaniak changeip">
<label class="col-sm-4 control-label">{{Mot de passe}}</label>
<div class="col-sm-6">
<input type="password" class="eqLogicAttr form-control" data-l1key="configuration" data-l2key="password" />
</div>
</div>
Dans core
case 'changeip':
$url = 'https://'. urlencode($this->getConfiguration('username')) . ':' . urlencode($this->getConfiguration('password')) . '@nic.changeip.com/nic/update?&hostname='.$this->getConfiguration('hostname').'&ip='.$ip;
log::add('dyndns', 'debug', $url);
$request_http = new com_http($url);
$request_http->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.12) Gecko/20070508 Firefox/1.5.0.12');
$result = $request_http->exec();
if (strpos($result, '200') === false) {
throw new Exception(__('-Erreur de mise à jour de changeip.com : ', __FILE__) . $result);
}
break;