Explorar el Código

Add DuckDNS certbot plugin

Uses https://github.com/infinityofspace/certbot_dns_duckdns certbot plugin to implement DuckDNS DNS challenge in order to obtain Wildcard certificates.

Requires that the user inserts his duckDNS token in "Credentials File Content" input box.
Héctor Pelayo hace 4 años
padre
commit
d636502eaa
Se han modificado 2 ficheros con 14 adiciones y 1 borrados
  1. 5 1
      backend/internal/certificate.js
  2. 9 0
      global/certbot-dns-plugins.js

+ 5 - 1
backend/internal/certificate.js

@@ -808,7 +808,7 @@ const internalCertificate = {
 		const prepare_cmd     = 'pip3 install ' + dns_plugin.package_name + '==' + dns_plugin.package_version + ' ' + dns_plugin.dependencies;
 
 		// Whether the plugin has a --<name>-credentials argument
-		const has_config_arg = certificate.meta.dns_provider !== 'route53';
+		const has_config_arg = certificate.meta.dns_provider !== 'route53' && certificate.meta.dns_provider !== 'duckdns';
 
 		let main_cmd = 
 			certbot_command + ' certonly --non-interactive ' +
@@ -834,6 +834,10 @@ const internalCertificate = {
 			main_cmd = 'AWS_CONFIG_FILE=\'' + credentials_loc + '\' ' + main_cmd;
 		}
 
+		if (certificate.meta.dns_provider === 'duckdns') {
+			main_cmd = main_cmd + ' --' + dns_plugin.full_plugin_name + '-token ' + certificate.meta.dns_provider_credentials;
+		}
+
 		if (debug_mode) {
 			logger.info('Command:', `${credentials_cmd} && ${prepare_cmd} && ${main_cmd}`);
 		}

+ 9 - 0
global/certbot-dns-plugins.js

@@ -322,4 +322,13 @@ certbot_dns_transip:dns_transip_key_file = /etc/letsencrypt/transip-rsa.key`,
 certbot_dns_acmedns:dns_acmedns_registration_file = /data/acme-registration.json`,
 		full_plugin_name: 'certbot-dns-acmedns:dns-acmedns',
 	},
+	//####################################################//
+	duckdns: {
+		display_name:    'DuckDNS',
+		package_name:    'certbot-dns-duckdns',
+		package_version: '0.5',
+		dependencies:    '',
+		credentials:     `<DUCKDNS_TOKEN>`,
+		full_plugin_name: 'certbot-dns-duckdns:dns-duckdns',
+	},
 };