certbot-dns-plugins.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315
  1. /**
  2. * This file contains info about available Certbot DNS plugins.
  3. * This only works for plugins which use the standard argument structure, so:
  4. * --authenticator <plugin-name> --<plugin-name>-credentials <FILE> --<plugin-name>-propagation-seconds <number>
  5. *
  6. * File Structure:
  7. *
  8. * {
  9. * cloudflare: {
  10. * display_name: "Name displayed to the user",
  11. * package_name: "Package name in PyPi repo",
  12. * package_version: "Package version in PyPi repo",
  13. * dependencies: "Additional dependencies, space separated (as you would pass it to pip install)",
  14. * credentials: `Template of the credentials file`,
  15. * full_plugin_name: "The full plugin name as used in the commandline with certbot, including prefixes, e.g. 'certbot-dns-njalla:dns-njalla'",
  16. * },
  17. * ...
  18. * }
  19. *
  20. */
  21. module.exports = {
  22. aliyun: {
  23. display_name: 'Aliyun',
  24. package_name: 'certbot-dns-aliyun',
  25. package_version: '0.38.1',
  26. dependencies: '',
  27. credentials: `certbot_dns_aliyun:dns_aliyun_access_key = 12345678
  28. certbot_dns_aliyun:dns_aliyun_access_key_secret = 1234567890abcdef1234567890abcdef`,
  29. full_plugin_name: 'certbot-dns-aliyun:dns-aliyun',
  30. },
  31. //####################################################//
  32. cloudflare: {
  33. display_name: 'Cloudflare',
  34. package_name: 'certbot-dns-cloudflare',
  35. package_version: '1.8.0',
  36. dependencies: 'cloudflare',
  37. credentials: `# Cloudflare API token
  38. dns_cloudflare_api_token = 0123456789abcdef0123456789abcdef01234567`,
  39. full_plugin_name: 'dns-cloudflare',
  40. },
  41. //####################################################//
  42. cloudxns: {
  43. display_name: 'CloudXNS',
  44. package_name: 'certbot-dns-cloudxns',
  45. package_version: '1.8.0',
  46. dependencies: '',
  47. credentials: `dns_cloudxns_api_key = 1234567890abcdef1234567890abcdef
  48. dns_cloudxns_secret_key = 1122334455667788`,
  49. full_plugin_name: 'dns-cloudxns',
  50. },
  51. //####################################################//
  52. corenetworks: {
  53. display_name: 'Core Networks',
  54. package_name: 'certbot-dns-corenetworks',
  55. package_version: '0.1.4',
  56. dependencies: '',
  57. credentials: `certbot_dns_corenetworks:dns_corenetworks_username = asaHB12r
  58. certbot_dns_corenetworks:dns_corenetworks_password = secure_password`,
  59. full_plugin_name: 'certbot-dns-corenetworks:dns-corenetworks',
  60. },
  61. //####################################################//
  62. cpanel: {
  63. display_name: 'cPanel',
  64. package_name: 'certbot-dns-cpanel',
  65. package_version: '0.2.2',
  66. dependencies: '',
  67. credentials: `certbot_dns_cpanel:cpanel_url = https://cpanel.example.com:2083
  68. certbot_dns_cpanel:cpanel_username = user
  69. certbot_dns_cpanel:cpanel_password = hunter2`,
  70. full_plugin_name: 'certbot-dns-cpanel:cpanel',
  71. },
  72. //####################################################//
  73. digitalocean: {
  74. display_name: 'DigitalOcean',
  75. package_name: 'certbot-dns-digitalocean',
  76. package_version: '1.8.0',
  77. dependencies: '',
  78. credentials: 'dns_digitalocean_token = 0000111122223333444455556666777788889999aaaabbbbccccddddeeeeffff',
  79. full_plugin_name: 'dns-digitalocean',
  80. },
  81. //####################################################//
  82. directadmin: {
  83. display_name: 'DirectAdmin',
  84. package_name: 'certbot-dns-directadmin',
  85. package_version: '0.0.20',
  86. dependencies: '',
  87. credentials: `directadmin_url = https://my.directadminserver.com:2222
  88. directadmin_username = username
  89. directadmin_password = aSuperStrongPassword`,
  90. full_plugin_name: 'certbot-dns-directadmin:directadmin',
  91. },
  92. //####################################################//
  93. dnsimple: {
  94. display_name: 'DNSimple',
  95. package_name: 'certbot-dns-dnsimple',
  96. package_version: '1.8.0',
  97. dependencies: '',
  98. credentials: 'dns_dnsimple_token = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw',
  99. full_plugin_name: 'dns-dnsimple',
  100. },
  101. //####################################################//
  102. dnsmadeeasy: {
  103. display_name: 'DNS Made Easy',
  104. package_name: 'certbot-dns-dnsmadeeasy',
  105. package_version: '1.8.0',
  106. dependencies: '',
  107. credentials: `dns_dnsmadeeasy_api_key = 1c1a3c91-4770-4ce7-96f4-54c0eb0e457a
  108. dns_dnsmadeeasy_secret_key = c9b5625f-9834-4ff8-baba-4ed5f32cae55`,
  109. full_plugin_name: 'dns-dnsmadeeasy',
  110. },
  111. //####################################################//
  112. dnspod: {
  113. display_name: 'DNSPod',
  114. package_name: 'certbot-dns-dnspod',
  115. package_version: '0.1.0',
  116. dependencies: '',
  117. credentials: `certbot_dns_dnspod:dns_dnspod_email = "DNSPOD-API-REQUIRES-A-VALID-EMAIL"
  118. certbot_dns_dnspod:dns_dnspod_api_token = "DNSPOD-API-TOKEN"`,
  119. full_plugin_name: 'certbot-dns-dnspod:dns-dnspod',
  120. },
  121. //####################################################//
  122. gandi: {
  123. display_name: 'Gandi Live DNS',
  124. package_name: 'certbot_plugin_gandi',
  125. package_version: '1.2.5',
  126. dependencies: '',
  127. credentials: 'certbot_plugin_gandi:dns_api_key = APIKEY',
  128. full_plugin_name: 'certbot-plugin-gandi:dns',
  129. },
  130. //####################################################//
  131. google: {
  132. display_name: 'Google',
  133. package_name: 'certbot-dns-google',
  134. package_version: '1.8.0',
  135. dependencies: '',
  136. credentials: `{
  137. "type": "service_account",
  138. ...
  139. }`,
  140. full_plugin_name: 'dns-google',
  141. },
  142. //####################################################//
  143. hetzner: {
  144. display_name: 'Hetzner',
  145. package_name: 'certbot-dns-hetzner',
  146. package_version: '1.0.4',
  147. dependencies: '',
  148. credentials: 'certbot_dns_hetzner:dns_hetzner_api_token = 0123456789abcdef0123456789abcdef',
  149. full_plugin_name: 'certbot-dns-hetzner:dns-hetzner',
  150. },
  151. //####################################################//
  152. inwx: {
  153. display_name: 'INWX',
  154. package_name: 'certbot-dns-inwx',
  155. package_version: '2.1.2',
  156. dependencies: '',
  157. credentials: `certbot_dns_inwx:dns_inwx_url = https://api.domrobot.com/xmlrpc/
  158. certbot_dns_inwx:dns_inwx_username = your_username
  159. certbot_dns_inwx:dns_inwx_password = your_password
  160. certbot_dns_inwx:dns_inwx_shared_secret = your_shared_secret optional`,
  161. full_plugin_name: 'certbot-dns-inwx:dns-inwx',
  162. },
  163. //####################################################//
  164. ispconfig: {
  165. display_name: 'ISPConfig',
  166. package_name: 'certbot-dns-ispconfig',
  167. package_version: '0.2.0',
  168. dependencies: '',
  169. credentials: `certbot_dns_ispconfig:dns_ispconfig_username = myremoteuser
  170. certbot_dns_ispconfig:dns_ispconfig_password = verysecureremoteuserpassword
  171. certbot_dns_ispconfig:dns_ispconfig_endpoint = https://localhost:8080`,
  172. full_plugin_name: 'certbot-dns-ispconfig:dns-ispconfig',
  173. },
  174. //####################################################//
  175. isset: {
  176. display_name: 'Isset',
  177. package_name: 'certbot-dns-isset',
  178. package_version: '0.0.3',
  179. dependencies: '',
  180. credentials: `certbot_dns_isset:dns_isset_endpoint="https://customer.isset.net/api"
  181. certbot_dns_isset:dns_isset_token="<token>"`,
  182. full_plugin_name: 'certbot-dns-isset:dns-isset',
  183. },
  184. //####################################################//
  185. linode: {
  186. display_name: 'Linode',
  187. package_name: 'certbot-dns-linode',
  188. package_version: '1.8.0',
  189. dependencies: '',
  190. credentials: `dns_linode_key = 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ64
  191. dns_linode_version = [<blank>|3|4]`,
  192. full_plugin_name: 'dns-linode',
  193. },
  194. //####################################################//
  195. luadns: {
  196. display_name: 'LuaDNS',
  197. package_name: 'certbot-dns-luadns',
  198. package_version: '1.8.0',
  199. dependencies: '',
  200. credentials: `dns_luadns_email = [email protected]
  201. dns_luadns_token = 0123456789abcdef0123456789abcdef`,
  202. full_plugin_name: 'dns-luadns',
  203. },
  204. //####################################################//
  205. netcup: {
  206. display_name: 'netcup',
  207. package_name: 'certbot-dns-netcup',
  208. package_version: '1.0.0',
  209. dependencies: '',
  210. credentials: `dns_netcup_customer_id = 123456
  211. dns_netcup_api_key = 0123456789abcdef0123456789abcdef01234567
  212. dns_netcup_api_password = abcdef0123456789abcdef01234567abcdef0123`,
  213. full_plugin_name: 'certbot-dns-netcup:dns-netcup',
  214. },
  215. //####################################################//
  216. njalla: {
  217. display_name: 'Njalla',
  218. package_name: 'certbot-dns-njalla',
  219. package_version: '1.0.0',
  220. dependencies: '',
  221. credentials: 'certbot_dns_njalla:dns_njalla_token = 0123456789abcdef0123456789abcdef01234567',
  222. full_plugin_name: 'certbot-dns-njalla:dns-njalla',
  223. },
  224. //####################################################//
  225. nsone: {
  226. display_name: 'NS1',
  227. package_name: 'certbot-dns-nsone',
  228. package_version: '1.8.0',
  229. dependencies: '',
  230. credentials: 'dns_nsone_api_key = MDAwMDAwMDAwMDAwMDAw',
  231. full_plugin_name: 'dns-nsone',
  232. },
  233. //####################################################//
  234. ovh: {
  235. display_name: 'OVH',
  236. package_name: 'certbot-dns-ovh',
  237. package_version: '1.8.0',
  238. dependencies: '',
  239. credentials: `dns_ovh_endpoint = ovh-eu
  240. dns_ovh_application_key = MDAwMDAwMDAwMDAw
  241. dns_ovh_application_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
  242. dns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw`,
  243. full_plugin_name: 'dns-ovh',
  244. },
  245. //####################################################//
  246. powerdns: {
  247. display_name: 'PowerDNS',
  248. package_name: 'certbot-dns-powerdns',
  249. package_version: '0.2.0',
  250. dependencies: '',
  251. credentials: `certbot_dns_powerdns:dns_powerdns_api_url = https://api.mypowerdns.example.org
  252. certbot_dns_powerdns:dns_powerdns_api_key = AbCbASsd!@34`,
  253. full_plugin_name: 'certbot-dns-powerdns:dns-powerdns',
  254. },
  255. //####################################################//
  256. rfc2136: {
  257. display_name: 'RFC 2136',
  258. package_name: 'certbot-dns-rfc2136',
  259. package_version: '1.8.0',
  260. dependencies: '',
  261. credentials: `# Target DNS server
  262. dns_rfc2136_server = 192.0.2.1
  263. # Target DNS port
  264. dns_rfc2136_port = 53
  265. # TSIG key name
  266. dns_rfc2136_name = keyname.
  267. # TSIG key secret
  268. dns_rfc2136_secret = 4q4wM/2I180UXoMyN4INVhJNi8V9BCV+jMw2mXgZw/CSuxUT8C7NKKFs AmKd7ak51vWKgSl12ib86oQRPkpDjg==
  269. # TSIG key algorithm
  270. dns_rfc2136_algorithm = HMAC-SHA512`,
  271. full_plugin_name: 'dns-rfc2136',
  272. },
  273. //####################################################//
  274. route53: {
  275. display_name: 'Route 53 (Amazon)',
  276. package_name: 'certbot-dns-route53',
  277. package_version: '1.8.0',
  278. dependencies: '',
  279. credentials: `[default]
  280. aws_access_key_id=AKIAIOSFODNN7EXAMPLE
  281. aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`,
  282. full_plugin_name: 'dns-route53',
  283. },
  284. //####################################################//
  285. vultr: {
  286. display_name: 'Vultr',
  287. package_name: 'certbot-dns-vultr',
  288. package_version: '1.0.3',
  289. dependencies: '',
  290. credentials: 'certbot_dns_vultr:dns_vultr_key = YOUR_VULTR_API_KEY',
  291. full_plugin_name: 'certbot-dns-vultr:dns-vultr',
  292. },
  293. //####################################################//
  294. eurodns: {
  295. display_name: 'EuroDNS',
  296. package_name: 'certbot-dns-eurodns',
  297. package_version: '0.0.4',
  298. dependencies: '',
  299. credentials: `dns_eurodns_applicationId = myuser
  300. dns_eurodns_apiKey = mysecretpassword
  301. dns_eurodns_endpoint = https://rest-api.eurodns.com/user-api-gateway/proxy`,
  302. full_plugin_name: 'certbot-dns-eurodns:dns-eurodns',
  303. },
  304. //####################################################//
  305. transip: {
  306. display_name: 'TransIP',
  307. package_name: 'certbot-dns-transip',
  308. package_version: '0.3.3',
  309. dependencies: '',
  310. credentials: `dns_transip_username = my_username
  311. dns_transip_key_file = /etc/letsencrypt/transip-rsa.key`,
  312. full_plugin_name: 'certbot-dns-transip:dns-transip',
  313. },
  314. };