letsencrypt request
This commit is contained in:
13
Dockerfile
13
Dockerfile
@@ -71,15 +71,10 @@ RUN apk --no-cache add php${PHP_VERSION} \
|
||||
COPY nginx.conf /etc/nginx/nginx.conf
|
||||
|
||||
RUN mkdir -p /usr/share/nginx/html
|
||||
COPY index.html /usr/share/nginx/html
|
||||
COPY scan.html /usr/share/nginx/html
|
||||
COPY manage.html /usr/share/nginx/html
|
||||
COPY scan.php /usr/share/nginx/html
|
||||
COPY letsencrypt_log.php /usr/share/nginx/html
|
||||
COPY functions.php /usr/share/nginx/html
|
||||
COPY install.html /usr/share/nginx/html
|
||||
COPY install.php /usr/share/nginx/html
|
||||
COPY installer.css /usr/share/nginx/html
|
||||
COPY *.html /usr/share/nginx/html
|
||||
COPY *.php /usr/share/nginx/html
|
||||
COPY *.css /usr/share/nginx/html
|
||||
COPY *.js /usr/share/nginx/html
|
||||
RUN chown -R nginx:nginx /usr/share/nginx/html
|
||||
|
||||
RUN mkdir -p /usr/share/nginx/html/shared
|
||||
|
22
common.js
22
common.js
@@ -258,6 +258,28 @@ function confirm_uninstall(additional) {
|
||||
});
|
||||
}
|
||||
|
||||
function request_letsencrypt(domain) {
|
||||
var url = 'scan.php?op=letsencrypt&domain='+domain;
|
||||
jQuery.get(url, function(data) {
|
||||
console.log('letsencrypt '+domain);
|
||||
if (data!="") {
|
||||
jQuery("#letsencrypt").html(data);
|
||||
}
|
||||
setTimeout(check_letsencrypt, 2000, domain);
|
||||
});
|
||||
}
|
||||
|
||||
function check_letsencrypt(domain) {
|
||||
var url = 'scan.php?op=check_letsencrypt&domain='+domain;
|
||||
jQuery.get(url, function(data) {
|
||||
console.log('check_letsencrypt '+domain);
|
||||
if (data!="") {
|
||||
jQuery("#letsencrypt").html(data);
|
||||
}
|
||||
//setTimeout(check_letsencrypt, 1500, domain);
|
||||
});
|
||||
}
|
||||
|
||||
function check_deployment(additional) {
|
||||
var url = 'scan.php?op=check_deployment&additional='+additional;
|
||||
jQuery.get(url, function(data) {
|
||||
|
@@ -305,6 +305,18 @@ function check_files($dir,$key) {
|
||||
return $result;
|
||||
}
|
||||
|
||||
function show_letsencrypt($letsencrypt, $domain) {
|
||||
if (!empty($letsencrypt[$domain])) {
|
||||
echo "LETSENCRYPT: ".$letsencrypt[$domain]["status"]." - ".$letsencrypt[$domain]["date"];
|
||||
echo " - <a href=\"letsencrypt_log.php?domain={$domain}\" target=\"_blank\">LOG</a>";
|
||||
if (date("Y-m-d",time()-60*24*3600)>substr($letsencrypt[$domain]["date"],0,10) || $letsencrypt[$domain]["status"]=="failed") {
|
||||
echo " - <a href=\"#\" onclick=\"request_letsencrypt('{$domain}')\">Request new certificate</a>";
|
||||
}
|
||||
echo "<br><br>";
|
||||
}
|
||||
else echo "LETSENCRYPT in progress for {$domain}.<script>check_letsencrypt('{$domain}')</script>";
|
||||
}
|
||||
|
||||
function check_letsencrypt() {
|
||||
|
||||
global $SHARED_DIR;
|
||||
@@ -314,8 +326,7 @@ function check_letsencrypt() {
|
||||
$json_data = file_get_contents($input_file);
|
||||
$data = json_decode($json_data,true);
|
||||
if ($data === null) {
|
||||
echo "JSON read error...";
|
||||
// TODO json error
|
||||
return "ERROR";
|
||||
}
|
||||
else {
|
||||
foreach ($data as $domain => $domain_data) {
|
||||
|
@@ -562,6 +562,6 @@
|
||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.6/dist/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.2.1/dist/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
|
||||
<script src="common.js?t=3"></script>
|
||||
<script src="common.js?t=4"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
34
scan.php
34
scan.php
@@ -179,22 +179,21 @@ switch ($_GET["op"]) {
|
||||
if ($data["STATUS"]=="0") { // ask
|
||||
$template = json_decode(base64_decode($data["TEMPLATE"]));
|
||||
echo "<fieldset><form action=\"#\" method=\"post\" id=\"deploy_{$template->name}_form\"><br>";
|
||||
echo '<div id="letsencrypt">';
|
||||
if ($reinstall) {
|
||||
//var_dump($template);
|
||||
//var_dump($template);
|
||||
$letsencrypt = check_letsencrypt();
|
||||
if (empty($letsencrypt)) echo "LETSENCRYPT in progress...";
|
||||
if (empty($letsencrypt)) echo "LETSENCRYPT file doesn't exists...";
|
||||
elseif ($letsencrypt=="ERROR") echo "LETSENCRYPT file: read JSON error...";
|
||||
else {
|
||||
$domain = "";
|
||||
foreach ($template->fields as $field) {
|
||||
if ($field->key=="DOMAIN") {
|
||||
if (!empty($letsencrypt[$field->value])) {
|
||||
echo "LETSENCRYPT: ".$letsencrypt[$field->value]["status"]." - ".$letsencrypt[$field->value]["date"];
|
||||
echo " - <a href=\"letsencrypt_log.php?domain={$field->value}\" target=\"_blank\">LOG</a><br><br>";
|
||||
}
|
||||
else echo "LETSENCRYPT in progress for {$field->value}.";
|
||||
}
|
||||
if ($field->key=="DOMAIN") $domain = $field->value;
|
||||
}
|
||||
if (!empty($domain)) show_letsencrypt($letsencrypt, $domain);
|
||||
}
|
||||
}
|
||||
echo '</div>';
|
||||
foreach ($template->fields as $field) {
|
||||
if (isset($field->generated)) {
|
||||
echo "<input type=\"hidden\" value=\"generated:{$field->generated}\" name=\"{$field->key}\" id=\"{$template->name}_{$field->key}\" class=\"additional_{$template->name}\">";
|
||||
@@ -264,6 +263,23 @@ switch ($_GET["op"]) {
|
||||
else echo ""; // no deployment, finished
|
||||
}
|
||||
break;
|
||||
case "letsencrypt":
|
||||
$domain = $_GET["domain"];
|
||||
$arr = array($domain => array("status" => "requested"));
|
||||
$json = json_encode($arr, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||
|
||||
if (set_output("letsencrypt2",$json)) echo "LETSENCRYPT in progress for {$domain}.<br><br>";
|
||||
else echo "ERROR";
|
||||
break;
|
||||
case "check_letsencrypt":
|
||||
$domain = $_GET["domain"];
|
||||
$letsencrypt = check_letsencrypt();
|
||||
if (empty($letsencrypt)) echo "LETSENCRYPT file doesn't exists...";
|
||||
elseif ($letsencrypt=="ERROR") echo "LETSENCRYPT file: read JSON error...";
|
||||
else {
|
||||
show_letsencrypt($letsencrypt, $domain);
|
||||
}
|
||||
break;
|
||||
case "redeploy":
|
||||
case "deploy":
|
||||
if ($key=check_deploy($_GET["additional"])) {
|
||||
|
Reference in New Issue
Block a user