Преглед на файлове

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 преди 4 години
родител
ревизия
d636502eaa
променени са 2 файла, в които са добавени 14 реда и са изтрити 1 реда
  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',
+	},
 };