gen-doc-dns.js 980 B

1234567891011121314151617181920212223242526272829303132
  1. const dnsList = require('./client/src/utils/dns-list.json');
  2. console.log(dnsList);
  3. // for each make a request to https://go-acme.github.io/lego/dns/{dns}/#credentials
  4. let finalList = {};
  5. let i = 0;
  6. (async () => {
  7. for(const dns of dnsList) {
  8. console.log(`Fetching ${dns} infos`)
  9. let result = (await (await fetch(`https://go-acme.github.io/lego/dns/${dns}/#credentials`)).text());
  10. result = result.split(`<h2 id="credentials">Credentials</h2>`)[1];
  11. result = result.split(`</table>`)[0] + `</table>`;
  12. let vars = result.match(/<code>(.*?)<\/code>/g);
  13. vars = vars.map(v => v.replace(/<\/?code>/g, ''));
  14. finalList[dns] = {
  15. name: dns,
  16. url: `https://go-acme.github.io/lego/dns/${dns}/#credentials`,
  17. docs: result,
  18. vars: vars
  19. }
  20. console.log(`${i++}/${dnsList.length} done`)
  21. }
  22. // save to file
  23. const fs = require('fs');
  24. fs.writeFileSync('./client/src/utils/dns-config.json', JSON.stringify(finalList, null, 2));
  25. })();