Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
d7f81dff
Commit
d7f81dff
authored
Aug 28, 2020
by
StefanAbl
Browse files
merged rebase into master
parents
c849738c
65aa7b10
Changes
1
Hide whitespace changes
Inline
Side-by-side
dnsapi/dns_dynv6.sh
View file @
d7f81dff
#!/usr/bin/env sh
#!/usr/bin/env sh
#Author StefanAbl
#Author StefanAbl
#Usage specify a private keyfile to use with dynv6 'export KEY="path/to/keyfile"'
#Usage specify a private keyfile to use with dynv6 'export KEY="path/to/keyfile"'
#or use the HTTP REST API by by specifying a token 'export DYNV6_TOKEN="value"
#if no keyfile is specified, you will be asked if you want to create one in /home/$USER/.ssh/dynv6 and /home/$USER/.ssh/dynv6.pub
#if no keyfile is specified, you will be asked if you want to create one in /home/$USER/.ssh/dynv6 and /home/$USER/.ssh/dynv6.pub
dynv6_api
=
"https://dynv6.com/api/v2"
######## Public functions #####################
######## Public functions #####################
# Please Read this guide first: https://github.com/Neilpang/acme.sh/wiki/DNS-API-Dev-Guide
# Please Read this guide first: https://github.com/Neilpang/acme.sh/wiki/DNS-API-Dev-Guide
#Usage: dns_
myapi
_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
#Usage: dns_
dynv6
_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
dns_dynv6_add
()
{
dns_dynv6_add
()
{
fulldomain
=
$1
fulldomain
=
$1
txtvalue
=
$2
txtvalue
=
$2
_info
"Using dynv6 api"
_info
"Using dynv6 api"
_debug fulldomain
"
$fulldomain
"
_debug fulldomain
"
$fulldomain
"
_debug txtvalue
"
$txtvalue
"
_debug txtvalue
"
$txtvalue
"
<<<<<<
< HEAD
_get_keyfile
_info
"using keyfile
$dynv6_keyfile
"
_your_hosts
=
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
)
"
if
!
_get_domain
"
$fulldomain
"
"
$_your_hosts
"
;
then
_err
"Host not found on your account"
return
1
fi
_debug
"found host on your account"
returnval
=
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
\"
"
$_host
"
\"
records
set
\"
"
$_record
"
\"
txt data
\"
"
$txtvalue
"
\"
)
"
_debug
"Dynv6 returend this after record was added:
$returnval
"
if
_contains
"
$returnval
"
"created"
;
then
return
0
elif
_contains
"
$returnval
"
"updated"
;
then
return
0
else
_err
"Something went wrong! it does not seem like the record was added succesfully"
=======
_get_authentication
_get_authentication
if
[
"
$dynv6_token
"
]
;
then
if
[
"
$dynv6_token
"
]
;
then
_dns_dynv6_add_http
_dns_dynv6_add_http
...
@@ -51,7 +36,6 @@ dns_dynv6_add() {
...
@@ -51,7 +36,6 @@ dns_dynv6_add() {
_err
"Something went wrong! it does not seem like the record was added successfully"
_err
"Something went wrong! it does not seem like the record was added successfully"
return
1
return
1
fi
fi
>>>>>>>
formatting
return
1
return
1
fi
fi
return
1
return
1
...
@@ -61,17 +45,9 @@ dns_dynv6_add() {
...
@@ -61,17 +45,9 @@ dns_dynv6_add() {
dns_dynv6_rm
()
{
dns_dynv6_rm
()
{
fulldomain
=
$1
fulldomain
=
$1
txtvalue
=
$2
txtvalue
=
$2
_info
"Using dynv6
api
"
_info
"Using dynv6
API
"
_debug fulldomain
"
$fulldomain
"
_debug fulldomain
"
$fulldomain
"
_debug txtvalue
"
$txtvalue
"
_debug txtvalue
"
$txtvalue
"
<<<<<<
< HEAD
_get_keyfile
_info
"using keyfile
$dynv6_keyfile
"
_your_hosts
=
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
)
"
if
!
_get_domain
"
$fulldomain
"
"
$_your_hosts
"
;
then
_err
"Host not found on your account"
return
1
=======
_get_authentication
_get_authentication
if
[
"
$dynv6_token
"
]
;
then
if
[
"
$dynv6_token
"
]
;
then
_dns_dynv6_rm_http
_dns_dynv6_rm_http
...
@@ -86,16 +62,12 @@ dns_dynv6_rm() {
...
@@ -86,16 +62,12 @@ dns_dynv6_rm() {
_debug
"found host on your account"
_debug
"found host on your account"
_info
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
"
\"
$_host
\"
"
records del
"
\"
$_record
\"
"
txt
)
"
_info
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
"
\"
$_host
\"
"
records del
"
\"
$_record
\"
"
txt
)
"
return
0
return
0
>>>>>>>
formatting
fi
fi
_debug
"found host on your account"
_info
"
$(
ssh
-i
"
$dynv6_keyfile
"
api@dynv6.com hosts
"
\"
$_host
\"
"
records del
"
\"
$_record
\"
"
txt
)
"
return
0
}
}
#################### Private functions below ##################################
#################### Private functions below ##################################
#Usage: No Input required
#Usage: No Input required
#returns
#returns
#dynv6_keyfile the path to the new keyfile that has been generated
#dynv6_keyfile the path to the new key
file that has been generated
_generate_new_key
()
{
_generate_new_key
()
{
dynv6_keyfile
=
"
$(
eval echo
~
"
$USER
"
)
/.ssh/dynv6"
dynv6_keyfile
=
"
$(
eval echo
~
"
$USER
"
)
/.ssh/dynv6"
_info
"Path to key file used:
$dynv6_keyfile
"
_info
"Path to key file used:
$dynv6_keyfile
"
...
@@ -136,25 +108,6 @@ _get_domain() {
...
@@ -136,25 +108,6 @@ _get_domain() {
# Usage: No input required
# Usage: No input required
#returns
#returns
#dynv6_keyfile path to the key that will be used
#dynv6_keyfile path to the key that will be used
<<<<<<
< HEAD
_get_keyfile
()
{
_debug
"get keyfile method called"
dynv6_keyfile
=
"
${
dynv6_keyfile
:-
$(
_readaccountconf_mutable dynv6_keyfile
)
}
"
_debug
"Your key is
$dynv6_keyfile
"
if
[
-z
"
$dynv6_keyfile
"
]
;
then
if
[
-z
"
$KEY
"
]
;
then
_err
"You did not specify a key to use with dynv6"
_info
"Creating new dynv6 api key to add to dynv6.com"
_generate_new_key
_info
"Please add this key to dynv6.com
$(
cat
"
$dynv6_keyfile
.pub"
)
"
_info
"Hit Enter to contiue"
read
-r
_
#save the credentials to the account conf file.
else
dynv6_keyfile
=
"
$KEY
"
fi
_saveaccountconf_mutable dynv6_keyfile
"
$dynv6_keyfile
"
=======
_get_authentication
()
{
_get_authentication
()
{
dynv6_token
=
"
${
DYNV6_TOKEN
:-
$(
_readaccountconf_mutable dynv6_token
)
}
"
dynv6_token
=
"
${
DYNV6_TOKEN
:-
$(
_readaccountconf_mutable dynv6_token
)
}
"
if
[
"
$dynv6_token
"
]
;
then
if
[
"
$dynv6_token
"
]
;
then
...
@@ -321,6 +274,12 @@ _dynv6_rest() {
...
@@ -321,6 +274,12 @@ _dynv6_rest() {
response
=
"
$(
_post
"
$data
"
"
$dynv6_api
/
$ep
"
""
"
$m
"
)
"
response
=
"
$(
_post
"
$data
"
"
$dynv6_api
/
$ep
"
""
"
$m
"
)
"
else
else
response
=
"
$(
_get
"
$dynv6_api
/
$ep
"
)
"
response
=
"
$(
_get
"
$dynv6_api
/
$ep
"
)
"
>>>>>>>
formatting
fi
fi
if
[
"
$?
"
!=
"0"
]
;
then
_err
"error
$ep
"
return
1
fi
_debug2 response
"
$response
"
return
0
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment