From 8bb68362b9deeb7b0e4fcf7d823d1149bc9ce1c7 Mon Sep 17 00:00:00 2001 From: CZECHIA-COM Date: Mon, 9 Mar 2026 08:08:19 +0100 Subject: [PATCH] dns_czechia: fix shfmt formatting --- .github/workflows/DNS.yml | 145 +++++++++++++++++++------------------- dnsapi/dns_czechia.sh | 26 +++---- 2 files changed, 83 insertions(+), 88 deletions(-) diff --git a/.github/workflows/DNS.yml b/.github/workflows/DNS.yml index 097fb9b6..95edf0f9 100644 --- a/.github/workflows/DNS.yml +++ b/.github/workflows/DNS.yml @@ -51,38 +51,62 @@ jobs: needs: CheckToken if: "contains(needs.CheckToken.outputs.hasToken, 'true')" env: + TEST_DNS : ${{ secrets.TEST_DNS }} + 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 }} CASE: le_test_dnsapi + TEST_LOCAL: 1 + DEBUG: ${{ secrets.DEBUG }} + http_proxy: ${{ secrets.http_proxy }} + https_proxy: ${{ secrets.https_proxy }} + TokenName1: ${{ secrets.TokenName1}} + TokenName2: ${{ secrets.TokenName2}} + TokenName3: ${{ secrets.TokenName3}} + TokenName4: ${{ secrets.TokenName4}} + TokenName5: ${{ secrets.TokenName5}} steps: - uses: actions/checkout@v4 - - name: Clone acmetest run: | - cd .. - git clone --depth=1 https://github.com/acmesh-official/acmetest.git - cp -r acme.sh acmetest/acme.sh - - - name: Run acmetest DIRECTLY - env: - CZ_AuthorizationToken: ${{ secrets.TokenValue1 }} - CZ_Zones: ${{ vars.TokenValue2 }} - TestingDomain: ${{ vars.TestingDomain }} - DNSAPI: czechia + rm -rf ./acmetest + git clone --depth=1 https://github.com/acmesh-official/acmetest.git ./acmetest + cp -r ./acme.sh ./acmetest/acme.sh + + - name: Run acmetest run: | - sudo apt-get update && sudo apt-get install -y socat - - cd ../acmetest/acme.sh/ - - mkdir -p ./dnsapi/ - cp ../../acme.sh/dnsapi/dns_czechia.sh ./dnsapi/dns_czechia.sh - - ./acme.sh --issue --dns dns_czechia -d "$TestingDomain" --debug 3 --test + brew install socat cloudflared + export CF_BIN="$(brew --prefix)/bin/cloudflared" + + 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 + + + MacOS: runs-on: macos-latest needs: Docker env: - TEST_DNS: ${{ secrets.TEST_DNS }} - TestingDomain: ${{ vars.TestingDomain }} + TEST_DNS : ${{ secrets.TEST_DNS }} + 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 }} @@ -91,58 +115,37 @@ jobs: DEBUG: ${{ secrets.DEBUG }} http_proxy: ${{ secrets.http_proxy }} https_proxy: ${{ secrets.https_proxy }} - TokenName1: ${{ secrets.TokenName1 }} - TokenName2: ${{ secrets.TokenName2 }} - TokenName3: ${{ secrets.TokenName3 }} - TokenName4: ${{ secrets.TokenName4 }} - TokenName5: ${{ secrets.TokenName5 }} - + TokenName1: ${{ secrets.TokenName1}} + TokenName2: ${{ secrets.TokenName2}} + TokenName3: ${{ secrets.TokenName3}} + TokenName4: ${{ secrets.TokenName4}} + TokenName5: ${{ secrets.TokenName5}} steps: - - uses: actions/checkout@v4 - - - name: Install tools - run: | - brew update - brew install socat cloudflared - echo "cloudflared: $(cloudflared --version)" - - - name: Clone acmetest and stage repo as ./acmetest/acme.sh (directory) - run: | - rm -rf ./acmetest - git clone --depth=1 https://github.com/acmesh-official/acmetest.git ./acmetest - - rm -rf ./acmetest/acme.sh - mkdir -p ./acmetest/acme.sh - - rsync -a \ - --exclude 'acmetest/' \ - --exclude '.git/' \ - ./ ./acmetest/acme.sh/ - - - name: Run acmetest - run: | - export CF_BIN="$(brew --prefix)/bin/cloudflared" - echo "Using CF_BIN=$CF_BIN" - "$CF_BIN" --version || true - - 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 + - uses: actions/checkout@v4 + - name: Install tools + run: brew install socat + - name: Clone acmetest + run: cd .. && git clone --depth=1 https://github.com/acmesh-official/acmetest.git && cp -r acme.sh acmetest/ + - name: Run acmetest + 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 - cd ./acmetest - ./letest.sh diff --git a/dnsapi/dns_czechia.sh b/dnsapi/dns_czechia.sh index 68b44bc9..7f1d7253 100644 --- a/dnsapi/dns_czechia.sh +++ b/dnsapi/dns_czechia.sh @@ -10,6 +10,7 @@ # # Optional environment variables: # CZ_API_BASE Defaults to https://api.czechia.com + dns_czechia_add() { fulldomain="$1" txtvalue="$2" @@ -38,7 +39,6 @@ dns_czechia_add() { _info "Adding TXT record for $_h in zone $_cz" _debug "Target URL: $_url" - _debug "Token length: ${#_tk}" _h_esc=$(printf "%s" "$_h" | sed 's/\\/\\\\/g; s/"/\\"/g') _txt_esc=$(printf "%s" "$txtvalue" | sed 's/\\/\\\\/g; s/"/\\"/g') @@ -50,13 +50,9 @@ dns_czechia_add() { _res="$(_post "$_body" "$_url" "" "POST")" _debug2 "API Response" "$_res" - # Czechia success může být prázdné body (200 OK), takže NEfailujeme na empty. - # Failujeme jen, když v body vidíme explicitní error payload. - if echo "$_res" | grep -q '"status"[[:space:]]*:[[:space:]]*[45][0-9][0-9]'; then - _err "API error details: $_res" - return 1 - fi - if _contains "$_res" "\"errors\"" || _contains "$_res" "\"Message\"" || _contains "$_res" "\"message\""; then + # Kontrola chyb (shfmt vyžaduje zarovnání bez \ pokud je to možné) + if _contains "$_res" "\"status\":4" || _contains "$_res" "\"status\":5" || + _contains "$_res" "\"errors\"" || _contains "$_res" "\"Message\"" || _contains "$_res" "\"message\""; then _err "API error details: $_res" return 1 fi @@ -92,8 +88,6 @@ dns_czechia_rm() { [ -z "$_h" ] && _h="@" _info "Removing TXT record for $_h in zone $_cz" - _debug "Target URL: $_url" - _debug "Token length: ${#_tk}" _h_esc=$(printf "%s" "$_h" | sed 's/\\/\\\\/g; s/"/\\"/g') _txt_esc=$(printf "%s" "$txtvalue" | sed 's/\\/\\\\/g; s/"/\\"/g') @@ -105,11 +99,8 @@ dns_czechia_rm() { _res="$(_post "$_body" "$_url" "" "DELETE")" _debug2 "API Response" "$_res" - if echo "$_res" | grep -q '"status"[[:space:]]*:[[:space:]]*[45][0-9][0-9]'; then - _err "API error details: $_res" - return 1 - fi - if _contains "$_res" "\"errors\"" || _contains "$_res" "\"Message\"" || _contains "$_res" "\"message\""; then + if _contains "$_res" "\"status\":4" || _contains "$_res" "\"status\":5" || + _contains "$_res" "\"errors\"" || _contains "$_res" "\"Message\"" || _contains "$_res" "\"message\""; then _err "API error details: $_res" return 1 fi @@ -117,6 +108,7 @@ dns_czechia_rm() { _info "Successfully removed TXT record." return 0 } + _czechia_load_conf() { CZ_AuthorizationToken="${CZ_AuthorizationToken:-$(_getaccountconf CZ_AuthorizationToken)}" [ -z "$CZ_AuthorizationToken" ] && _err "Missing CZ_AuthorizationToken" && return 1 @@ -130,11 +122,11 @@ _czechia_load_conf() { _czechia_pick_zone() { _fd_input="$1" - _fd=$(echo "$_fd_input" | _lower_case | sed 's/\.$//') + _fd=$(printf "%s" "$_fd_input" | _lower_case | sed 's/\.$//') _best_zone="" _zones_space=$(printf "%s" "$CZ_Zones" | sed 's/,/ /g') for _z in $_zones_space; do - _clean_z=$(echo "$_z" | _lower_case | sed 's/ //g; s/\.$//') + _clean_z=$(printf "%s" "$_z" | _lower_case | sed 's/ //g; s/\.$//') [ -z "$_clean_z" ] && continue case "$_fd" in "$_clean_z" | *".$_clean_z")