diff --git a/res/values/config.xml b/res/values/config.xml
index 65767cc24..c558cb2ba 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -14,6 +14,7 @@
this resource. It will break if the enforcement of overlayable starts.
-->
http://connectivitycheck.grapheneos.network/generate_204
+ http://captive.apple.com
http://connectivitycheck.gstatic.com/generate_204
https://connectivitycheck.grapheneos.network/generate_204
+ https://captive.apple.com
https://www.google.com/generate_204
diff --git a/src/com/android/server/connectivity/NetworkMonitor.java b/src/com/android/server/connectivity/NetworkMonitor.java
index 6900c0cff..f7219550e 100755
--- a/src/com/android/server/connectivity/NetworkMonitor.java
+++ b/src/com/android/server/connectivity/NetworkMonitor.java
@@ -2686,6 +2686,9 @@ private URL[] makeCaptivePortalHttpsUrls(@NonNull Context context) {
case ConnChecksSetting.VAL_GRAPHENEOS:
resId = R.string.default_captive_portal_https_url_grapheneos;
break;
+ case ConnChecksSetting.VAL_APPLE:
+ resId = R.string.default_captive_portal_https_url_apple;
+ break;
case ConnChecksSetting.VAL_STANDARD:
resId = R.string.default_captive_portal_https_url;
break;
@@ -2701,6 +2704,9 @@ private URL[] makeCaptivePortalHttpUrls(@NonNull Context context) {
case ConnChecksSetting.VAL_GRAPHENEOS:
resId = R.string.default_captive_portal_http_url_grapheneos;
break;
+ case ConnChecksSetting.VAL_APPLE:
+ resId = R.string.default_captive_portal_http_url_apple;
+ break;
case ConnChecksSetting.VAL_STANDARD:
resId = R.string.default_captive_portal_http_url;
break;