commit
fc1df9f9a5
@ -1,467 +1,426 @@
|
|||||||
name: DNS
|
name: DNS
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- 'dnsapi/*.sh'
|
- 'dnsapi/*.sh'
|
||||||
- '.github/workflows/DNS.yml'
|
- '.github/workflows/DNS.yml'
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- 'dev'
|
- 'dev'
|
||||||
paths:
|
paths:
|
||||||
- 'dnsapi/*.sh'
|
- 'dnsapi/*.sh'
|
||||||
- '.github/workflows/DNS.yml'
|
- '.github/workflows/DNS.yml'
|
||||||
|
|
||||||
|
concurrency:
|
||||||
jobs:
|
group: ${{ github.workflow }}
|
||||||
CheckToken:
|
cancel-in-progress: true
|
||||||
runs-on: ubuntu-latest
|
|
||||||
outputs:
|
jobs:
|
||||||
hasToken: ${{ steps.step_one.outputs.hasToken }}
|
CheckToken:
|
||||||
steps:
|
runs-on: ubuntu-latest
|
||||||
- name: Set the value
|
outputs:
|
||||||
id: step_one
|
hasToken: ${{ steps.step_one.outputs.hasToken }}
|
||||||
run: |
|
steps:
|
||||||
if [ "${{secrets.TokenName1}}" ] ; then
|
- name: Set the value
|
||||||
echo "::set-output name=hasToken::true"
|
id: step_one
|
||||||
else
|
run: |
|
||||||
echo "::set-output name=hasToken::false"
|
if [ "${{secrets.TokenName1}}" ] ; then
|
||||||
fi
|
echo "::set-output name=hasToken::true"
|
||||||
- name: Check the value
|
else
|
||||||
run: echo ${{ steps.step_one.outputs.hasToken }}
|
echo "::set-output name=hasToken::false"
|
||||||
|
fi
|
||||||
Fail:
|
- name: Check the value
|
||||||
runs-on: ubuntu-latest
|
run: echo ${{ steps.step_one.outputs.hasToken }}
|
||||||
needs: CheckToken
|
|
||||||
if: "contains(needs.CheckToken.outputs.hasToken, 'false')"
|
Fail:
|
||||||
steps:
|
runs-on: ubuntu-latest
|
||||||
- name: "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
needs: CheckToken
|
||||||
run: |
|
if: "contains(needs.CheckToken.outputs.hasToken, 'false')"
|
||||||
echo "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
steps:
|
||||||
if [ "${{github.repository_owner}}" != "acmesh-official" ]; then
|
- name: "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
||||||
false
|
run: |
|
||||||
fi
|
echo "Read this: https://github.com/acmesh-official/acme.sh/wiki/DNS-API-Test"
|
||||||
|
if [ "${{github.repository_owner}}" != "acmesh-official" ]; then
|
||||||
Docker:
|
false
|
||||||
runs-on: ubuntu-latest
|
fi
|
||||||
needs: CheckToken
|
|
||||||
if: "contains(needs.CheckToken.outputs.hasToken, 'true')"
|
Docker:
|
||||||
env:
|
runs-on: ubuntu-latest
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
needs: CheckToken
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
if: "contains(needs.CheckToken.outputs.hasToken, 'true')"
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
env:
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
CASE: le_test_dnsapi
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
TEST_LOCAL: 1
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
CASE: le_test_dnsapi
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
TEST_LOCAL: 1
|
||||||
steps:
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
- uses: actions/checkout@v2
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
- name: Clone acmetest
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
steps:
|
||||||
- name: Set env file
|
- uses: actions/checkout@v2
|
||||||
run: |
|
- name: Clone acmetest
|
||||||
cd ../acmetest
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
- name: Set env file
|
||||||
echo "${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}" >> docker.env
|
run: |
|
||||||
fi
|
cd ../acmetest
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
echo "${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}" >> docker.env
|
echo "${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}" >> docker.env
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
echo "${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}" >> docker.env
|
echo "${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}" >> docker.env
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
echo "${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}" >> docker.env
|
echo "${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}" >> docker.env
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
echo "${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}" >> docker.env
|
echo "${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}" >> docker.env
|
||||||
fi
|
fi
|
||||||
echo "TEST_DNS_NO_WILDCARD" >> docker.env
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
echo "http_proxy" >> docker.env
|
echo "${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}" >> docker.env
|
||||||
echo "https_proxy" >> docker.env
|
fi
|
||||||
- name: Run acmetest
|
echo "TEST_DNS_NO_WILDCARD" >> docker.env
|
||||||
run: cd ../acmetest && ./rundocker.sh testall
|
echo "http_proxy" >> docker.env
|
||||||
|
echo "https_proxy" >> docker.env
|
||||||
- uses: actions/upload-artifact@v1
|
- name: Run acmetest
|
||||||
if: failure()
|
run: cd ../acmetest && ./rundocker.sh testall
|
||||||
with:
|
|
||||||
name: Docker-logs
|
|
||||||
path: |
|
|
||||||
../acmetest/*.log
|
|
||||||
../acmetest/logs
|
MacOS:
|
||||||
|
runs-on: macos-latest
|
||||||
|
needs: Docker
|
||||||
MacOS:
|
env:
|
||||||
runs-on: macos-latest
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
needs: Docker
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
env:
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
CASE: le_test_dnsapi
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
TEST_LOCAL: 1
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
CASE: le_test_dnsapi
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
TEST_LOCAL: 1
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
steps:
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
- uses: actions/checkout@v2
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
- name: Install tools
|
||||||
steps:
|
run: brew install socat
|
||||||
- uses: actions/checkout@v2
|
- name: Clone acmetest
|
||||||
- name: Install tools
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
run: brew install socat
|
- name: Run acmetest
|
||||||
- name: Clone acmetest
|
run: |
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
- name: Run acmetest
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
run: |
|
fi
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
cd ../acmetest
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
./letest.sh
|
||||||
fi
|
|
||||||
cd ../acmetest
|
|
||||||
./letest.sh
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v1
|
Windows:
|
||||||
if: failure()
|
runs-on: windows-latest
|
||||||
with:
|
needs: MacOS
|
||||||
name: MacOS-logs
|
env:
|
||||||
path: |
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
../acmetest/*.log
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
Windows:
|
CASE: le_test_dnsapi
|
||||||
runs-on: windows-latest
|
TEST_LOCAL: 1
|
||||||
needs: MacOS
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
env:
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
steps:
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
- name: Set git to use LF
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
run: |
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
git config --global core.autocrlf false
|
||||||
CASE: le_test_dnsapi
|
- uses: actions/checkout@v2
|
||||||
TEST_LOCAL: 1
|
- name: Install cygwin base packages with chocolatey
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
run: |
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
choco config get cacheLocation
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
choco install --no-progress cygwin
|
||||||
steps:
|
shell: cmd
|
||||||
- name: Set git to use LF
|
- name: Install cygwin additional packages
|
||||||
run: |
|
run: |
|
||||||
git config --global core.autocrlf false
|
C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P socat,curl,cron,unzip,git
|
||||||
- uses: actions/checkout@v2
|
shell: cmd
|
||||||
- name: Install cygwin base packages with chocolatey
|
- name: Set ENV
|
||||||
run: |
|
shell: cmd
|
||||||
choco config get cacheLocation
|
run: |
|
||||||
choco install --no-progress cygwin
|
echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin >> %GITHUB_ENV%
|
||||||
shell: cmd
|
- name: Clone acmetest
|
||||||
- name: Install cygwin additional packages
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
run: |
|
- name: Run acmetest
|
||||||
C:\tools\cygwin\cygwinsetup.exe -qgnNdO -R C:/tools/cygwin -s http://mirrors.kernel.org/sourceware/cygwin/ -P socat,curl,cron,unzip,git
|
shell: bash
|
||||||
shell: cmd
|
run: |
|
||||||
- name: Set ENV
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
shell: cmd
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
run: |
|
fi
|
||||||
echo PATH=C:\tools\cygwin\bin;C:\tools\cygwin\usr\bin >> %GITHUB_ENV%
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
- name: Clone acmetest
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
fi
|
||||||
- name: Run acmetest
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
shell: bash
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
run: |
|
fi
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
fi
|
fi
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
cd ../acmetest
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
./letest.sh
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
||||||
fi
|
FreeBSD:
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
runs-on: macos-12
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
needs: Windows
|
||||||
fi
|
env:
|
||||||
cd ../acmetest
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
./letest.sh
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
- uses: actions/upload-artifact@v1
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
if: failure()
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
with:
|
CASE: le_test_dnsapi
|
||||||
name: Windows-logs
|
TEST_LOCAL: 1
|
||||||
path: |
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
../acmetest/*.log
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
FreeBSD:
|
steps:
|
||||||
runs-on: macos-12
|
- uses: actions/checkout@v2
|
||||||
needs: Windows
|
- name: Clone acmetest
|
||||||
env:
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
- uses: vmactions/freebsd-vm@v0
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
with:
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
prepare: pkg install -y socat curl
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
usesh: true
|
||||||
CASE: le_test_dnsapi
|
copyback: false
|
||||||
TEST_LOCAL: 1
|
run: |
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
fi
|
||||||
steps:
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
- uses: actions/checkout@v2
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
- name: Clone acmetest
|
fi
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
- uses: vmactions/freebsd-vm@v0
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
with:
|
fi
|
||||||
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
prepare: pkg install -y socat curl
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
usesh: true
|
fi
|
||||||
copyback: false
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
run: |
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
fi
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
cd ../acmetest
|
||||||
fi
|
./letest.sh
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
Solaris:
|
||||||
fi
|
runs-on: macos-12
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
needs: FreeBSD
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
env:
|
||||||
fi
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
fi
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
cd ../acmetest
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
./letest.sh
|
CASE: le_test_dnsapi
|
||||||
|
TEST_LOCAL: 1
|
||||||
- uses: actions/upload-artifact@v1
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
if: failure()
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
with:
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
name: FreeBSD-logs
|
steps:
|
||||||
path: |
|
- uses: actions/checkout@v2
|
||||||
../acmetest/*.log
|
- name: Clone acmetest
|
||||||
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
|
- uses: vmactions/solaris-vm@v0
|
||||||
Solaris:
|
with:
|
||||||
runs-on: macos-12
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
||||||
needs: FreeBSD
|
copyback: false
|
||||||
env:
|
prepare: pkgutil -y -i socat
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
run: |
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
pkg set-mediator -v -I default@1.1 openssl
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
export PATH=/usr/gnu/bin:$PATH
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
CASE: le_test_dnsapi
|
fi
|
||||||
TEST_LOCAL: 1
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
fi
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
steps:
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
- uses: actions/checkout@v2
|
fi
|
||||||
- name: Clone acmetest
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
- uses: vmactions/solaris-vm@v0
|
fi
|
||||||
with:
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
copyback: false
|
fi
|
||||||
prepare: pkgutil -y -i socat
|
cd ../acmetest
|
||||||
run: |
|
./letest.sh
|
||||||
pkg set-mediator -v -I default@1.1 openssl
|
|
||||||
export PATH=/usr/gnu/bin:$PATH
|
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
||||||
fi
|
OpenBSD:
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
runs-on: macos-12
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
needs: Solaris
|
||||||
fi
|
env:
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
fi
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
fi
|
CASE: le_test_dnsapi
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
TEST_LOCAL: 1
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
fi
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
cd ../acmetest
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
./letest.sh
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
- uses: actions/upload-artifact@v1
|
- name: Clone acmetest
|
||||||
if: failure()
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
with:
|
- uses: vmactions/openbsd-vm@v0
|
||||||
name: Solaris-logs
|
with:
|
||||||
path: |
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
||||||
../acmetest/*.log
|
prepare: pkg_add socat curl
|
||||||
|
usesh: true
|
||||||
|
copyback: false
|
||||||
OpenBSD:
|
run: |
|
||||||
runs-on: macos-12
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
needs: Solaris
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
env:
|
fi
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
fi
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
CASE: le_test_dnsapi
|
fi
|
||||||
TEST_LOCAL: 1
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
fi
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
steps:
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
- uses: actions/checkout@v2
|
fi
|
||||||
- name: Clone acmetest
|
cd ../acmetest
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
./letest.sh
|
||||||
- uses: vmactions/openbsd-vm@v0
|
|
||||||
with:
|
|
||||||
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
||||||
prepare: pkg_add socat curl
|
|
||||||
usesh: true
|
NetBSD:
|
||||||
copyback: false
|
runs-on: macos-12
|
||||||
run: |
|
needs: OpenBSD
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
env:
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
fi
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
fi
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
CASE: le_test_dnsapi
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
TEST_LOCAL: 1
|
||||||
fi
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
fi
|
steps:
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
- uses: actions/checkout@v2
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
- name: Clone acmetest
|
||||||
fi
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
cd ../acmetest
|
- uses: vmactions/netbsd-vm@v0
|
||||||
./letest.sh
|
with:
|
||||||
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
||||||
- uses: actions/upload-artifact@v1
|
prepare: |
|
||||||
if: failure()
|
pkg_add curl socat
|
||||||
with:
|
usesh: true
|
||||||
name: OpenBSD-logs
|
copyback: false
|
||||||
path: |
|
run: |
|
||||||
../acmetest/*.log
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
|
fi
|
||||||
NetBSD:
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
runs-on: macos-12
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
needs: OpenBSD
|
fi
|
||||||
env:
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
fi
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
fi
|
||||||
CASE: le_test_dnsapi
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
TEST_LOCAL: 1
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
fi
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
cd ../acmetest
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
./letest.sh
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Clone acmetest
|
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
||||||
- uses: vmactions/netbsd-vm@v0
|
DragonFlyBSD:
|
||||||
with:
|
runs-on: macos-12
|
||||||
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
needs: NetBSD
|
||||||
prepare: |
|
env:
|
||||||
pkg_add curl socat
|
TEST_DNS : ${{ secrets.TEST_DNS }}
|
||||||
usesh: true
|
TestingDomain: ${{ secrets.TestingDomain }}
|
||||||
copyback: false
|
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
||||||
run: |
|
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
CASE: le_test_dnsapi
|
||||||
fi
|
TEST_LOCAL: 1
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
DEBUG: ${{ secrets.DEBUG }}
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
http_proxy: ${{ secrets.http_proxy }}
|
||||||
fi
|
https_proxy: ${{ secrets.https_proxy }}
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
steps:
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
- uses: actions/checkout@v2
|
||||||
fi
|
- name: Clone acmetest
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
- uses: vmactions/dragonflybsd-vm@v0
|
||||||
fi
|
with:
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
prepare: |
|
||||||
fi
|
pkg install -y curl socat
|
||||||
cd ../acmetest
|
usesh: true
|
||||||
./letest.sh
|
copyback: false
|
||||||
|
run: |
|
||||||
- uses: actions/upload-artifact@v1
|
if [ "${{ secrets.TokenName1}}" ] ; then
|
||||||
if: failure()
|
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
||||||
with:
|
fi
|
||||||
name: NetBSD-logs
|
if [ "${{ secrets.TokenName2}}" ] ; then
|
||||||
path: |
|
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
||||||
../acmetest/*.log
|
fi
|
||||||
|
if [ "${{ secrets.TokenName3}}" ] ; then
|
||||||
|
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
||||||
DragonFlyBSD:
|
fi
|
||||||
runs-on: macos-12
|
if [ "${{ secrets.TokenName4}}" ] ; then
|
||||||
needs: NetBSD
|
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
||||||
env:
|
fi
|
||||||
TEST_DNS : ${{ secrets.TEST_DNS }}
|
if [ "${{ secrets.TokenName5}}" ] ; then
|
||||||
TestingDomain: ${{ secrets.TestingDomain }}
|
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
||||||
TEST_DNS_NO_WILDCARD: ${{ secrets.TEST_DNS_NO_WILDCARD }}
|
fi
|
||||||
TEST_DNS_NO_SUBDOMAIN: ${{ secrets.TEST_DNS_NO_SUBDOMAIN }}
|
cd ../acmetest
|
||||||
TEST_DNS_SLEEP: ${{ secrets.TEST_DNS_SLEEP }}
|
./letest.sh
|
||||||
CASE: le_test_dnsapi
|
|
||||||
TEST_LOCAL: 1
|
|
||||||
DEBUG: ${{ secrets.DEBUG }}
|
|
||||||
http_proxy: ${{ secrets.http_proxy }}
|
|
||||||
https_proxy: ${{ secrets.https_proxy }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: Clone acmetest
|
|
||||||
run: cd .. && git clone https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/
|
|
||||||
- uses: vmactions/dragonflybsd-vm@v0
|
|
||||||
with:
|
|
||||||
envs: 'TEST_DNS TestingDomain TEST_DNS_NO_WILDCARD TEST_DNS_NO_SUBDOMAIN TEST_DNS_SLEEP CASE TEST_LOCAL DEBUG http_proxy https_proxy ${{ secrets.TokenName1}} ${{ secrets.TokenName2}} ${{ secrets.TokenName3}} ${{ secrets.TokenName4}} ${{ secrets.TokenName5}}'
|
|
||||||
prepare: |
|
|
||||||
pkg install -y curl socat
|
|
||||||
usesh: true
|
|
||||||
copyback: false
|
|
||||||
run: |
|
|
||||||
if [ "${{ secrets.TokenName1}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName1}}=${{ secrets.TokenValue1}}
|
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName2}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName2}}=${{ secrets.TokenValue2}}
|
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName3}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName3}}=${{ secrets.TokenValue3}}
|
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName4}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName4}}=${{ secrets.TokenValue4}}
|
|
||||||
fi
|
|
||||||
if [ "${{ secrets.TokenName5}}" ] ; then
|
|
||||||
export ${{ secrets.TokenName5}}=${{ secrets.TokenValue5}}
|
|
||||||
fi
|
|
||||||
cd ../acmetest
|
|
||||||
./letest.sh
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v1
|
|
||||||
if: failure()
|
|
||||||
with:
|
|
||||||
name: DragonFlyBSD-logs
|
|
||||||
path: |
|
|
||||||
../acmetest/*.log
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -0,0 +1,30 @@
|
|||||||
|
name: Check dns api
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- opened
|
||||||
|
branches:
|
||||||
|
- 'dev'
|
||||||
|
paths:
|
||||||
|
- 'notify/*.sh'
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
welcome:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/github-script@v6
|
||||||
|
with:
|
||||||
|
script: |
|
||||||
|
await github.rest.issues.createComment({
|
||||||
|
issue_number: context.issue.number,
|
||||||
|
owner: context.repo.owner,
|
||||||
|
repo: context.repo.repo,
|
||||||
|
body: `**Welcome**
|
||||||
|
Please make sure you're read our [Code-of-conduct](../wiki/Code-of-conduct) and add the usage here: [notify](../wiki/notify).
|
||||||
|
Then reply on this message, otherwise, your code will not be reviewed or merged.
|
||||||
|
We look forward to reviewing your Pull request shortly ✨
|
||||||
|
`
|
||||||
|
})
|
||||||
|
|
@ -0,0 +1,147 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
#LA_Id="test123"
|
||||||
|
#LA_Key="d1j2fdo4dee3948"
|
||||||
|
|
||||||
|
LA_Api="https://api.dns.la/api"
|
||||||
|
|
||||||
|
######## Public functions #####################
|
||||||
|
|
||||||
|
#Usage: dns_la_add _acme-challenge.www.domain.com "XKrxpRBosdIKFzxW_CT3KLZNf6q0HG9i01zxXp5CPBs"
|
||||||
|
dns_la_add() {
|
||||||
|
fulldomain=$1
|
||||||
|
txtvalue=$2
|
||||||
|
|
||||||
|
LA_Id="${LA_Id:-$(_readaccountconf_mutable LA_Id)}"
|
||||||
|
LA_Key="${LA_Key:-$(_readaccountconf_mutable LA_Key)}"
|
||||||
|
|
||||||
|
if [ -z "$LA_Id" ] || [ -z "$LA_Key" ]; then
|
||||||
|
LA_Id=""
|
||||||
|
LA_Key=""
|
||||||
|
_err "You didn't specify a dnsla api id and key yet."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#save the api key and email to the account conf file.
|
||||||
|
_saveaccountconf_mutable LA_Id "$LA_Id"
|
||||||
|
_saveaccountconf_mutable LA_Key "$LA_Key"
|
||||||
|
|
||||||
|
_debug "First detect the root zone"
|
||||||
|
if ! _get_root "$fulldomain"; then
|
||||||
|
_err "invalid domain"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
_debug _domain_id "$_domain_id"
|
||||||
|
_debug _sub_domain "$_sub_domain"
|
||||||
|
_debug _domain "$_domain"
|
||||||
|
|
||||||
|
_info "Adding record"
|
||||||
|
if _la_rest "record.ashx?cmd=create&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&host=$_sub_domain&recordtype=TXT&recorddata=$txtvalue&recordline="; then
|
||||||
|
if _contains "$response" '"resultid":'; then
|
||||||
|
_info "Added, OK"
|
||||||
|
return 0
|
||||||
|
elif _contains "$response" '"code":532'; then
|
||||||
|
_info "Already exists, OK"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
_err "Add txt record error."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
_err "Add txt record error."
|
||||||
|
return 1
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#fulldomain txtvalue
|
||||||
|
dns_la_rm() {
|
||||||
|
fulldomain=$1
|
||||||
|
txtvalue=$2
|
||||||
|
|
||||||
|
LA_Id="${LA_Id:-$(_readaccountconf_mutable LA_Id)}"
|
||||||
|
LA_Key="${LA_Key:-$(_readaccountconf_mutable LA_Key)}"
|
||||||
|
|
||||||
|
_debug "First detect the root zone"
|
||||||
|
if ! _get_root "$fulldomain"; then
|
||||||
|
_err "invalid domain"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
_debug _domain_id "$_domain_id"
|
||||||
|
_debug _sub_domain "$_sub_domain"
|
||||||
|
_debug _domain "$_domain"
|
||||||
|
|
||||||
|
_debug "Getting txt records"
|
||||||
|
if ! _la_rest "record.ashx?cmd=listn&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&domain=$_domain&host=$_sub_domain&recordtype=TXT&recorddata=$txtvalue"; then
|
||||||
|
_err "Error"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! _contains "$response" '"recordid":'; then
|
||||||
|
_info "Don't need to remove."
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
record_id=$(printf "%s" "$response" | grep '"recordid":' | cut -d : -f 2 | cut -d , -f 1 | tr -d '\r' | tr -d '\n')
|
||||||
|
_debug "record_id" "$record_id"
|
||||||
|
if [ -z "$record_id" ]; then
|
||||||
|
_err "Can not get record id to remove."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if ! _la_rest "record.ashx?cmd=remove&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domainid=$_domain_id&domain=$_domain&recordid=$record_id"; then
|
||||||
|
_err "Delete record error."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
_contains "$response" '"code":300'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#################### Private functions below ##################################
|
||||||
|
#_acme-challenge.www.domain.com
|
||||||
|
#returns
|
||||||
|
# _sub_domain=_acme-challenge.www
|
||||||
|
# _domain=domain.com
|
||||||
|
# _domain_id=sdjkglgdfewsdfg
|
||||||
|
_get_root() {
|
||||||
|
domain=$1
|
||||||
|
i=1
|
||||||
|
p=1
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
h=$(printf "%s" "$domain" | cut -d . -f $i-100)
|
||||||
|
if [ -z "$h" ]; then
|
||||||
|
#not valid
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! _la_rest "domain.ashx?cmd=get&apiid=$LA_Id&apipass=$LA_Key&rtype=json&domain=$h"; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if _contains "$response" '"domainid":'; then
|
||||||
|
_domain_id=$(printf "%s" "$response" | grep '"domainid":' | cut -d : -f 2 | cut -d , -f 1 | tr -d '\r' | tr -d '\n')
|
||||||
|
if [ "$_domain_id" ]; then
|
||||||
|
_sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p)
|
||||||
|
_domain="$h"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
p="$i"
|
||||||
|
i=$(_math "$i" + 1)
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
#Usage: URI
|
||||||
|
_la_rest() {
|
||||||
|
url="$LA_Api/$1"
|
||||||
|
_debug "$url"
|
||||||
|
|
||||||
|
if ! response="$(_get "$url" | tr -d ' ' | tr "}" ",")"; then
|
||||||
|
_err "Error: $url"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
_debug2 response "$response"
|
||||||
|
return 0
|
||||||
|
}
|
Loading…
Reference in New Issue