Ver Fonte

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 há 4 anos atrás
pai
commit
d636502eaa
2 ficheiros alterados com 14 adições e 1 exclusões
  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',
+	},
 };