diff --git a/dist/cert.hook.js b/dist/cert.hook.js index da92a1f..067c324 100755 --- a/dist/cert.hook.js +++ b/dist/cert.hook.js @@ -4,7 +4,7 @@ require("typings-global"); var plugins = require("./cert.plugins"); var paths = require("./cert.paths"); var smartcli = new plugins.smartcli.Smartcli(); -var config = plugins.smartfile.local.toObjectSync(paths.config); +var config = plugins.smartfile.fs.toObjectSync(paths.config); var cflare = new plugins.cflare.CflareAccount(); cflare.auth({ email: config.cfEmail, @@ -12,7 +12,10 @@ cflare.auth({ }); var setChallenge = function (domainNameArg, challengeArg) { var done = plugins.q.defer(); + plugins.beautylog.log("setting challenge for " + domainNameArg); cflare.createRecord(prefixName(domainNameArg), "TXT", challengeArg).then(function () { + plugins.beautylog.ok("Challenge has been set!"); + plugins.beautylog.info("We need to cool down to let DNS propagate to edge locations!"); cooldown().then(function () { done.resolve(); }); @@ -21,15 +24,29 @@ var setChallenge = function (domainNameArg, challengeArg) { }; var cleanChallenge = function (domainNameArg) { var done = plugins.q.defer(); + plugins.beautylog.log("cleaning challenge for " + domainNameArg); cflare.removeRecord(prefixName(domainNameArg), "TXT"); return done.promise; }; var cooldown = function () { var done = plugins.q.defer(); - console.log("Cooling down!"); - setTimeout(function () { - done.resolve(); - }, 20000); + var cooldowntime = 40000; + var passedTime = 0; + plugins.beautylog.log("Cooling down! " + (cooldowntime / 1000).toString() + " seconds left"); + var coolDownCounter = function () { + setTimeout(function () { + if (cooldowntime <= passedTime) { + plugins.beautylog.ok("Cooled down!"); + done.resolve(); + } + else { + passedTime = passedTime + 5000; + plugins.beautylog.log("Cooling down! " + ((cooldowntime - passedTime) / 1000).toString() + " seconds left"); + coolDownCounter(); + } + }, 5000); + }; + coolDownCounter(); return done.promise; }; var prefixName = function (domainNameArg) { @@ -47,4 +64,4 @@ smartcli.addCommand({ }); smartcli.startParse(); -//# sourceMappingURL=data:application/json;charset=utf8;base64,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ZSBzaGViYW5nIGxpbmUgYWJvdmUgbWFrZXMgc3VyZSB0aGlzIHNjcmlwdCB3aWxsIGdldCBpbnRlcnByZXRlZCBieSBub2RlXG5cbmltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL2NlcnQucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgcGF0aHMgZnJvbSBcIi4vY2VydC5wYXRoc1wiO1xuXG5sZXQgc21hcnRjbGkgPSBuZXcgcGx1Z2lucy5zbWFydGNsaS5TbWFydGNsaSgpO1xuXG5sZXQgY29uZmlnID0gcGx1Z2lucy5zbWFydGZpbGUubG9jYWwudG9PYmplY3RTeW5jKHBhdGhzLmNvbmZpZyk7XG5sZXQgY2ZsYXJlID0gbmV3IHBsdWdpbnMuY2ZsYXJlLkNmbGFyZUFjY291bnQoKTtcbmNmbGFyZS5hdXRoKHtcbiAgICBlbWFpbDogY29uZmlnLmNmRW1haWwsXG4gICAga2V5OiBjb25maWcuY2ZLZXlcbn0pO1xuXG5sZXQgc2V0Q2hhbGxlbmdlID0gKGRvbWFpbk5hbWVBcmc6IHN0cmluZywgY2hhbGxlbmdlQXJnOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIGNmbGFyZS5jcmVhdGVSZWNvcmQocHJlZml4TmFtZShkb21haW5OYW1lQXJnKSwgXCJUWFRcIiwgY2hhbGxlbmdlQXJnKS50aGVuKCgpID0+IHtcbiAgICAgICAgY29vbGRvd24oKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgY2xlYW5DaGFsbGVuZ2UgPSAoZG9tYWluTmFtZUFyZykgPT4ge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgY2ZsYXJlLnJlbW92ZVJlY29yZChwcmVmaXhOYW1lKGRvbWFpbk5hbWVBcmcpLCBcIlRYVFwiKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgY29vbGRvd24gPSAoKSA9PiB7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLnEuZGVmZXIoKTtcbiAgICBjb25zb2xlLmxvZyhcIkNvb2xpbmcgZG93biFcIik7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgIH0sIDIwMDAwKVxuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBwcmVmaXhOYW1lID0gKGRvbWFpbk5hbWVBcmc6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIFwiX2FjbWUtY2hhbGxlbmdlLlwiICsgZG9tYWluTmFtZUFyZztcbn1cblxuc21hcnRjbGkuYWRkQ29tbWFuZCh7XG4gICAgY29tbWFuZE5hbWU6IFwiZGVwbG95X2NoYWxsZW5nZVwiXG59KS50aGVuKChhcmd2KSA9PiB7XG4gICAgc2V0Q2hhbGxlbmdlKGFyZ3YuX1sxXSwgYXJndi5fWzNdKTtcbn0pO1xuXG5zbWFydGNsaS5hZGRDb21tYW5kKHtcbiAgICBjb21tYW5kTmFtZTogXCJjbGVhbl9jaGFsbGVuZ2VcIlxufSkudGhlbigoYXJndikgPT4ge1xuICAgIGNsZWFuQ2hhbGxlbmdlKGFyZ3YuX1sxXSk7XG59KTtcblxuc21hcnRjbGkuc3RhcnRQYXJzZSgpO1xuIl19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,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RyxVQUFVLENBQUMsR0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQztnQkFDMUcsZUFBZSxFQUFFLENBQUM7WUFDdEIsQ0FBQztRQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUMsQ0FBQTtJQUNELGVBQWUsRUFBRSxDQUFDO0lBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0FBQ3hCLENBQUMsQ0FBQTtBQUVELElBQUksVUFBVSxHQUFHLFVBQUMsYUFBcUI7SUFDbkMsTUFBTSxDQUFDLGtCQUFrQixHQUFHLGFBQWEsQ0FBQztBQUM5QyxDQUFDLENBQUE7QUFFRCxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxrQkFBa0I7Q0FDbEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQUk7SUFDVCxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkMsQ0FBQyxDQUFDLENBQUM7QUFFSCxRQUFRLENBQUMsVUFBVSxDQUFDO0lBQ2hCLFdBQVcsRUFBRSxpQkFBaUI7Q0FDakMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFDLElBQUk7SUFDVCxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDO0FBRUgsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDIiwiZmlsZSI6ImNlcnQuaG9vay5qcyIsInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbi8vIHRoZSBzaGViYW5nIGxpbmUgYWJvdmUgbWFrZXMgc3VyZSB0aGlzIHNjcmlwdCB3aWxsIGdldCBpbnRlcnByZXRlZCBieSBub2RlXG5cbmltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL2NlcnQucGx1Z2luc1wiO1xuaW1wb3J0ICogYXMgcGF0aHMgZnJvbSBcIi4vY2VydC5wYXRoc1wiO1xuXG5sZXQgc21hcnRjbGkgPSBuZXcgcGx1Z2lucy5zbWFydGNsaS5TbWFydGNsaSgpO1xuXG5sZXQgY29uZmlnID0gcGx1Z2lucy5zbWFydGZpbGUuZnMudG9PYmplY3RTeW5jKHBhdGhzLmNvbmZpZyk7XG5sZXQgY2ZsYXJlID0gbmV3IHBsdWdpbnMuY2ZsYXJlLkNmbGFyZUFjY291bnQoKTtcbmNmbGFyZS5hdXRoKHtcbiAgICBlbWFpbDogY29uZmlnLmNmRW1haWwsXG4gICAga2V5OiBjb25maWcuY2ZLZXlcbn0pO1xuXG5sZXQgc2V0Q2hhbGxlbmdlID0gKGRvbWFpbk5hbWVBcmc6IHN0cmluZywgY2hhbGxlbmdlQXJnOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcInNldHRpbmcgY2hhbGxlbmdlIGZvciBcIiArIGRvbWFpbk5hbWVBcmcpO1xuICAgIGNmbGFyZS5jcmVhdGVSZWNvcmQocHJlZml4TmFtZShkb21haW5OYW1lQXJnKSwgXCJUWFRcIiwgY2hhbGxlbmdlQXJnKS50aGVuKCgpID0+IHtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cub2soXCJDaGFsbGVuZ2UgaGFzIGJlZW4gc2V0IVwiKTtcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuaW5mbyhcIldlIG5lZWQgdG8gY29vbCBkb3duIHRvIGxldCBETlMgcHJvcGFnYXRlIHRvIGVkZ2UgbG9jYXRpb25zIVwiKTtcbiAgICAgICAgY29vbGRvd24oKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufVxuXG5sZXQgY2xlYW5DaGFsbGVuZ2UgPSAoZG9tYWluTmFtZUFyZykgPT4ge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiY2xlYW5pbmcgY2hhbGxlbmdlIGZvciBcIiArIGRvbWFpbk5hbWVBcmcpO1xuICAgIGNmbGFyZS5yZW1vdmVSZWNvcmQocHJlZml4TmFtZShkb21haW5OYW1lQXJnKSwgXCJUWFRcIik7XG4gICAgcmV0dXJuIGRvbmUucHJvbWlzZTtcbn1cblxubGV0IGNvb2xkb3duID0gKCkgPT4ge1xuICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgbGV0IGNvb2xkb3dudGltZSA9IDQwMDAwO1xuICAgIGxldCBwYXNzZWRUaW1lID0gMDtcbiAgICBwbHVnaW5zLmJlYXV0eWxvZy5sb2coXCJDb29saW5nIGRvd24hIFwiICsgKGNvb2xkb3dudGltZS8xMDAwKS50b1N0cmluZygpICsgXCIgc2Vjb25kcyBsZWZ0XCIpO1xuICAgIGxldCBjb29sRG93bkNvdW50ZXIgPSAoKSA9PiB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYoY29vbGRvd250aW1lIDw9IHBhc3NlZFRpbWUpe1xuICAgICAgICAgICAgICAgIHBsdWdpbnMuYmVhdXR5bG9nLm9rKFwiQ29vbGVkIGRvd24hXCIpO1xuICAgICAgICAgICAgICAgIGRvbmUucmVzb2x2ZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXNzZWRUaW1lID0gcGFzc2VkVGltZSArIDUwMDA7XG4gICAgICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cubG9nKFwiQ29vbGluZyBkb3duISBcIiArICgoY29vbGRvd250aW1lIC0gcGFzc2VkVGltZSkvMTAwMCkudG9TdHJpbmcoKSArIFwiIHNlY29uZHMgbGVmdFwiKTtcbiAgICAgICAgICAgICAgICBjb29sRG93bkNvdW50ZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgNTAwMCk7XG4gICAgfVxuICAgIGNvb2xEb3duQ291bnRlcigpO1xuICAgIHJldHVybiBkb25lLnByb21pc2U7XG59XG5cbmxldCBwcmVmaXhOYW1lID0gKGRvbWFpbk5hbWVBcmc6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgcmV0dXJuIFwiX2FjbWUtY2hhbGxlbmdlLlwiICsgZG9tYWluTmFtZUFyZztcbn1cblxuc21hcnRjbGkuYWRkQ29tbWFuZCh7XG4gICAgY29tbWFuZE5hbWU6IFwiZGVwbG95X2NoYWxsZW5nZVwiXG59KS50aGVuKChhcmd2KSA9PiB7XG4gICAgc2V0Q2hhbGxlbmdlKGFyZ3YuX1sxXSwgYXJndi5fWzNdKTtcbn0pO1xuXG5zbWFydGNsaS5hZGRDb21tYW5kKHtcbiAgICBjb21tYW5kTmFtZTogXCJjbGVhbl9jaGFsbGVuZ2VcIlxufSkudGhlbigoYXJndikgPT4ge1xuICAgIGNsZWFuQ2hhbGxlbmdlKGFyZ3YuX1sxXSk7XG59KTtcblxuc21hcnRjbGkuc3RhcnRQYXJzZSgpO1xuIl19 diff --git a/dist/cert.paths.d.ts b/dist/cert.paths.d.ts index 74fab5a..1bac88c 100644 --- a/dist/cert.paths.d.ts +++ b/dist/cert.paths.d.ts @@ -2,4 +2,4 @@ import "typings-global"; export declare let certHook: string; export declare let config: string; export declare let letsencryptSh: string; -export declare let sslDir: string; +export declare let certDir: string; diff --git a/dist/cert.paths.js b/dist/cert.paths.js index f7f33ee..dbc72c2 100644 --- a/dist/cert.paths.js +++ b/dist/cert.paths.js @@ -4,6 +4,6 @@ var plugins = require("./cert.plugins"); exports.certHook = plugins.path.join(__dirname, "cert.hook.js"); exports.config = plugins.path.join(__dirname, "assets/config.json"); exports.letsencryptSh = plugins.path.join(__dirname, "assets/letsencrypt.sh"); -exports.sslDir = plugins.path.join(__dirname, "/assets/certs"); +exports.certDir = plugins.path.join(__dirname, "/assets/certs"); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNlcnQucGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxnQkFBZ0IsQ0FBQyxDQUFBO0FBRS9CLGdCQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZELGNBQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUMzRCxxQkFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3JFLGNBQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsZUFBZSxDQUFDLENBQUMiLCJmaWxlIjoiY2VydC5wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL2NlcnQucGx1Z2luc1wiO1xuXG5leHBvcnQgbGV0IGNlcnRIb29rID0gcGx1Z2lucy5wYXRoLmpvaW4oX19kaXJuYW1lLFwiY2VydC5ob29rLmpzXCIpO1xuZXhwb3J0IGxldCBjb25maWcgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCJhc3NldHMvY29uZmlnLmpzb25cIik7XG5leHBvcnQgbGV0IGxldHNlbmNyeXB0U2ggPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCJhc3NldHMvbGV0c2VuY3J5cHQuc2hcIik7XG5leHBvcnQgbGV0IHNzbERpciA9IHBsdWdpbnMucGF0aC5qb2luKF9fZGlybmFtZSxcIi9hc3NldHMvY2VydHNcIik7Il19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNlcnQucGF0aHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sZ0JBQWdCLENBQUMsQ0FBQTtBQUN4QixJQUFZLE9BQU8sV0FBTSxnQkFBZ0IsQ0FBQyxDQUFBO0FBRS9CLGdCQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3ZELGNBQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUMzRCxxQkFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3JFLGVBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsZUFBZSxDQUFDLENBQUMiLCJmaWxlIjoiY2VydC5wYXRocy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL2NlcnQucGx1Z2luc1wiO1xuXG5leHBvcnQgbGV0IGNlcnRIb29rID0gcGx1Z2lucy5wYXRoLmpvaW4oX19kaXJuYW1lLFwiY2VydC5ob29rLmpzXCIpO1xuZXhwb3J0IGxldCBjb25maWcgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCJhc3NldHMvY29uZmlnLmpzb25cIik7XG5leHBvcnQgbGV0IGxldHNlbmNyeXB0U2ggPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCJhc3NldHMvbGV0c2VuY3J5cHQuc2hcIik7XG5leHBvcnQgbGV0IGNlcnREaXIgPSBwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsXCIvYXNzZXRzL2NlcnRzXCIpOyJdfQ== diff --git a/dist/cert.plugins.d.ts b/dist/cert.plugins.d.ts index 0281066..0d0a381 100644 --- a/dist/cert.plugins.d.ts +++ b/dist/cert.plugins.d.ts @@ -7,4 +7,5 @@ export declare let q: any; export declare let shelljs: any; export import smartcli = require("smartcli"); export import smartfile = require("smartfile"); +export import smartgit = require("smartgit"); export import smartstring = require("smartstring"); diff --git a/dist/cert.plugins.js b/dist/cert.plugins.js index 9134de3..2cf18f5 100644 --- a/dist/cert.plugins.js +++ b/dist/cert.plugins.js @@ -8,6 +8,7 @@ exports.q = require("q"); exports.shelljs = require("shelljs"); exports.smartcli = require("smartcli"); exports.smartfile = require("smartfile"); +exports.smartgit = require("smartgit"); exports.smartstring = require("smartstring"); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNlcnQucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ1YsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxjQUFNLFdBQVcsUUFBUSxDQUFDLENBQUM7QUFDOUIsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QixZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxtQkFBVyxXQUFXLGFBQWEsQ0FBQyxDQUFDIiwiZmlsZSI6ImNlcnQucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInR5cGluZ3MtZ2xvYmFsXCI7XG5leHBvcnQgaW1wb3J0IGJlYXV0eWxvZyA9IHJlcXVpcmUoXCJiZWF1dHlsb2dcIik7XG5leHBvcnQgaW1wb3J0IGNmbGFyZSA9IHJlcXVpcmUoXCJjZmxhcmVcIik7XG5leHBvcnQgbGV0IGZzID0gcmVxdWlyZShcImZzLWV4dHJhXCIpO1xuZXhwb3J0IGltcG9ydCBwYXRoID0gcmVxdWlyZShcInBhdGhcIik7XG5leHBvcnQgbGV0IHEgPSByZXF1aXJlKFwicVwiKTtcbmV4cG9ydCBsZXQgc2hlbGxqcyA9IHJlcXVpcmUoXCJzaGVsbGpzXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGNsaSA9IHJlcXVpcmUoXCJzbWFydGNsaVwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRmaWxlID0gcmVxdWlyZShcInNtYXJ0ZmlsZVwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzdHJpbmcgPSByZXF1aXJlKFwic21hcnRzdHJpbmdcIik7XG5cbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNlcnQucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ1YsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxjQUFNLFdBQVcsUUFBUSxDQUFDLENBQUM7QUFDOUIsVUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUN0QixZQUFJLFdBQVcsTUFBTSxDQUFDLENBQUM7QUFDMUIsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixlQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzFCLGdCQUFRLFdBQVcsVUFBVSxDQUFDLENBQUM7QUFDL0IsaUJBQVMsV0FBVyxXQUFXLENBQUMsQ0FBQztBQUNqQyxnQkFBUSxXQUFXLFVBQVUsQ0FBQyxDQUFDO0FBQy9CLG1CQUFXLFdBQVcsYUFBYSxDQUFDLENBQUMiLCJmaWxlIjoiY2VydC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy1nbG9iYWxcIjtcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBpbXBvcnQgY2ZsYXJlID0gcmVxdWlyZShcImNmbGFyZVwiKTtcbmV4cG9ydCBsZXQgZnMgPSByZXF1aXJlKFwiZnMtZXh0cmFcIik7XG5leHBvcnQgaW1wb3J0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgcSA9IHJlcXVpcmUoXCJxXCIpO1xuZXhwb3J0IGxldCBzaGVsbGpzID0gcmVxdWlyZShcInNoZWxsanNcIik7XG5leHBvcnQgaW1wb3J0IHNtYXJ0Y2xpID0gcmVxdWlyZShcInNtYXJ0Y2xpXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGZpbGUgPSByZXF1aXJlKFwic21hcnRmaWxlXCIpO1xuZXhwb3J0IGltcG9ydCBzbWFydGdpdCA9IHJlcXVpcmUoXCJzbWFydGdpdFwiKTtcbmV4cG9ydCBpbXBvcnQgc21hcnRzdHJpbmcgPSByZXF1aXJlKFwic21hcnRzdHJpbmdcIik7XG5cbiJdfQ== diff --git a/dist/index.d.ts b/dist/index.d.ts index 69de404..30ff491 100644 --- a/dist/index.d.ts +++ b/dist/index.d.ts @@ -2,8 +2,8 @@ export declare class Cert { cfEmail: string; cfKey: string; sslDir: string; - certificatesPresent: any; - certificatesValid: any; + certificatesPresent: Certificate[]; + certificatesValid: Certificate[]; gitOriginRepo: any; constructor(optionsArg: { cfEmail: string; @@ -11,7 +11,9 @@ export declare class Cert { sslDir: string; gitOriginRepo?: string; }); - getDomainCert(domainNameArg: string): any; + getDomainCert(domainNameArg: string, optionsArg?: { + force: boolean; + }): any; } export declare class Certificate { domainName: string; diff --git a/dist/index.js b/dist/index.js index 30c1cb2..0e3d137 100644 --- a/dist/index.js +++ b/dist/index.js @@ -11,15 +11,25 @@ var Cert = (function () { cfEmail: this.cfEmail, cfKey: this.cfKey }; - plugins.smartfile.memory.toFsSync(JSON.stringify(config), { fileName: "config.json", filePath: plugins.path.join(__dirname, "assets/") }); + plugins.smartfile.memory.toFsSync(JSON.stringify(config), plugins.path.join(__dirname, "assets/config.json")); } ; - Cert.prototype.getDomainCert = function (domainNameArg) { + Cert.prototype.getDomainCert = function (domainNameArg, optionsArg) { var done = plugins.q.defer(); - plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh); - plugins.shelljs.exec("chmod 700 " + paths.certHook); - plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.sslDir + "\""); - done.resolve(); + if (!checkDomainStillValid(domainNameArg) || optionsArg.force) { + plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh); + plugins.shelljs.exec("chmod 700 " + paths.certHook); + plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.certDir + "\""); + var fetchedCertsArray = plugins.smartfile.fs.listFoldersSync(paths.certDir); + if (fetchedCertsArray.indexOf(domainNameArg) != -1) { + updateSslDir(domainNameArg); + } + done.resolve(); + } + else { + plugins.beautylog.info("certificate for " + domainNameArg + " is still valid! Not fetching new one!"); + done.resolve(); + } return done.promise; }; ; @@ -33,5 +43,12 @@ var Certificate = (function () { return Certificate; }()); exports.Certificate = Certificate; +var checkDomainStillValid = function (domainNameArg) { + return false; +}; +var updateSslDir = function (domainNameArg) { +}; +var updateGitOrigin = function () { +}; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFZLE9BQU8sV0FBTSxnQkFBZ0IsQ0FBQyxDQUFBO0FBQzFDLElBQVksS0FBSyxXQUFNLGNBQWMsQ0FBQyxDQUFBO0FBRXRDO0lBT0ksY0FBWSxVQUtYO1FBQ0csSUFBSSxDQUFDLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQzlDLElBQUksTUFBTSxHQUFHO1lBQ1QsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNwQixDQUFBO1FBQ0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUMsRUFBQyxRQUFRLEVBQUMsYUFBYSxFQUFDLFFBQVEsRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUMsU0FBUyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZJLENBQUM7O0lBQ0QsNEJBQWEsR0FBYixVQUFjLGFBQW9CO1FBQzlCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6RCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsYUFBYSxHQUFHLFNBQVMsR0FBRyxhQUFhLEdBQUcsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLEdBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN2SixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDOztJQUNMLFdBQUM7QUFBRCxDQS9CQSxBQStCQyxJQUFBO0FBL0JZLFlBQUksT0ErQmhCLENBQUE7QUFFRDtJQUlJO0lBRUEsQ0FBQzs7SUFDTCxrQkFBQztBQUFELENBUEEsQUFPQyxJQUFBO0FBUFksbUJBQVcsY0FPdkIsQ0FBQSIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vY2VydC5wbHVnaW5zXCI7XG5pbXBvcnQgKiBhcyBwYXRocyBmcm9tIFwiLi9jZXJ0LnBhdGhzXCI7XG5cbmV4cG9ydCBjbGFzcyBDZXJ0IHtcbiAgICBjZkVtYWlsOnN0cmluZztcbiAgICBjZktleTpzdHJpbmc7XG4gICAgc3NsRGlyOnN0cmluZztcbiAgICBjZXJ0aWZpY2F0ZXNQcmVzZW50O1xuICAgIGNlcnRpZmljYXRlc1ZhbGlkO1xuICAgIGdpdE9yaWdpblJlcG87XG4gICAgY29uc3RydWN0b3Iob3B0aW9uc0FyZzp7XG4gICAgICAgIGNmRW1haWw6c3RyaW5nLFxuICAgICAgICBjZktleTpzdHJpbmcsXG4gICAgICAgIHNzbERpcjpzdHJpbmcsXG4gICAgICAgIGdpdE9yaWdpblJlcG8/OnN0cmluZ1xuICAgIH0pe1xuICAgICAgICB0aGlzLmNmRW1haWwgPSBvcHRpb25zQXJnLmNmRW1haWw7XG4gICAgICAgIHRoaXMuY2ZLZXkgPSBvcHRpb25zQXJnLmNmS2V5O1xuICAgICAgICB0aGlzLnNzbERpciA9IG9wdGlvbnNBcmcuc3NsRGlyO1xuICAgICAgICB0aGlzLmdpdE9yaWdpblJlcG8gPSBvcHRpb25zQXJnLmdpdE9yaWdpblJlcG87XG4gICAgICAgIGxldCBjb25maWcgPSB7XG4gICAgICAgICAgICBjZkVtYWlsOiB0aGlzLmNmRW1haWwsXG4gICAgICAgICAgICBjZktleTogdGhpcy5jZktleVxuICAgICAgICB9XG4gICAgICAgIHBsdWdpbnMuc21hcnRmaWxlLm1lbW9yeS50b0ZzU3luYyhKU09OLnN0cmluZ2lmeShjb25maWcpLHtmaWxlTmFtZTpcImNvbmZpZy5qc29uXCIsZmlsZVBhdGg6cGx1Z2lucy5wYXRoLmpvaW4oX19kaXJuYW1lLFwiYXNzZXRzL1wiKX0pO1xuICAgIH07XG4gICAgZ2V0RG9tYWluQ2VydChkb21haW5OYW1lQXJnOnN0cmluZyl7XG4gICAgICAgIGxldCBkb25lID0gcGx1Z2lucy5xLmRlZmVyKCk7XG4gICAgICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiY2htb2QgNzAwIFwiICsgcGF0aHMubGV0c2VuY3J5cHRTaCk7XG4gICAgICAgIHBsdWdpbnMuc2hlbGxqcy5leGVjKFwiY2htb2QgNzAwIFwiICsgcGF0aHMuY2VydEhvb2spO1xuICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcImJhc2ggLWMgXFxcIlwiICsgcGF0aHMubGV0c2VuY3J5cHRTaCArIFwiIC1jIC1kIFwiICsgZG9tYWluTmFtZUFyZyArIFwiIC10IGRucy0wMSAtayBcIiArIHBhdGhzLmNlcnRIb29rICsgXCIgLW8gXCIrIHBhdGhzLnNzbERpciArIFwiXFxcIlwiKTtcbiAgICAgICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgICAgIHJldHVybiBkb25lLnByb21pc2U7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIENlcnRpZmljYXRlIHtcbiAgICBkb21haW5OYW1lOnN0cmluZztcbiAgICBjcmVhdGlvbkRhdGU6RGF0ZTtcbiAgICBleHBpcnlEYXRlOkRhdGU7XG4gICAgY29uc3RydWN0b3IoKXtcblxuICAgIH07XG59Il19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,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bmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBsdWdpbnMgZnJvbSBcIi4vY2VydC5wbHVnaW5zXCI7XG5pbXBvcnQgKiBhcyBwYXRocyBmcm9tIFwiLi9jZXJ0LnBhdGhzXCI7XG5cbmV4cG9ydCBjbGFzcyBDZXJ0IHtcbiAgICBjZkVtYWlsOiBzdHJpbmc7XG4gICAgY2ZLZXk6IHN0cmluZztcbiAgICBzc2xEaXI6IHN0cmluZztcbiAgICBjZXJ0aWZpY2F0ZXNQcmVzZW50OkNlcnRpZmljYXRlW107XG4gICAgY2VydGlmaWNhdGVzVmFsaWQ6Q2VydGlmaWNhdGVbXTtcbiAgICBnaXRPcmlnaW5SZXBvO1xuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnNBcmc6IHtcbiAgICAgICAgY2ZFbWFpbDogc3RyaW5nLFxuICAgICAgICBjZktleTogc3RyaW5nLFxuICAgICAgICBzc2xEaXI6IHN0cmluZyxcbiAgICAgICAgZ2l0T3JpZ2luUmVwbz86IHN0cmluZ1xuICAgIH0pIHtcbiAgICAgICAgdGhpcy5jZkVtYWlsID0gb3B0aW9uc0FyZy5jZkVtYWlsO1xuICAgICAgICB0aGlzLmNmS2V5ID0gb3B0aW9uc0FyZy5jZktleTtcbiAgICAgICAgdGhpcy5zc2xEaXIgPSBvcHRpb25zQXJnLnNzbERpcjtcbiAgICAgICAgdGhpcy5naXRPcmlnaW5SZXBvID0gb3B0aW9uc0FyZy5naXRPcmlnaW5SZXBvO1xuICAgICAgICBsZXQgY29uZmlnID0ge1xuICAgICAgICAgICAgY2ZFbWFpbDogdGhpcy5jZkVtYWlsLFxuICAgICAgICAgICAgY2ZLZXk6IHRoaXMuY2ZLZXlcbiAgICAgICAgfVxuICAgICAgICBwbHVnaW5zLnNtYXJ0ZmlsZS5tZW1vcnkudG9Gc1N5bmMoSlNPTi5zdHJpbmdpZnkoY29uZmlnKSxwbHVnaW5zLnBhdGguam9pbihfX2Rpcm5hbWUsIFwiYXNzZXRzL2NvbmZpZy5qc29uXCIpKTtcbiAgICB9O1xuICAgIGdldERvbWFpbkNlcnQoZG9tYWluTmFtZUFyZzogc3RyaW5nLG9wdGlvbnNBcmc/Ontmb3JjZTpib29sZWFufSkge1xuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMucS5kZWZlcigpO1xuICAgICAgICBpZiAoIWNoZWNrRG9tYWluU3RpbGxWYWxpZChkb21haW5OYW1lQXJnKSB8fCBvcHRpb25zQXJnLmZvcmNlKSB7XG4gICAgICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcImNobW9kIDcwMCBcIiArIHBhdGhzLmxldHNlbmNyeXB0U2gpO1xuICAgICAgICAgICAgcGx1Z2lucy5zaGVsbGpzLmV4ZWMoXCJjaG1vZCA3MDAgXCIgKyBwYXRocy5jZXJ0SG9vayk7XG4gICAgICAgICAgICBwbHVnaW5zLnNoZWxsanMuZXhlYyhcImJhc2ggLWMgXFxcIlwiICsgcGF0aHMubGV0c2VuY3J5cHRTaCArIFwiIC1jIC1kIFwiICsgZG9tYWluTmFtZUFyZyArIFwiIC10IGRucy0wMSAtayBcIiArIHBhdGhzLmNlcnRIb29rICsgXCIgLW8gXCIgKyBwYXRocy5jZXJ0RGlyICsgXCJcXFwiXCIpO1xuICAgICAgICAgICAgbGV0IGZldGNoZWRDZXJ0c0FycmF5OnN0cmluZ1tdID0gcGx1Z2lucy5zbWFydGZpbGUuZnMubGlzdEZvbGRlcnNTeW5jKHBhdGhzLmNlcnREaXIpO1xuICAgICAgICAgICAgaWYoZmV0Y2hlZENlcnRzQXJyYXkuaW5kZXhPZihkb21haW5OYW1lQXJnKSAhPSAtMSl7XG4gICAgICAgICAgICAgICAgdXBkYXRlU3NsRGlyKGRvbWFpbk5hbWVBcmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZG9uZS5yZXNvbHZlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5pbmZvKFwiY2VydGlmaWNhdGUgZm9yIFwiICsgZG9tYWluTmFtZUFyZyArIFwiIGlzIHN0aWxsIHZhbGlkISBOb3QgZmV0Y2hpbmcgbmV3IG9uZSFcIik7XG4gICAgICAgICAgICBkb25lLnJlc29sdmUoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xuICAgIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDZXJ0aWZpY2F0ZSB7XG4gICAgZG9tYWluTmFtZTogc3RyaW5nO1xuICAgIGNyZWF0aW9uRGF0ZTogRGF0ZTtcbiAgICBleHBpcnlEYXRlOiBEYXRlO1xuICAgIGNvbnN0cnVjdG9yKCkge1xuXG4gICAgfTtcbn1cblxubGV0IGNoZWNrRG9tYWluU3RpbGxWYWxpZCA9IChkb21haW5OYW1lQXJnOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmxldCB1cGRhdGVTc2xEaXIgPSAoZG9tYWluTmFtZUFyZykgPT4ge1xuICAgIFxufVxuXG5sZXQgdXBkYXRlR2l0T3JpZ2luID0gKCkgPT4ge1xuXG59Il19 diff --git a/package.json b/package.json index e1e290d..d130cb3 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,13 @@ "homepage": "https://gitlab.com/pushrocks/cert#readme", "dependencies": { "beautylog": "^5.0.12", - "cflare": "0.0.7", + "cflare": "0.0.9", "fs-extra": "^0.30.0", "q": "^1.4.1", "shelljs": "^0.7.0", "smartcli": "^1.0.4", - "smartfile": "^3.0.10", - "smartgit": "0.0.10", + "smartfile": "^4.0.5", + "smartgit": "0.1.0", "smartstring": "^2.0.10", "typings-global": "^1.0.3" }, diff --git a/test/test.js b/test/test.js index a1377ef..f3a2b92 100644 --- a/test/test.js +++ b/test/test.js @@ -16,7 +16,7 @@ describe("cert", function () { }); }); describe("Cert", function () { - it("should create a new cert", function () { + it("should create a new Cert object from class", function () { testCert = new cert.Cert({ cfEmail: process.env.CF_EMAIL, cfKey: process.env.CF_KEY, @@ -26,11 +26,11 @@ describe("cert", function () { }); it("should get a valid certificate", function (done) { this.timeout(120000); - testCert.getDomainCert("sub2.bleu.de").then(function () { + testCert.getDomainCert("sub6.bleu.de").then(function () { done(); }); }); }); }); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixxQkFBbUIsTUFBTSxDQUFDLENBQUE7QUFFMUIsd0JBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFDN0MsSUFBWSxJQUFJLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFHdEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxXQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUVsRSxJQUFJLFFBQWtCLENBQUM7QUFFdkIsUUFBUSxDQUFDLE1BQU0sRUFBQztJQUNaLFFBQVEsQ0FBQyxTQUFTLEVBQUM7UUFDZixFQUFFLENBQUMsZ0NBQWdDLEVBQUMsVUFBUyxJQUFJO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsc0JBQVksRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFDRixRQUFRLENBQUMsTUFBTSxFQUFDO1FBQ1osRUFBRSxDQUFDLDBCQUEwQixFQUFDO1lBQzFCLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVE7Z0JBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ3pCLE1BQU0sRUFBRSxFQUFFO2FBQ2IsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBQyxVQUFTLElBQUk7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEMsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5pbXBvcnQgXCJzaG91bGRcIjtcbmltcG9ydCB7UWVudn0gZnJvbSBcInFlbnZcIjtcblxuaW1wb3J0IHtzdGFydEluc3RhbGx9IGZyb20gXCIuLi9kaXN0L2luc3RhbGxcIjtcbmltcG9ydCAqIGFzIGNlcnQgZnJvbSBcIi4uL2Rpc3QvaW5kZXhcIjtcblxuXG5sZXQgdGVzdFFlbnYgPSBuZXcgUWVudihwcm9jZXNzLmN3ZCgpLCBwcm9jZXNzLmN3ZCgpICsgXCIvLm5vZ2l0XCIpO1xuXG5sZXQgdGVzdENlcnQ6Y2VydC5DZXJ0O1xuXG5kZXNjcmliZShcImNlcnRcIixmdW5jdGlvbigpe1xuICAgIGRlc2NyaWJlKFwiaW5zdGFsbFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRvd25sb2FkIGxldHNlbmNyeXB0LnNoXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQoNTAwMCk7XG4gICAgICAgICAgICBzdGFydEluc3RhbGwoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH0pXG4gICAgZGVzY3JpYmUoXCJDZXJ0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgY3JlYXRlIGEgbmV3IGNlcnRcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdENlcnQgPSBuZXcgY2VydC5DZXJ0KHtcbiAgICAgICAgICAgICAgICBjZkVtYWlsOiBwcm9jZXNzLmVudi5DRl9FTUFJTCxcbiAgICAgICAgICAgICAgICBjZktleTogcHJvY2Vzcy5lbnYuQ0ZfS0VZLFxuICAgICAgICAgICAgICAgIHNzbERpcjogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZXN0Q2VydC5zaG91bGQuYmUuaW5zdGFuY2VvZihjZXJ0LkNlcnQpO1xuICAgICAgICB9KVxuICAgICAgICBpdChcInNob3VsZCBnZXQgYSB2YWxpZCBjZXJ0aWZpY2F0ZVwiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0KDEyMDAwMCk7XG4gICAgICAgICAgICB0ZXN0Q2VydC5nZXREb21haW5DZXJ0KFwic3ViMi5ibGV1LmRlXCIpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgIH0pXG59KTsiXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQU8sY0FBYyxDQUFDLENBQUE7QUFDdEIsUUFBTyxRQUFRLENBQUMsQ0FBQTtBQUNoQixxQkFBbUIsTUFBTSxDQUFDLENBQUE7QUFFMUIsd0JBQTJCLGlCQUFpQixDQUFDLENBQUE7QUFDN0MsSUFBWSxJQUFJLFdBQU0sZUFBZSxDQUFDLENBQUE7QUFHdEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxXQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUVsRSxJQUFJLFFBQWtCLENBQUM7QUFFdkIsUUFBUSxDQUFDLE1BQU0sRUFBQztJQUNaLFFBQVEsQ0FBQyxTQUFTLEVBQUM7UUFDZixFQUFFLENBQUMsZ0NBQWdDLEVBQUMsVUFBUyxJQUFJO1lBQzdDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkIsc0JBQVksRUFBRSxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7SUFDRixRQUFRLENBQUMsTUFBTSxFQUFDO1FBQ1osRUFBRSxDQUFDLDRDQUE0QyxFQUFDO1lBQzVDLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU8sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVE7Z0JBQzdCLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU07Z0JBQ3pCLE1BQU0sRUFBRSxFQUFFO2FBQ2IsQ0FBQyxDQUFDO1lBQ0gsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBQyxVQUFTLElBQUk7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQixRQUFRLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDeEMsSUFBSSxFQUFFLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQyxDQUFDLENBQUE7QUFDTixDQUFDLENBQUMsQ0FBQyIsImZpbGUiOiJ0ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwidHlwaW5ncy10ZXN0XCI7XG5pbXBvcnQgXCJzaG91bGRcIjtcbmltcG9ydCB7UWVudn0gZnJvbSBcInFlbnZcIjtcblxuaW1wb3J0IHtzdGFydEluc3RhbGx9IGZyb20gXCIuLi9kaXN0L2luc3RhbGxcIjtcbmltcG9ydCAqIGFzIGNlcnQgZnJvbSBcIi4uL2Rpc3QvaW5kZXhcIjtcblxuXG5sZXQgdGVzdFFlbnYgPSBuZXcgUWVudihwcm9jZXNzLmN3ZCgpLCBwcm9jZXNzLmN3ZCgpICsgXCIvLm5vZ2l0XCIpO1xuXG5sZXQgdGVzdENlcnQ6Y2VydC5DZXJ0O1xuXG5kZXNjcmliZShcImNlcnRcIixmdW5jdGlvbigpe1xuICAgIGRlc2NyaWJlKFwiaW5zdGFsbFwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGRvd25sb2FkIGxldHNlbmNyeXB0LnNoXCIsZnVuY3Rpb24oZG9uZSl7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQoNTAwMCk7XG4gICAgICAgICAgICBzdGFydEluc3RhbGwoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH0pXG4gICAgZGVzY3JpYmUoXCJDZXJ0XCIsZnVuY3Rpb24oKXtcbiAgICAgICAgaXQoXCJzaG91bGQgY3JlYXRlIGEgbmV3IENlcnQgb2JqZWN0IGZyb20gY2xhc3NcIixmdW5jdGlvbigpe1xuICAgICAgICAgICAgdGVzdENlcnQgPSBuZXcgY2VydC5DZXJ0KHtcbiAgICAgICAgICAgICAgICBjZkVtYWlsOiBwcm9jZXNzLmVudi5DRl9FTUFJTCxcbiAgICAgICAgICAgICAgICBjZktleTogcHJvY2Vzcy5lbnYuQ0ZfS0VZLFxuICAgICAgICAgICAgICAgIHNzbERpcjogXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZXN0Q2VydC5zaG91bGQuYmUuaW5zdGFuY2VvZihjZXJ0LkNlcnQpO1xuICAgICAgICB9KVxuICAgICAgICBpdChcInNob3VsZCBnZXQgYSB2YWxpZCBjZXJ0aWZpY2F0ZVwiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0KDEyMDAwMCk7XG4gICAgICAgICAgICB0ZXN0Q2VydC5nZXREb21haW5DZXJ0KFwic3ViNi5ibGV1LmRlXCIpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgIH0pXG59KTsiXX0= diff --git a/test/test.ts b/test/test.ts index a15eb62..6d1f93d 100644 --- a/test/test.ts +++ b/test/test.ts @@ -30,7 +30,7 @@ describe("cert",function(){ }) it("should get a valid certificate",function(done){ this.timeout(120000); - testCert.getDomainCert("sub3.bleu.de").then(() => { + testCert.getDomainCert("sub6.bleu.de").then(() => { done(); }); }) diff --git a/ts/cert.hook.ts b/ts/cert.hook.ts index d6b1056..c08cb8d 100644 --- a/ts/cert.hook.ts +++ b/ts/cert.hook.ts @@ -7,7 +7,7 @@ import * as paths from "./cert.paths"; let smartcli = new plugins.smartcli.Smartcli(); -let config = plugins.smartfile.local.toObjectSync(paths.config); +let config = plugins.smartfile.fs.toObjectSync(paths.config); let cflare = new plugins.cflare.CflareAccount(); cflare.auth({ email: config.cfEmail, @@ -16,7 +16,10 @@ cflare.auth({ let setChallenge = (domainNameArg: string, challengeArg: string) => { let done = plugins.q.defer(); + plugins.beautylog.log("setting challenge for " + domainNameArg); cflare.createRecord(prefixName(domainNameArg), "TXT", challengeArg).then(() => { + plugins.beautylog.ok("Challenge has been set!"); + plugins.beautylog.info("We need to cool down to let DNS propagate to edge locations!"); cooldown().then(() => { done.resolve(); }); @@ -26,16 +29,29 @@ let setChallenge = (domainNameArg: string, challengeArg: string) => { let cleanChallenge = (domainNameArg) => { let done = plugins.q.defer(); + plugins.beautylog.log("cleaning challenge for " + domainNameArg); cflare.removeRecord(prefixName(domainNameArg), "TXT"); return done.promise; } let cooldown = () => { let done = plugins.q.defer(); - console.log("Cooling down!"); - setTimeout(() => { - done.resolve(); - }, 20000) + let cooldowntime = 40000; + let passedTime = 0; + plugins.beautylog.log("Cooling down! " + (cooldowntime/1000).toString() + " seconds left"); + let coolDownCounter = () => { + setTimeout(() => { + if(cooldowntime <= passedTime){ + plugins.beautylog.ok("Cooled down!"); + done.resolve(); + } else { + passedTime = passedTime + 5000; + plugins.beautylog.log("Cooling down! " + ((cooldowntime - passedTime)/1000).toString() + " seconds left"); + coolDownCounter(); + } + }, 5000); + } + coolDownCounter(); return done.promise; } diff --git a/ts/cert.paths.ts b/ts/cert.paths.ts index 1f5ac2c..52c218d 100644 --- a/ts/cert.paths.ts +++ b/ts/cert.paths.ts @@ -4,4 +4,4 @@ import * as plugins from "./cert.plugins"; export let certHook = plugins.path.join(__dirname,"cert.hook.js"); export let config = plugins.path.join(__dirname,"assets/config.json"); export let letsencryptSh = plugins.path.join(__dirname,"assets/letsencrypt.sh"); -export let sslDir = plugins.path.join(__dirname,"/assets/certs"); \ No newline at end of file +export let certDir = plugins.path.join(__dirname,"/assets/certs"); \ No newline at end of file diff --git a/ts/index.ts b/ts/index.ts index 4ffd1c8..be687f6 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -22,14 +22,18 @@ export class Cert { cfEmail: this.cfEmail, cfKey: this.cfKey } - plugins.smartfile.memory.toFsSync(JSON.stringify(config), { fileName: "config.json", filePath: plugins.path.join(__dirname, "assets/") }); + plugins.smartfile.memory.toFsSync(JSON.stringify(config),plugins.path.join(__dirname, "assets/config.json")); }; - getDomainCert(domainNameArg: string,optionsArg:{force:boolean}) { + getDomainCert(domainNameArg: string,optionsArg?:{force:boolean}) { let done = plugins.q.defer(); if (!checkDomainStillValid(domainNameArg) || optionsArg.force) { plugins.shelljs.exec("chmod 700 " + paths.letsencryptSh); plugins.shelljs.exec("chmod 700 " + paths.certHook); - plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.sslDir + "\""); + plugins.shelljs.exec("bash -c \"" + paths.letsencryptSh + " -c -d " + domainNameArg + " -t dns-01 -k " + paths.certHook + " -o " + paths.certDir + "\""); + let fetchedCertsArray:string[] = plugins.smartfile.fs.listFoldersSync(paths.certDir); + if(fetchedCertsArray.indexOf(domainNameArg) != -1){ + updateSslDir(domainNameArg); + } done.resolve(); } else { plugins.beautylog.info("certificate for " + domainNameArg + " is still valid! Not fetching new one!"); @@ -39,7 +43,7 @@ export class Cert { }; } -class Certificate { +export class Certificate { domainName: string; creationDate: Date; expiryDate: Date; @@ -52,8 +56,8 @@ let checkDomainStillValid = (domainNameArg: string): boolean => { return false; } -let updateSslDir = () => { - +let updateSslDir = (domainNameArg) => { + } let updateGitOrigin = () => {