$v) if (!isset($config->{$k})) $config->{$k} = $v; foreach($options as $k => $v) if ($k !== 'c') $config->{$k} = $v; $config->secret = strtr($config->secret, [' ' => '']); if (!preg_match('/^[A-Z2-7]+$/i', $config->secret)) die("Base32 encoded secret required\n"); $totp = new TOTP(null, $config->secret, $config->period, $config->digest, $config->digits); while(true) { echo "Czas serwera: "; $now = new DateTime(); echo $now->format('Y-m-d H:i:s'); echo "\n"; echo "Podaj kod:\n"; $code = readline(); $verify_result = $totp->verify($code, null, $config->window); sleep($config->delay); if ($verify_result) { break; } else { echo "Zły kod\n"; echo "Spróbuj ponownie\n"; } } fclose($lockfile); $cmd = getenv('SSH_ORIGINAL_COMMAND'); if ($cmd !== FALSE) passthru($cmd); else passthru(getenv('SHELL').' -');