Commit Graph

22 Commits

Author SHA1 Message Date
Sergey Ponomarev
6b7b5caf54 DNS provider API: structured description
Instead of using comments declare info in a special variable.
Then the variable can be used to print the DNS API provider usage.
The usage can be parsed on UI and show all needed inputs for options.

The info is stored in plain string that it's both human-readable and easy to parse:

    dns_example_info='API name
     An extended description.
     Multiline.
    Domains: list of alternative domains to find
    Site: the dns provider website e.g. example.com
    Docs: Link to ACME.sh wiki for the provider
    Options:
     VARIABLE1 Title for the option1.
     VARIABLE2 Title for the option2. Default "default value".
     VARIABLE3 Title for the option3. Description to show on UI. Optional.
    Issues: Link to a support ticket on https://github.com/acmesh-official/acme.sh
    Author: First Lastname <authoremail@example.com>, Another Author <https://github.com/example>;
    '

Here:
VARIABLE1 will be required.
VARIABLE2 will be required too but will be populated with a "default value".
VARIABLE3 is optional and can be empty.

A DNS provider may have alternative options like CloudFlare may use API KEY or API Token.
You can use a second section OptionsAlt: section.

Some providers may have alternative names or domains e.g. Aliyun and AlibabaCloud.
Add them to Domains: section.

Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2024-05-18 12:06:41 +03:00
neilpang
8a144ebfee fix https://github.com/acmesh-official/acme.sh/issues/4117 2022-06-01 18:06:14 +08:00
neil
19c4345162 fix shfmt 2020-08-17 22:18:20 +08:00
Viktor Szépe
49094120d9
Fix SC2236 2020-07-16 06:17:11 +02:00
neilpang
d795fac37a update repo name 2020-01-30 12:06:39 +08:00
Josh Soref
0d6ce9f977 spelling: satisfy 2017-03-26 05:30:26 +00:00
Armando Lüscher
a6d2e3a1e6
Suppress shellcheck warnings. 2017-02-19 13:26:32 +01:00
Armando Lüscher
3e1418d662
Use gloo item key for environment change, to support different account types.
(this isn't working 100% yet, still looking for a solution)
2017-02-12 12:30:06 +01:00
Armando Lüscher
884f70fb39
Remove square brackets from ranges.
Export curl header variables.
2017-02-12 12:24:58 +01:00
Armando Lüscher
9499a1142b
Remove custom URL encoding and use library's implementation. 2017-02-12 12:24:58 +01:00
Armando Lüscher
6e8dcdce78
Satisfy shellcheck. 2017-02-12 12:24:58 +01:00
Armando Lüscher
ce9fae82bd
Update cookie retrieval using _egrep_o (thanks @Neilpang) 2017-02-12 12:24:57 +01:00
Armando Lüscher
afa3fc8bf9
Adapt to use general naming rule for account variables. 2017-02-12 12:24:57 +01:00
Armando Lüscher
09eccf6fc0
Use more flexible version of uppercase to lowercase conversion. 2017-02-12 12:24:57 +01:00
Armando Lüscher
edfefb6763
Add usage instructions and repo link to post issues. 2017-02-12 12:24:57 +01:00
Armando Lüscher
98b3dcbf37
Prefix all private functions with _cyon.
Satisfy shellcheck.
2017-02-12 12:22:50 +01:00
Armando Lüscher
2698ef6c5f
Return instead of exit.
Clear OTP secret if environment variable is set to empty. This is for when the 2FA is disabled.
Rename `_is_idn` function to `_is_idn_cyon`.
Remove usage of curl (except for URL encoding of data).
Instead of cleaning up the cookie jar, get rid of it completely and logout of cyon instead.
2017-02-12 12:22:49 +01:00
Armando Lüscher
46b2ee3bae
Replace all echos with printf. 2017-02-12 12:22:49 +01:00
Armando Lüscher
e7ee3a7dd5
Remove jq completely to not require it as a dependency. 2017-02-12 12:22:49 +01:00
Armando Lüscher
0085e6f83b
Don't use jq to fetch list of DNS entries to be deleted. 2017-02-12 12:22:49 +01:00
Armando Lüscher
c90fa3bcfc
Fix problems found by travis. 2017-02-12 12:22:49 +01:00
Armando Lüscher
0ec9b9823f
Add DNS API for cyon.ch 2017-02-12 12:22:48 +01:00