AJ ONeal
5 years ago
2 changed files with 91 additions and 49 deletions
@ -0,0 +1,47 @@ |
|||
var DIR = module.exports; |
|||
|
|||
// This will ALWAYS print out a notice if the URL is clearly a staging URL
|
|||
DIR._getDirectoryUrl = function(dirUrl) { |
|||
var liveUrl = 'https://acme-v02.api.letsencrypt.org/directory'; |
|||
dirUrl = DIR._getDefaultDirectoryUrl(dirUrl); |
|||
if (!dirUrl) { |
|||
dirUrl = liveUrl; |
|||
// This will print out a notice (just once) if no directoryUrl has been supplied
|
|||
if (!DIR._shownDirectoryUrl) { |
|||
DIR._shownDirectoryUrl = true; |
|||
console.info('ACME Directory URL:', dirUrl); |
|||
} |
|||
} |
|||
return dirUrl; |
|||
}; |
|||
|
|||
// Handle staging URLs, pebble test server, etc
|
|||
DIR._getDefaultDirectoryUrl = function(dirUrl, staging) { |
|||
var stagingUrl = 'https://acme-staging-v02.api.letsencrypt.org/directory'; |
|||
var stagingRe = /(^http:|staging|^127\.0\.|^::|localhost)/; |
|||
var env = ''; |
|||
var args = []; |
|||
if ('undefined' !== typeof process) { |
|||
env = (process.env && process.env.ENV) || ''; |
|||
args = (process.argv && process.argv.slice(1)) || []; |
|||
} |
|||
|
|||
if ( |
|||
staging || |
|||
stagingRe.test(dirUrl) || |
|||
args.includes('--staging') || |
|||
/DEV|STAG/i.test(env) |
|||
) { |
|||
if (!stagingRe.test(dirUrl)) { |
|||
dirUrl = stagingUrl; |
|||
} |
|||
console.info('[staging] ACME Staging Directory URL:', dirUrl, env); |
|||
console.warn(''); |
|||
console.warn('FAKE CERTIFICATES (for testing) only', env); |
|||
console.warn(''); |
|||
} |
|||
|
|||
return dirUrl; |
|||
}; |
|||
|
|||
DIR._shownDirectoryUrl = false; |
Loading…
Reference in new issue