66 lines
5.5 KiB
JavaScript
66 lines
5.5 KiB
JavaScript
#!/usr/bin/env node
|
|
"use strict";
|
|
require("typings-global");
|
|
var plugins = require("./cert.plugins");
|
|
var paths = require("./cert.paths");
|
|
var smartcli = new plugins.smartcli.Smartcli();
|
|
var config = plugins.smartfile.fs.toObjectSync(paths.config);
|
|
var cflare = new plugins.cflare.CflareAccount();
|
|
cflare.auth({
|
|
email: config.cfEmail,
|
|
key: config.cfKey
|
|
});
|
|
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();
|
|
});
|
|
});
|
|
return done.promise;
|
|
};
|
|
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();
|
|
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) {
|
|
return "_acme-challenge." + domainNameArg;
|
|
};
|
|
smartcli.addCommand({
|
|
commandName: "deploy_challenge"
|
|
}).then(function (argv) {
|
|
setChallenge(argv._[1], argv._[3]);
|
|
});
|
|
smartcli.addCommand({
|
|
commandName: "clean_challenge"
|
|
}).then(function (argv) {
|
|
cleanChallenge(argv._[1]);
|
|
});
|
|
smartcli.startParse();
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydC5ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvY2VydC5ob29rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsUUFBTyxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3hCLElBQVksT0FBTyxXQUFNLGdCQUFnQixDQUFDLENBQUE7QUFDMUMsSUFBWSxLQUFLLFdBQU0sY0FBYyxDQUFDLENBQUE7QUFFdEMsSUFBSSxRQUFRLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBRS9DLElBQUksTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0QsSUFBSSxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDUixLQUFLLEVBQUUsTUFBTSxDQUFDLE9BQU87SUFDckIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxLQUFLO0NBQ3BCLENBQUMsQ0FBQztBQUVILElBQUksWUFBWSxHQUFHLFVBQUMsYUFBcUIsRUFBRSxZQUFvQjtJQUMzRCxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHdCQUF3QixHQUFHLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDckUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQ3ZGLFFBQVEsRUFBRSxDQUFDLElBQUks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
|