diff --git a/ui/index.html b/ui/index.html
index 1996256..c789dd4 100644
--- a/ui/index.html
+++ b/ui/index.html
@@ -37,7 +37,7 @@
- local |
+ ip.ny4.dev |
Loading... |
Loading... |
diff --git a/ui/script.js b/ui/script.js
index a9b41f0..11ff977 100644
--- a/ui/script.js
+++ b/ui/script.js
@@ -1,45 +1,65 @@
async function main() {
- try {
- const [ny4, ipsb, speedtestcn, ipapiis] = await Promise.all([
- fetchAsync("https://ip.ny4.dev/api/v1/ip"),
- fetchAsync("https://api.ip.sb/geoip"),
- fetchAsync("https://api-v3.speedtest.cn/ip"),
- fetchAsync("https://api.ipapi.is/"),
- ]);
+ const [ny4, ipsb, speedtestcn, ipapiis] = await Promise.allSettled([
+ fetchAsync("https://ip.ny4.dev/api/v1/ip"),
+ fetchAsync("https://api.ip.sb/geoip"),
+ fetchAsync("https://api-v3.speedtest.cn/ip"),
+ fetchAsync("https://api.ipapi.is/"),
+ ]);
- updateDom("check-ny4-ip", ny4.ip);
+ if (ny4.status === "fulfilled") {
+ updateDom("check-ny4-ip", ny4.value.ip);
updateDom("check-ny4-location", [
- ny4.city,
- ny4.region,
- ny4.country,
- ny4.organization,
+ ny4.value.city,
+ ny4.value.region,
+ ny4.value.country,
+ ny4.value.organization,
]);
+ } else {
+ updateDom("check-ny4-ip", "Fetch Failed");
+ updateDom("check-ny4-location", "Fetch Failed");
+ console.log("Fetch failed:", ny4.reason);
+ }
- updateDom("check-ipsb-ip", ipsb.ip);
+ if (ipsb.status === "fulfilled") {
+ updateDom("check-ipsb-ip", ipsb.value.ip);
updateDom("check-ipsb-location", [
- ipsb.city,
- ipsb.region,
- ipsb.country,
- ipsb.isp,
+ ipsb.value.city,
+ ipsb.value.region,
+ ipsb.value.country,
+ ipsb.value.isp,
]);
+ } else {
+ updateDom("check-ipsb-ip", "Fetch Failed");
+ updateDom("check-ipsb-location", "Fetch Failed");
+ console.log("Fetch failed:", ipsb.reason);
+ }
- updateDom("check-speedtestcn-ip", speedtestcn.data.ip);
+ if (speedtestcn.status === "fulfilled") {
+ updateDom("check-speedtestcn-ip", speedtestcn.value.data.ip);
updateDom("check-speedtestcn-location", [
- speedtestcn.data.city,
- speedtestcn.data.province,
- speedtestcn.data.country,
- speedtestcn.data.isp,
+ speedtestcn.value.data.city,
+ speedtestcn.value.data.province,
+ speedtestcn.value.data.country,
+ speedtestcn.value.data.isp,
]);
+ } else {
+ updateDom("check-speedtestcn-ip", "Fetch Failed");
+ updateDom("check-speedtestcn-location", "Fetch Failed");
+ console.log("Fetch failed:", speedtestcn.reason);
+ }
- updateDom("check-ipapiis-ip", ipapiis.ip);
+ if (ipapiis.status === "fulfilled") {
+ updateDom("check-ipapiis-ip", ipapiis.value.ip);
updateDom("check-ipapiis-location", [
- ipapiis.location.city,
- ipapiis.location.state,
- ipapiis.location.country,
- ipapiis.company.name,
+ ipapiis.value.location.city,
+ ipapiis.value.location.state,
+ ipapiis.value.location.country,
+ ipapiis.value.company.name,
]);
- } catch (error) {
- console.log("Error fetching data:", error);
+ } else {
+ updateDom("check-ipapiis-ip", "Fetch Failed");
+ updateDom("check-ipapiis-location", "Fetch Failed");
+ console.log("Fetch failed:", ipapiis.reason);
}
}