From eb6bde9445bfedcde6c4fe2fbfee0da6990d991c Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 19 Jun 2026 12:04:23 +0200 Subject: [PATCH 1/3] Use new HEADERS.location feature Check the actual redirect, and not the contents of the redirected-to site. --- .../docker_compose/config/websites.yaml | 42 ++++++++++++------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 867a23d..458872a 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -187,55 +187,69 @@ endpoints: - name: www.c3cat.de url: "https://www.c3cat.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://c3cat.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Cat Ears Operation Center*)" - name: www.c3dog.de url: "https://www.c3dog.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://c3dof.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Dog Ears Operation Center*)" - name: cryptoparty.hamburg.ccc.de url: "https://cryptoparty.hamburg.ccc.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://cryptoparty-hamburg.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*Digitale Selbstverteidigung in Hamburg*)" - name: local.ccc.de url: "https://local.ccc.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://cpu.ccc.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)" - name: lokal.ccc.de url: "https://lokal.ccc.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://cpu.ccc.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*cpu.ccc.de | aus den Dezentralen*)" - name: staging.cryptoparty.hamburg.ccc.de url: "https://staging.cryptoparty.hamburg.ccc.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://staging.cryptoparty-hamburg.de" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*cryptoparty-hamburg.de Staging Environment*)" - name: www.hamburg.ccc.de url: "https://www.hamburg.ccc.de" <<: *websites_redirects_defaults + client: + ignore-redirect: true conditions: - - "[STATUS] == 200" + - "[STATUS] == 302" + - "[HEADERS].location == https://hamburg.ccc.de/" - "[CERTIFICATE_EXPIRATION] > 48h" - - "[BODY] == pat(*STATUS_CANARY_HAMBURG_CCC_DE_DO_NOT_TOUCH*)" -- 2.51.2 From 2d569848a7261185425e7725c0a4e2e2c4bdb915 Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 19 Jun 2026 12:16:25 +0200 Subject: [PATCH 2/3] Make check more resilient Some redirects have a trailing slash, some dont. Both are legal. This pattern will also catch "deep" redirects correctly. --- .../status/docker_compose/config/websites.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 458872a..943abb5 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -190,9 +190,9 @@ endpoints: client: ignore-redirect: true conditions: - - "[STATUS] == 302" - - "[HEADERS].location == https://c3cat.de" - - "[CERTIFICATE_EXPIRATION] > 48h" + # - "[STATUS] == 302" + - "[HEADERS].location == https://c3cat.de/" + # - "[CERTIFICATE_EXPIRATION] > 48h" - name: www.c3dog.de url: "https://www.c3dog.de" @@ -201,7 +201,7 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://c3dof.de" + - "[HEADERS].location == pat(https://c3dog.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" - name: cryptoparty.hamburg.ccc.de @@ -211,7 +211,7 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://cryptoparty-hamburg.de" + - "[HEADERS].location == pat(https://cryptoparty-hamburg.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" - name: local.ccc.de @@ -221,7 +221,7 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://cpu.ccc.de" + - "[HEADERS].location == pat(https://cpu.ccc.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" - name: lokal.ccc.de @@ -231,7 +231,7 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://cpu.ccc.de" + - "[HEADERS].location == pat(https://cpu.ccc.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" - name: staging.cryptoparty.hamburg.ccc.de @@ -241,7 +241,7 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://staging.cryptoparty-hamburg.de" + - "[HEADERS].location == pat(https://staging.cryptoparty-hamburg.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" - name: www.hamburg.ccc.de @@ -251,5 +251,5 @@ endpoints: ignore-redirect: true conditions: - "[STATUS] == 302" - - "[HEADERS].location == https://hamburg.ccc.de/" + - "[HEADERS].location == pat(https://hamburg.ccc.de*)" - "[CERTIFICATE_EXPIRATION] > 48h" -- 2.51.2 From dcf07b1ebbca9273a5f9f28dd30c15fcdbabdd8f Mon Sep 17 00:00:00 2001 From: Stefan Bethke Date: Fri, 19 Jun 2026 12:17:07 +0200 Subject: [PATCH 3/3] Missed one --- .../external/status/docker_compose/config/websites.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/external/status/docker_compose/config/websites.yaml b/resources/external/status/docker_compose/config/websites.yaml index 943abb5..cfa6ecc 100644 --- a/resources/external/status/docker_compose/config/websites.yaml +++ b/resources/external/status/docker_compose/config/websites.yaml @@ -190,9 +190,9 @@ endpoints: client: ignore-redirect: true conditions: - # - "[STATUS] == 302" - - "[HEADERS].location == https://c3cat.de/" - # - "[CERTIFICATE_EXPIRATION] > 48h" + - "[STATUS] == 302" + - "[HEADERS].location == pat(https://c3cat.de*)" + - "[CERTIFICATE_EXPIRATION] > 48h" - name: www.c3dog.de url: "https://www.c3dog.de" -- 2.51.2