Please fill out the fields below so we can help you better. Note: you must provide your domain name to get help. Domain names for issued certificates are all made public in Certificate Transparency logs (e.g. crt.sh | example.com), so withholding your domain name here does not increase secrecy, but only makes it harder for us to provide help.
The Certbot renew command cannot renew certs that were created manually. Those require manual intervention (in your case adding a DNS TXT record) and cannot be automated without provided a --manual-auth-hook and related code.
It looks like you are geo-blocking HTTP requests so that is probably why an HTTP Challenge failed. See: Let's Debug
I ran the following, saving the token in the cloudflare.ini-
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini -d designtools.hiwin.com
I got this error-
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for designtools.hiwin.com
Encountered CloudFlareAPIError adding TXT record: 10000 Authentication error
Error communicating with the Cloudflare API: Authentication error
I don't know. If you setup the API token and configured it according to that page I linked earlier it should work. You may need to ask on the Cloudflare community. Or possibly some other volunteer here will know.
Some people accidentially use the config statements for the api key and not the api token.
To renew when there's less than 1 month left, should I run-
sudo certbot certonly --dns-cloudflare --dns-cloudflare-credentials $CLOUDFLARE_INI -d $DOMAIN --non-interactive --agree-tos --quiet
You need to do the command below. The renew command uses your renewal profile settings. Your current renewal settings are for your original manual DNS Challenge. If command below is successful it gets a new cert and updates the renewal profile with these settings. Future renew commands will then use that.
You should probably add a --deploy-hook to this. Better practice than using it on the renew command
After this works you can test the next renew by running this. It will not affect your production certs.