Compare commits

..
68 Commits
Author SHA1 Message Date
neil c9febbdd87 fix for centos ncat and debian default netcat (#330) 2016-10-19 22:14:42 +08:00
Peter Lyons caa2e45a8c use RFC2606 example.com domain in docs (#327)
https://www.rfc-editor.org/rfc/rfc2606.txt
2016-10-13 10:14:36 +08:00
neilpang d9130c9852 minor 2016-10-12 22:38:28 +08:00
neilpang 661f05837c minor 2016-10-12 21:48:18 +08:00
neil b15cfc2c5a minor 2016-10-11 18:30:38 +08:00
neil c575c9af3d Merge branch 'master' of https://github.com/Neilpang/acme.sh 2016-10-11 18:06:35 +08:00
neil 81f27e9077 minor, get the error info, if it contains CRLF 2016-10-11 18:05:32 +08:00
neil f78babfaa0 nc (#324) 2016-10-10 19:47:16 +08:00
neilpang 66990cf872 minor 2016-10-09 22:27:25 +08:00
root 095fe2ed1b minor 2016-10-09 22:19:35 +08:00
neil 483ebc8141 Update README.md 2016-10-09 22:17:45 +08:00
neilpang b9311282eb minor fix pdns api 2016-10-09 22:15:15 +08:00
Maxim Zalysin d6f0c2b52b Add support PowerDNS API (#322)
* Add support PowerDNS API

* Small fixes
2016-10-09 21:56:04 +08:00
neil bb25febd70 Checkdomain (#317)
* check if domains are changed

* fix output info
2016-10-05 22:09:15 +08:00
neil 19ab2a29ce fix tail for solaris 2016-10-05 13:03:45 +08:00
neil 24b4fe9867 Merge branch 'master' of https://github.com/Neilpang/acme.sh 2016-10-05 12:16:14 +08:00
neil aa7b82de04 minor 2016-10-05 12:15:06 +08:00
neil 3d826bed3a fix for ncat on centos, try without '-p' first (#315) 2016-10-04 23:35:56 +08:00
neil d2ae7e78ef 60 days 2016-10-04 21:17:19 +08:00
neil 656bd330f8 change default renew days o 60.
fix https://github.com/Neilpang/acme.sh/issues/314
https://github.com/Neilpang/acme.sh/issues/281
2016-10-04 20:55:31 +08:00
neil c2c8f32010 fix for wget 2016-10-03 22:29:48 +08:00
neil 9f43c270e6 fix wget 2016-10-03 22:08:40 +08:00
neil 50827188ff minor: save on success 2016-10-02 23:54:21 +08:00
neil 6ae0f7f5c6 support "--listen-v4" and "--listen-v6" (#311)
https://github.com/Neilpang/acme.sh/issues/310
2016-10-02 23:37:37 +08:00
neil c583d6bb49 fix sleep display 2016-09-30 22:43:24 +08:00
neil fdcb6b721c fix for busybox 2016-09-30 22:13:27 +08:00
neil ef858ef062 use head -n 2016-09-30 21:37:39 +08:00
neil fe04faf675 Add Chinese link 2016-09-30 21:27:23 +08:00
neil ad752b317d support csr that contains empty CN field. fix https://github.com/Neilpang/acme.sh/issues/306 2016-09-29 22:19:03 +08:00
neil 59649e9b1e support --auto-upgrade 2016-09-28 22:11:00 +08:00
neil 6bf281f905 support '--auto-upgrade' 2016-09-28 22:05:43 +08:00
neil 4dfc8b262c support individual ca path 2016-09-28 13:27:32 +08:00
neil f08ffe9feb v2.6.0 2016-09-28 13:26:02 +08:00
neil 65de3110a9 minor, fix error message 2016-09-28 13:13:08 +08:00
neil f6dcd98995 save api first 2016-09-28 13:07:51 +08:00
neil 950172dc01 debug info 2016-09-27 23:52:52 +08:00
neil 5c48e139d4 support individual ca accounts 2016-09-27 23:43:18 +08:00
neil 150e9c8a48 Update README.md 2016-09-27 22:03:42 +08:00
neil b19ba13aff fix for Mac osx 2016-09-27 21:27:43 +08:00
neil 30bfc2cea7 fix https://github.com/Neilpang/acme.sh/issues/304 2016-09-27 13:11:08 +08:00
neil 30c2d84c6d minor: remove useless hook. 2016-09-26 13:33:09 +08:00
neil fbd2038fa7 minor 2016-09-26 13:08:19 +08:00
neil e4b8d9b9d6 minor, No need to save ACCOUNT_URL 2016-09-25 22:54:58 +08:00
neil 6b50003697 minor 2016-09-25 22:26:41 +08:00
neil a73c5b3355 support log level 2016-09-25 21:58:59 +08:00
neil eb59817e81 Support updateaccount and registeraccount. fix https://github.com/Neilpang/acme.sh/issues/70 2016-09-25 10:56:06 +08:00
neil d404e92d16 Fetch agreement tos dynamically, fix https://github.com/Neilpang/acme.sh/issues/253 2016-09-24 23:53:53 +08:00
neil 86c017ec9d fix deactivate return code 2016-09-24 14:17:04 +08:00
neil 0407c4e0f7 minor 2016-09-24 14:01:28 +08:00
neil 0ba95a3dd4 fix auto upgrade 2016-09-24 13:43:08 +08:00
neil 0463b5d6cd support "--local-address" to specify a listening ip address in standalone mode if the server have multiple ips. By default, the standalone server listens to 0.0.0.0 2016-09-23 23:14:03 +08:00
neil 3f4513b3a9 Support deactivate in bulk 2016-09-23 22:35:13 +08:00
neil fb2029e717 add more info 2016-09-22 23:25:32 +08:00
neil 48f02fb61b minor 2016-09-22 23:23:27 +08:00
neil 0c00e870c6 Support Authorization deactivation
https://github.com/Neilpang/acme.sh/issues/291
2016-09-22 23:17:50 +08:00
neil 7da50703fb minor 2016-09-22 21:38:11 +08:00
neil cfdaff5a46 fix cf 2016-09-22 20:36:33 +08:00
neil 18e46962c2 fix https://github.com/Neilpang/acme.sh/issues/297 2016-09-22 13:15:25 +08:00
neil 319e0ae3cf fix auto upgrade 2016-09-21 13:39:39 +08:00
neil e69a7c38d9 fix auto upgrade 2016-09-21 13:27:05 +08:00
neil ecd685755b fix auto upgrade 2016-09-21 13:18:46 +08:00
neil 276b51d927 minor 2016-09-21 13:09:22 +08:00
neil 251d1c5c9f minor 2016-09-20 22:23:49 +08:00
neil 028e17475f minor, renew time minus 1 day 2016-09-20 21:03:43 +08:00
neil 1ab630435d fix color when upgrade in cronjob 2016-09-20 20:34:33 +08:00
neil 89002ed298 support AUTO_UPGRADE. In the cron job, try to upgrade acme.sh if "AUTO_UPGRADE" is set. 2016-09-20 20:22:25 +08:00
neil d0871bdae3 rename "--logfile" to "--log", and give a default log file 2016-09-20 19:08:02 +08:00
neil 5ea6e9c9c0 support "--logfile" 2016-09-19 23:07:43 +08:00
7 changed files with 987 additions and 257 deletions

No files matched your search

+41 -27
View File
@@ -13,6 +13,8 @@ It's probably the `easiest&smallest&smartest` shell script to automatically issu
Wiki: https://github.com/Neilpang/acme.sh/wiki
# [中文说明](https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E)
#Tested OS
| NO | Status| Platform|
|----|-------|---------|
@@ -110,35 +112,35 @@ root@v1:~# acme.sh -h
**Example 1:** Single domain.
```bash
acme.sh --issue -d aa.com -w /home/wwwroot/aa.com
acme.sh --issue -d example.com -w /home/wwwroot/example.com
```
**Example 2:** Multiple domains in the same cert.
```bash
acme.sh --issue -d aa.com -d www.aa.com -d cp.aa.com -w /home/wwwroot/aa.com
acme.sh --issue -d example.com -d www.example.com -d cp.example.com -w /home/wwwroot/example.com
```
The parameter `/home/wwwroot/aa.com` is the web root folder. You **MUST** have `write access` to this folder.
The parameter `/home/wwwroot/example.com` is the web root folder. You **MUST** have `write access` to this folder.
Second argument **"aa.com"** is the main domain you want to issue cert for.
Second argument **"example.com"** is the main domain you want to issue cert for.
You must have at least a domain there.
You must point and bind all the domains to the same webroot dir: `/home/wwwroot/aa.com`.
You must point and bind all the domains to the same webroot dir: `/home/wwwroot/example.com`.
Generate/issued certs will be placed in `~/.acme.sh/aa.com/`
Generate/issued certs will be placed in `~/.acme.sh/example.com/`
The issued cert will be renewed every 80 days automatically.
The issued cert will be renewed every **60** days automatically.
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
# 3. Install issued cert to apache/nginx etc.
# 3. Install the issued cert to apache/nginx etc.
After you issue a cert, you probably want to install the cert with your nginx/apache or other servers you may be using.
After you issue a cert, you probably want to install/copy the cert to your nginx/apache or other servers you may be using.
```bash
acme.sh --installcert -d aa.com \
acme.sh --installcert -d example.com \
--certpath /path/to/certfile/in/apache/nginx \
--keypath /path/to/keyfile/in/apache/nginx \
--capath /path/to/ca/certfile/apache/nginx \
@@ -148,9 +150,9 @@ acme.sh --installcert -d aa.com \
Only the domain is required, all the other parameters are optional.
Install the issued cert/key to the production apache or nginx path.
Install/copy the issued cert/key to the production apache or nginx path.
The cert will be `renewed every 80 days by default` (which is configurable). Once the cert is renewed, the apache/nginx will be automatically reloaded by the command: `service apache2 reload` or `service nginx reload`.
The cert will be `renewed every **60** days by default` (which is configurable). Once the cert is renewed, the apache/nginx will be automatically reloaded by the command: `service apache2 reload` or `service nginx reload`.
# 4. Use Standalone server to issue cert
@@ -159,7 +161,7 @@ The cert will be `renewed every 80 days by default` (which is configurable). Onc
The tcp `80` port **MUST** be free to listen, otherwise you will be prompted to free the `80` port and try again.
```bash
acme.sh --issue --standalone -d aa.com -d www.aa.com -d cp.aa.com
acme.sh --issue --standalone -d example.com -d www.example.com -d cp.example.com
```
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
@@ -173,7 +175,7 @@ acme.sh supports `tls-sni-01` validation.
The tcp `443` port **MUST** be free to listen, otherwise you will be prompted to free the `443` port and try again.
```bash
acme.sh --issue --tls -d aa.com -d www.aa.com -d cp.aa.com
acme.sh --issue --tls -d example.com -d www.example.com -d cp.example.com
```
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
@@ -189,7 +191,7 @@ Particularly, if you are running an apache server, you should use apache mode in
Just set string "apache" as the second argument, it will force use of apache plugin automatically.
```
acme.sh --issue --apache -d aa.com -d www.aa.com -d user.aa.com
acme.sh --issue --apache -d example.com -d www.example.com -d user.example.com
```
More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
@@ -199,18 +201,18 @@ More examples: https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert
Support the `dns-01` challenge.
```bash
acme.sh --issue --dns -d aa.com -d www.aa.com -d user.aa.com
acme.sh --issue --dns -d example.com -d www.example.com -d user.example.com
```
You should get the output like below:
```
Add the following txt record:
Domain:_acme-challenge.aa.com
Domain:_acme-challenge.example.com
Txt value:9ihDbjYfTExAYeDs4DBUeuTo18KBzwvTEjUnSwd32-c
Add the following txt record:
Domain:_acme-challenge.www.aa.com
Domain:_acme-challenge.www.example.com
Txt value:9ihDbjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please add those txt records to the domains. Waiting for the dns to take effect.
@@ -220,7 +222,7 @@ Please add those txt records to the domains. Waiting for the dns to take effect.
Then just rerun with `renew` argument:
```bash
acme.sh --renew -d aa.com
acme.sh --renew -d example.com
```
Ok, it's finished.
@@ -239,7 +241,8 @@ You don't have do anything manually!
4. Godaddy.com API
5. OVH, kimsufi, soyoustart and runabove API
6. AWS Route 53, see: https://github.com/Neilpang/acme.sh/issues/65
7. lexicon dns api: https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api
7. PowerDNS API
8. lexicon dns api: https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api
(DigitalOcean, DNSimple, DnsMadeEasy, DNSPark, EasyDNS, Namesilo, NS1, PointHQ, Rage4 and Vultr etc.)
##### More APIs are coming soon...
@@ -261,13 +264,13 @@ For example:
### Single domain ECC cerfiticate:
```bash
acme.sh --issue -w /home/wwwroot/aa.com -d aa.com --keylength ec-256
acme.sh --issue -w /home/wwwroot/example.com -d example.com --keylength ec-256
```
SAN multi domain ECC certificate:
```bash
acme.sh --issue -w /home/wwwroot/aa.com -d aa.com -d www.aa.com --keylength ec-256
acme.sh --issue -w /home/wwwroot/example.com -d example.com -d www.example.com --keylength ec-256
```
Please look at the last parameter above.
@@ -281,17 +284,17 @@ Valid values are:
# 10. How to renew the cert
No, you don't need to renew the certs manually. All the certs will be renewed automatically every 80 days.
No, you don't need to renew the certs manually. All the certs will be renewed automatically every **60** days.
However, you can also force to renew any cert:
```
acme.sh --renew -d aa.com --force
acme.sh --renew -d example.com --force
```
or, for ECC cert:
```
acme.sh --renew -d aa.com --force --ecc
acme.sh --renew -d example.com --force --ecc
```
# 11. How to upgrade `acme.sh`
@@ -302,7 +305,18 @@ You can update acme.sh to the latest code:
acme.sh --upgrade
```
# 12. Issue a cert from existing CSR
You can enable auto upgrade:
```
acme.sh --upgrade --auto-upgrade
```
Then **acme.sh** will keep up to date automatically.
Disable auto upgrade:
```
acme.sh --upgrade --auto-upgrade 0
```
# 12. Issue a cert from an existing CSR
https://github.com/Neilpang/acme.sh/wiki/Issue-a-cert-from-existing-CSR
@@ -318,7 +332,7 @@ TODO:
2. ACME protocol: https://github.com/ietf-wg-acme/acme
3. Certbot: https://github.com/certbot/certbot
# License & Other
# License & Others
License is GPLv3
+779 -217
View File
File diff suppressed because it is too large. Load diff
+29 -8
View File
@@ -15,7 +15,7 @@ export CF_Email="xxxx@sss.com"
Ok, let's issue cert now:
```
acme.sh --issue --dns dns_cf -d aa.com -d www.aa.com
acme.sh --issue --dns dns_cf -d example.com -d www.example.com
```
The `CF_Key` and `CF_Email` will be saved in `~/.acme.sh/account.conf`, when next time you use cloudflare api, it will reuse this key.
@@ -37,7 +37,7 @@ export DP_Key="sADDsdasdgdsf"
Ok, let's issue cert now:
```
acme.sh --issue --dns dns_dp -d aa.com -d www.aa.com
acme.sh --issue --dns dns_dp -d example.com -d www.example.com
```
The `DP_Id` and `DP_Key` will be saved in `~/.acme.sh/account.conf`, when next time you use dnspod.cn api, it will reuse this key.
@@ -58,7 +58,7 @@ export CX_Secret="sADDsdasdgdsf"
Ok, let's issue cert now:
```
acme.sh --issue --dns dns_cx -d aa.com -d www.aa.com
acme.sh --issue --dns dns_cx -d example.com -d www.example.com
```
The `CX_Key` and `CX_Secret` will be saved in `~/.acme.sh/account.conf`, when next time you use Cloudxns.com api, it will reuse this key.
@@ -66,7 +66,7 @@ The `CX_Key` and `CX_Secret` will be saved in `~/.acme.sh/account.conf`, when n
## Use Godaddy.com domain api to automatically issue cert
We support Godaddy integeration.
We support Godaddy integration.
First you need to login to your Godaddy account to get your api key and api secret.
@@ -84,11 +84,34 @@ export GD_Secret="asdfsdafdsfdsfdsfdsfdsafd"
Ok, let's issue cert now:
```
acme.sh --issue --dns dns_gd -d aa.com -d www.aa.com
acme.sh --issue --dns dns_gd -d example.com -d www.example.com
```
The `GD_Key` and `GD_Secret` will be saved in `~/.acme.sh/account.conf`, when next time you use cloudflare api, it will reuse this key.
## Use PowerDNS embedded api to automatically issue cert
We support PowerDNS embedded API integration.
First you need to enable api and set your api-token in PowerDNS configuration.
https://doc.powerdns.com/md/httpapi/README/
```
export PDNS_Url="http://ns.example.com:8081"
export PDNS_ServerId="localhost"
export PDNS_Token="0123456789ABCDEF"
export PDNS_Ttl=60
```
Ok, let's issue cert now:
```
acme.sh --issue --dns dns_pdns -d example.com -d www.example.com
```
The `PDNS_Url`, `PDNS_ServerId`, `PDNS_Token` and `PDNS_Ttl` will be saved in `~/.acme.sh/account.conf`.
## Use OVH/kimsufi/soyoustart/runabove API
https://github.com/Neilpang/acme.sh/wiki/How-to-use-OVH-domain-api
@@ -104,13 +127,11 @@ Let's assume you want to name it 'myapi',
3. Then you can use your api to issue cert like:
```
acme.sh --issue --dns dns_myapi -d aa.com -d www.aa.com
acme.sh --issue --dns dns_myapi -d example.com -d www.example.com
```
For more details, please check our sample script: [dns_myapi.sh](dns_myapi.sh)
# Use lexicon dns api
https://github.com/Neilpang/acme.sh/wiki/How-to-use-lexicon-dns-api
+3 -3
View File
@@ -48,7 +48,7 @@ dns_cf_add(){
if [ "$count" = "0" ] ; then
_info "Adding record"
if _cf_rest POST "zones/$_domain_id/dns_records" "{\"type\":\"TXT\",\"name\":\"$fulldomain\",\"content\":\"$txtvalue\",\"ttl\":120}"; then
if printf $response | grep $fulldomain > /dev/null ; then
if printf -- "%s" "$response" | grep $fulldomain > /dev/null ; then
_info "Added, sleeping 10 seconds"
sleep 10
#todo: check if the record takes effect
@@ -61,7 +61,7 @@ dns_cf_add(){
_err "Add txt record error."
else
_info "Updating record"
record_id=$(printf "%s\n" "$response" | _egrep_o \"id\":\"[^\"]*\" | cut -d : -f 2 | tr -d \"| head -1)
record_id=$(printf "%s\n" "$response" | _egrep_o \"id\":\"[^\"]*\" | cut -d : -f 2 | tr -d \"| head -n 1)
_debug "record_id" $record_id
_cf_rest PUT "zones/$_domain_id/dns_records/$record_id" "{\"id\":\"$record_id\",\"type\":\"TXT\",\"name\":\"$fulldomain\",\"content\":\"$txtvalue\",\"zone_id\":\"$_domain_id\",\"zone_name\":\"$_domain\"}"
@@ -103,7 +103,7 @@ _get_root() {
fi
if printf $response | grep \"name\":\"$h\" >/dev/null ; then
_domain_id=$(printf "%s\n" "$response" | _egrep_o \"id\":\"[^\"]*\" | head -1 | cut -d : -f 2 | tr -d \")
_domain_id=$(printf "%s\n" "$response" | _egrep_o \"id\":\"[^\"]*\" | head -n 1 | cut -d : -f 2 | tr -d \")
if [ "$_domain_id" ] ; then
_sub_domain=$(printf $domain | cut -d . -f 1-$p)
_domain=$h
+2 -2
View File
@@ -69,7 +69,7 @@ existing_records() {
return 1
fi
count=0
seg=$(printf "%s\n" "$response" | _egrep_o "{[^{]*host\":\"$_sub_domain\"[^}]*}")
seg=$(printf "%s\n" "$response" | _egrep_o "{[^\{]*host\":\"$_sub_domain\"[^\}]*\}")
_debug seg "$seg"
if [ -z "$seg" ] ; then
return 0
@@ -145,7 +145,7 @@ _get_root() {
fi
if printf "$response" | grep "$h." >/dev/null ; then
seg=$(printf "%s" "$response" | _egrep_o "{[^{]*\"$h\.\"[^}]*\}" )
seg=$(printf "%s" "$response" | _egrep_o "\{[^\{]*\"$h\.\"[^\}]*\}" )
_debug seg "$seg"
_domain_id=$(printf "%s" "$seg" | _egrep_o \"id\":\"[^\"]*\" | cut -d : -f 2 | tr -d \")
_debug _domain_id "$_domain_id"
Regular → Executable
View File
File mode changed.
+133
View File
@@ -0,0 +1,133 @@
#!/usr/bin/env sh
#PowerDNS Emdedded API
#https://doc.powerdns.com/md/httpapi/api_spec/
#
#PDNS_Url="http://ns.example.com:8081"
#PDNS_ServerId="localhost"
#PDNS_Token="0123456789ABCDEF"
#PDNS_Ttl=60
DEFAULT_PDNS_TTL=60
######## Public functions #####################
#Usage: add _acme-challenge.www.domain.com "123456789ABCDEF0000000000000000000000000000000000000"
dns_pdns_add() {
fulldomain=$1
txtvalue=$2
if [ -z "$PDNS_Url" ] ; then
_err "You don't specify PowerDNS address."
_err "Please set PDNS_Url and try again."
return 1
fi
if [ -z "$PDNS_ServerId" ] ; then
_err "You don't specify PowerDNS server id."
_err "Please set you PDNS_ServerId and try again."
return 1
fi
if [ -z "$PDNS_Token" ] ; then
_err "You don't specify PowerDNS token."
_err "Please create you PDNS_Token and try again."
return 1
fi
if [ -z "$PDNS_Ttl" ] ; then
PDNS_Ttl=$DEFAULT_PDNS_TTL
fi
#save the api addr and key to the account conf file.
_saveaccountconf PDNS_Url "$PDNS_Url"
_saveaccountconf PDNS_ServerId "$PDNS_ServerId"
_saveaccountconf PDNS_Token "$PDNS_Token"
if [ "$PDNS_Ttl" != "$DEFAULT_PDNS_TTL" ] ; then
_saveaccountconf PDNS_Ttl "$PDNS_Ttl"
fi
_debug "First detect the root zone"
if ! _get_root $fulldomain ; then
_err "invalid domain"
return 1
fi
_debug _domain "$_domain"
if ! set_record "$_domain" "$fulldomain" "$txtvalue" ; then
return 1
fi
return 0
}
set_record() {
_info "Adding record"
root=$1
full=$2
txtvalue=$3
if ! _pdns_rest "PATCH" "/api/v1/servers/$PDNS_ServerId/zones/$root." "{\"rrsets\": [{\"name\": \"$full.\", \"changetype\": \"REPLACE\", \"type\": \"TXT\", \"ttl\": $PDNS_Ttl, \"records\": [{\"name\": \"$full.\", \"type\": \"TXT\", \"content\": \"\\\"$txtvalue\\\"\", \"disabled\": false, \"ttl\": $PDNS_Ttl}]}]}" ; then
_err "Set txt record error."
return 1
fi
if ! _pdns_rest "PUT" "/api/v1/servers/$PDNS_ServerId/zones/$root./notify" ; then
_err "Notify servers error."
return 1
fi
return 0
}
#################### Private functions bellow ##################################
#_acme-challenge.www.domain.com
#returns
# _domain=domain.com
_get_root() {
domain=$1
i=1
p=1
if _pdns_rest "GET" "/api/v1/servers/$PDNS_ServerId/zones" ; then
_zones_response=$response
fi
while [ '1' ] ; do
h=$(printf $domain | cut -d . -f $i-100)
if [ -z "$h" ] ; then
return 1
fi
if printf "$_zones_response" | grep "\"name\": \"$h.\"" >/dev/null ; then
_domain=$h
return 0
fi
p=$i
i=$(expr $i + 1)
done
_debug "$domain not found"
return 1
}
_pdns_rest() {
method=$1
ep=$2
data=$3
_H1="X-API-Key: $PDNS_Token"
if [ ! "$method" = "GET" ] ; then
_debug data "$data"
response="$(_post "$data" "$PDNS_Url$ep" "" "$method")"
else
response="$(_get "$PDNS_Url$ep")"
fi
if [ "$?" != "0" ] ; then
_err "error $ep"
return 1
fi
_debug2 response "$response"
return 0
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.