From 4416ca9cd2b75ba39a66fa3ca5bf4a1164bd3f66 Mon Sep 17 00:00:00 2001 From: Amirparsa Baghdadi <76398455+amirparsadd@users.noreply.github.com> Date: Fri, 19 Sep 2025 15:58:22 +0330 Subject: [PATCH 1/3] Add arvancloud to CDNs --- packages/server/src/services/cdn.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/server/src/services/cdn.ts b/packages/server/src/services/cdn.ts index 9d4d865cd..7cf0d044e 100644 --- a/packages/server/src/services/cdn.ts +++ b/packages/server/src/services/cdn.ts @@ -603,6 +603,21 @@ const BUNNY_CDN_IPS = new Set([ "89.187.184.176", ]); +// Arvancloud IP ranges +// https://www.arvancloud.ir/fa/ips.txt +const ARVANCLOUD_IP_RANGES = [ + "185.143.232.0/22", + "188.229.116.16/29", + "94.101.182.0/27", + "2.144.3.128/28", + "89.45.48.64/28", + "37.32.16.0/27", + "37.32.17.0/27", + "37.32.18.0/27, + "37.32.19.0/27", + "185.215.232.0/22" +] + const CDN_PROVIDERS: CDNProvider[] = [ { name: "cloudflare", @@ -627,6 +642,14 @@ const CDN_PROVIDERS: CDNProvider[] = [ warningMessage: "Domain is behind Fastly - actual IP is masked by CDN proxy", }, + { + name: "arvancloud", + displayName: "Arvancloud", + checkIp: (ip: string) => + ARVANCLOUD_IP_RANGES.some((range) => isIPInCIDR(ip, range)), + warningMessage: + "Domain is behind Arvancloud - actual IP is masked by CDN proxy", + }, ]; export const detectCDNProvider = (ip: string): CDNProvider | null => { From 95de98e94d50bdb1c047e5265d852a4aab0460e8 Mon Sep 17 00:00:00 2001 From: Amirparsa Baghdadi <76398455+amirparsadd@users.noreply.github.com> Date: Mon, 22 Sep 2025 12:37:21 +0330 Subject: [PATCH 2/3] close string --- packages/server/src/services/cdn.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/services/cdn.ts b/packages/server/src/services/cdn.ts index 7cf0d044e..2cff78f28 100644 --- a/packages/server/src/services/cdn.ts +++ b/packages/server/src/services/cdn.ts @@ -613,7 +613,7 @@ const ARVANCLOUD_IP_RANGES = [ "89.45.48.64/28", "37.32.16.0/27", "37.32.17.0/27", - "37.32.18.0/27, + "37.32.18.0/27", "37.32.19.0/27", "185.215.232.0/22" ] From 1b603d84d705f35630beac35584cb5be2bed1808 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Mon, 22 Sep 2025 19:11:08 +0000 Subject: [PATCH 3/3] [autofix.ci] apply automated fixes --- packages/server/src/services/cdn.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/server/src/services/cdn.ts b/packages/server/src/services/cdn.ts index 2cff78f28..1e19652c1 100644 --- a/packages/server/src/services/cdn.ts +++ b/packages/server/src/services/cdn.ts @@ -615,8 +615,8 @@ const ARVANCLOUD_IP_RANGES = [ "37.32.17.0/27", "37.32.18.0/27", "37.32.19.0/27", - "185.215.232.0/22" -] + "185.215.232.0/22", +]; const CDN_PROVIDERS: CDNProvider[] = [ {