Beispiel #1
0
 public static function postJsonRpc(&$_result)
 {
     if (is_array($_result)) {
         if (config::byKey('market::allowDNS') == 1) {
             $dnsRestart = false;
             if (isset($_result['register::ngrokAddr']) && config::byKey('ngrok::addr') != $_result['register::ngrokAddr']) {
                 config::save('ngrok::addr', $_result['register::ngrokAddr']);
                 $dnsRestart = true;
             }
             if (isset($_result['register::ngrokToken']) && config::byKey('ngrok::token') != $_result['register::ngrokToken']) {
                 config::save('ngrok::token', $_result['register::ngrokToken']);
                 $dnsRestart = true;
             }
             if ($dnsRestart) {
                 if (network::dns_run()) {
                     network::dns_stop();
                 }
                 network::dns_start();
             }
             if (isset($_result['jeedom::url']) && config::byKey('jeedom::url') != $_result['jeedom::url']) {
                 config::save('jeedom::url', $_result['jeedom::url']);
             }
         }
         if (isset($_result['register::ngrokAddr'])) {
             unset($_result['register::ngrokAddr']);
         }
         if (isset($_result['register::ngrokPort'])) {
             unset($_result['register::ngrokPort']);
         }
         if (isset($_result['register::ngrokToken'])) {
             unset($_result['register::ngrokToken']);
         }
         if (isset($_result['jeedom::url'])) {
             unset($_result['jeedom::url']);
         }
         if (isset($_result['register::hwkey_nok']) && $_result['register::hwkey_nok'] == 1) {
             config::save('jeedom::installKey', '');
         }
     }
 }
Beispiel #2
0
 public static function dns_start()
 {
     if (config::byKey('ngrok::addr') == '') {
         return;
     }
     network::dns_stop();
     $config_file = '/tmp/ngrok_jeedom';
     $logfile = log::getPathToLog('ngrok');
     $uname = posix_uname();
     if (strrpos($uname['machine'], 'arm') !== false) {
         $cmd = dirname(__FILE__) . '/../../script/ngrok/ngrok-arm';
     } else {
         if ($uname['machine'] == 'x86_64') {
             $cmd = dirname(__FILE__) . '/../../script/ngrok/ngrok-x64';
         } else {
             $cmd = dirname(__FILE__) . '/../../script/ngrok/ngrok-x86';
         }
     }
     exec('chmod +x ' . $cmd);
     $cmd .= ' -config=' . $config_file . ' start jeedom';
     if (!self::dns_run()) {
         $replace = array('#server_addr#' => 'dns.jeedom.com:4443', '#name#' => 'jeedom', '#proto#' => 'https', '#port#' => 80, '#remote_port#' => '', '#token#' => config::byKey('ngrok::token'), '#auth#' => '', '#subdomain#' => 'subdomain : ' . config::byKey('ngrok::addr'));
         $config = template_replace($replace, file_get_contents(dirname(__FILE__) . '/../../script/ngrok/config'));
         if (file_exists($config_file)) {
             unlink($config_file);
         }
         file_put_contents($config_file, $config);
         log::remove('ngrok');
         log::add('ngork', 'debug', 'Lancement de ngork : ' . $cmd);
         exec($cmd . ' >> /dev/null 2>&1 &');
     }
     return true;
 }
Beispiel #3
0
 if ($jsonrpc->getMethod() == 'update::checkUpdate') {
     update::checkAllUpdate();
     $jsonrpc->makeSuccess('ok');
 }
 /*             * ************************Network*************************** */
 if ($jsonrpc->getMethod() == 'network::restartNgrok') {
     config::save('market::allowDNS', 1);
     if (network::dns_run()) {
         network::dns_stop();
     }
     network::dns_start();
     $jsonrpc->makeSuccess();
 }
 if ($jsonrpc->getMethod() == 'network::stopNgrok') {
     config::save('market::allowDNS', 0);
     network::dns_stop();
     $jsonrpc->makeSuccess();
 }
 if ($jsonrpc->getMethod() == 'network::ngrokRun') {
     if (!isset($params['proto'])) {
         $params['proto'] = 'https';
     }
     if (!isset($params['port'])) {
         $params['port'] = 80;
     }
     if (!isset($params['name'])) {
         $params['name'] = '';
     }
     $jsonrpc->makeSuccess(network::dns_run());
 }
 /*             * ************************************************************************ */