Contrôle NAS Synology

xPL avec le RFXLAN

Contrôle NAS Synology

Messagepar surlatoile » 12 Oct 2018 09:53

Bonjour à tous,

Je relance le sujet sur le contrôle d'un NAS Synology, dans le store nous pouvons trouver le Diskstation Synology créé par Poloman.
Je l'ai installé mais n'arrive pas à éteindre mon NAS malgré l'IP, la MAC adresse et identifiants root de connexion renseignés. Est-ce que quelqu'un l'a déjà fait fonctionner et si oui peut m'aider a en faire autant ?
Pour info, lorsque je teste la valeur Off du périphérique voici ce que j'obtiens :

## ERROR: Querying [https://192.168.X.XX:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&session=shutdown&account=XXXX&passwd=XXXX] Error 35: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol ## ERROR: Querying [https://192.168.X.XX:5000/webapi/entry.cgi?api=SYNO.Core.System&force=false&local=true&method=shutdown&version=1] Error 35: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocolerror:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

Merci d'avance pour votre aide.
surlatoile
 
Messages : 6
Inscription : 17 Août 2018

Re: Contrôle NAS Synology

Messagepar zarwinch » 20 Nov 2018 21:40

Je suis dans la même situation. J'ai installé le script, activé le WOL sur mon NAS
J'ai réussi à le démarrer , mais impossible de l'éteindre.
As-tu avancé dans tes recherches pour faire fonctionner le script ?
1 Eedomus - 1 Jeedom - 1 Tahoma - Solution Celiane With Netatmo (VR, interrupteurs, prises et 1 micromodule) - Volets Battants Somfy RTS, Volet roulant Velux IO - Fibaros FGS 213, FGS 222, FGD 212
zarwinch
 
Messages : 14
Inscription : 07 Nov 2018

Re: Contrôle NAS Synology

Messagepar ArmoiraglatZ » 24 Nov 2018 12:19

Hello,

Etant dans le même cas que vous, j'ai regardé et j'ai trouvé une solution de contournement.
Par contre, je vous préviens tout de suite, le script d'origine communique en https, la on passe en http.

D'après ce que j'ai pu voir, c'est un problème de certificats qui n'est pas bien géré dans le scripts du plugin.

Pour contourner le pb, allez sur la page http://ip-eedomus/script et editer le fichier "ds.php".

Normalement le fichier ressemble à ca :
Code : Tout sélectionner
<?php
$ip = getArg("IP", $mandatory = true);
$login = getArg("LOGIN", $mandatory = true);
$pass = getArg("PASS", $mandatory = true);


$url_auth = "https://".$ip.":5001/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&session=shutdown&account=".$login."&passwd=".$pass;
$url_shutdown = "https://".$ip.":5001/webapi/entry.cgi?api=SYNO.Core.System&force=false&local=true&method=shutdown&version=1";
$ret_aut = httpQuery($url_auth, 'GET', $post = NULL, $oauth_token = NULL, $headers = NULL, $use_cookies = true, $ignore_errors = false);
$ret_shutdown = httpQuery($url_shutdown, 'GET', $post = NULL, $oauth_token = NULL, $headers = NULL, $use_cookies = true, $ignore_errors = false);

sdk_header('text/xml');
echo $ret_aut.$ret_shutdown;


Il faut remplacer les 2 blocs "https://".$ip.":5001" par "http://".$ip.":5000". Voici mon script :

Code : Tout sélectionner
<?php
$ip = getArg("IP", $mandatory = true);
$login = getArg("LOGIN", $mandatory = true);
$pass = getArg("PASS", $mandatory = true);


$url_auth = "http://".$ip.":5000/webapi/auth.cgi?api=SYNO.API.Auth&method=Login&version=2&session=shutdown&account=".$login."&passwd=".$pass;
$url_shutdown = "http://".$ip.":5000/webapi/entry.cgi?api=SYNO.Core.System&force=false&local=true&method=shutdown&version=1";

#Echo pour controller que la requete est correcte.
echo $url_auth;

$ret_aut = httpQuery($url_auth, 'GET', $post = NULL, $oauth_token = NULL, $headers = NULL, $use_cookies = true, $ignore_errors = false);
$ret_shutdown = httpQuery($url_shutdown, 'GET', $post = NULL, $oauth_token = NULL, $headers = NULL, $use_cookies = true, $ignore_errors = false);

sdk_header('text/xml');
echo $ret_aut;
echo $ret_shutdown;
?>



:!: :!: On utilise donc du HTTP et plus du HTTPS, ce qui implique que les mots de passe sont envoyés en clair sur le réseau, et sont donc "interceptables" par un méchant :)
Le mieux serait de pouvoir ignorer le certificat invalide avec la fonction "httpQuery" mais je n'ai pas trouvé l'option.

Dernière mise en garde, sur mon synology (DS918+) j'ai 1 machine virtuelle qui fonctionne. Pour pouvoir éteindre le NAS avec ce plugin je dois d'abord éteindre la machine virtuelle. Donc si c'est pareil pour vous, essayez d'éteindre votre machine virtuelle via un script lancé depuis l'eedomus, puis procéder à l'extinction du NAS.

Pour éteindre ma VM, j'utilise son serveur Web ou j'ai placé un script php qui lance la commande shutdown. Comme ça, j'ai une juste une requête http a lancer depuis l'eedomus pour éteindre la VM, ensuite j'attend 2 min, et je lance l'extinction du NAS.


En espérant que ça vous dépanne,

A plus :)
ArmoiraglatZ
 
Messages : 21
Inscription : 21 Jan 2017

Re: Contrôle NAS Synology

Messagepar clio_Td » 30 Nov 2018 10:41

Bonjour,

voici le scripte que j'utilise depuis des années:
Code : Tout sélectionner
<?php
$connection = ssh2_connect('127.0.0.1',22);

$login = $_GET["login"];
$password = $_GET["password"];

if ( (strlen($login) == 0) || (strlen($password) == 0) ){
   die('Please&nbsp;specify&nbsp;login&nbsp;and&nbsp;password!');
}

if (!ssh2_auth_password($connection, $login, $password)) {
   die('Unable to authenticate');
}
else {
   $str = 'echo ' . $password . '|sudo -S poweroff';
   // str_replace is used to escape " characters in the password
   $str = str_replace("\"", "\\\"", $str);
   $stream = ssh2_exec($connection, $str);
    $errorstream = ssh2_fetch_stream($stream, SSH2_STREAM_STDERR);
   // enable blocking for both streams
    stream_set_blocking($errorstream, true);
    stream_set_blocking($stream, true);
   echo stream_get_contents($stream);
   echo "<br>";
   echo stream_get_contents($errorstream);
   echo "<br>";
    echo "shutting&nbsp;down...";
}

?>


Et coté eedomus
Code : Tout sélectionner
http://[VAR1]/script/synology-shutdown.php?login=[VAR2]&password=[VAR3]
clio_Td
 
Messages : 258
Inscription : 10 Avr 2012


Retour vers Périphériques réseau

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)