most-box 0.2.8 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/admin/index.html +0 -0
- package/out/app/index.html +0 -0
- package/out/assets/{FilePreviewOverlay-D8H61qbp.js → FilePreviewOverlay-BYZIAMJ-.js} +1 -1
- package/out/assets/{MarketingHeader-CrYsQsQ5.js → MarketingHeader-ceWdRCpe.js} +1 -1
- package/out/assets/{MarketingLayout-CQurMOSD.js → MarketingLayout-Bun1d2wL.js} +1 -1
- package/out/assets/{MilkdownEditor-DrsyaR4h.js → MilkdownEditor-CT6SHYKG.js} +1 -1
- package/out/assets/{OpenSidebarButton-DnEgqP0S.js → OpenSidebarButton-CLSCB7CG.js} +1 -1
- package/out/assets/{SidebarAccount-B4OAl0as.js → SidebarAccount-CNh0kvtB.js} +1 -1
- package/out/assets/{SidebarHomeLink-BdsUM4Kt.js → SidebarHomeLink-DXv0c9Ob.js} +1 -1
- package/out/assets/{downloadValidation-DbVOwdmC.js → downloadValidation-Bzl7cci9.js} +1 -1
- package/out/assets/index-BHZhApbo.css +1 -0
- package/out/assets/{index-BZ-f0CZd.js → index-BI8oNSVC.js} +2 -2
- package/out/assets/{index.lazy-zpQXhgmn.js → index.lazy-7omTRykl.js} +1 -1
- package/out/assets/{index.lazy-B7AbDiMU.js → index.lazy-BOMHingE.js} +1 -1
- package/out/assets/{index.lazy-hF807bh0.js → index.lazy-BSY5_gby.js} +1 -1
- package/out/assets/{index.lazy-DB9Ht9LJ.js → index.lazy-C4ipXKZ7.js} +1 -1
- package/out/assets/{index.lazy-CgKPe02l.js → index.lazy-CPZbEnJZ.js} +1 -1
- package/out/assets/{index.lazy-rfgjFZNH.js → index.lazy-Ch4Y17pJ.js} +1 -1
- package/out/assets/{index.lazy-CKbrHko5.js → index.lazy-CvBIIYbm.js} +1 -1
- package/out/assets/{index.lazy-BxoGfWEW.js → index.lazy-Cz-OZwYL.js} +1 -1
- package/out/assets/{index.lazy-CvKEcWlH.js → index.lazy-D4zNn3D6.js} +2 -2
- package/out/assets/index.lazy-DRY3xoQp.js +1 -0
- package/out/assets/{index.lazy-BsciBHf_.js → index.lazy-_mEd0Q_u.js} +1 -1
- package/out/assets/{index.lazy-DVeqmqaA.js → index.lazy-bAp_Hgck.js} +1 -1
- package/out/assets/{index.lazy-oFaoa4qT.js → index.lazy-ur0joIFl.js} +1 -1
- package/out/assets/{useChannelMessages-B6RMaNDH.js → useChannelMessages-BeKF0gwo.js} +1 -1
- package/out/assets/{useGameRoom-CRJL0kcm.js → useGameRoom-cs9YpYt7.js} +1 -1
- package/out/assets/{userProfile-DBkH4s29.js → userProfile-qcc60tHK.js} +1 -1
- package/out/chat/index.html +0 -0
- package/out/chat/join/index.html +0 -0
- package/out/download/index.html +2 -2
- package/out/game/gandengyan/index.html +0 -0
- package/out/game/index.html +0 -0
- package/out/game/zhajinhua/index.html +0 -0
- package/out/index.html +2 -2
- package/out/note/index.html +0 -0
- package/out/ping/index.html +2 -2
- package/out/profile/index.html +0 -0
- package/out/web3/index.html +0 -0
- package/package.json +1 -1
- package/server/src/index.js +34 -2
- package/out/assets/index-Cde4g_dk.css +0 -1
- package/out/assets/index.lazy-Citucq1G.js +0 -1
package/out/ping/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="zh-CN" data-scroll-behavior="smooth"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="stylesheet" href="/assets/index-
|
|
1
|
+
<!DOCTYPE html><html lang="zh-CN" data-scroll-behavior="smooth"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><link rel="stylesheet" href="/assets/index-BHZhApbo.css" data-precedence="default"/><title>MostBox - 网络连通性</title><meta name="theme-color" content="#5e6ad2"/><meta name="description" content="测试到全球主流网站的网络连通性和延迟"/><link rel="modulepreload" href="/assets/index-BI8oNSVC.js"/><link rel="modulepreload" href="/assets/jsx-runtime-Bt-cYkS5.js"/><link rel="modulepreload" href="/assets/ui-BpDGD3IR.js"/><link rel="modulepreload" href="/assets/useNavigate-DWlBD_-b.js"/><link rel="modulepreload" href="/assets/i18n-NjvOSuV6.js"/><link rel="icon" href="/logo.svg" type="image/svg+xml"/><script>
|
|
2
2
|
(function() {
|
|
3
3
|
var theme = localStorage.getItem('theme');
|
|
4
4
|
if (theme === 'dark' || (!theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
window.onunhandledrejection = function(event) {
|
|
18
18
|
console.error('[Unhandled Promise Rejection]', event.reason);
|
|
19
19
|
};
|
|
20
|
-
</script><!--$--><div class="mkt-layout"><nav class="mkt-nav"><div class="mkt-nav-inner"><a href="/" class="mkt-nav-logo"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.4"></rect><rect x="14" y="2" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.7"></rect><rect x="2" y="14" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.7"></rect><rect x="14" y="14" width="8" height="8" rx="2" fill="var(--accent)"></rect></svg>MOST PEOPLE</a><div class="mkt-nav-cta"><button type="button" class="mkt-theme-toggle" aria-label="切换主题" title="切换主题"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button><span class="ui-action-menu-anchor"><button type="button" aria-haspopup="menu" aria-expanded="false" aria-controls="_R_55r6_" class="language-toggle mkt-theme-toggle" aria-label="选择语言" title="选择语言 (当前语言: 简体中文)"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></button></span><a href="/download/" class="btn btn-primary mkt-nav-preview"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg>下载客户端</a><button type="button" class="btn btn-secondary">开始使用</button></div></div></nav><main class="mkt-layout-main"><div class="ping-page"><div class="ping-header"><div class="ping-title-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi ping-title-icon" aria-hidden="true"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg><div><h1 class="ping-title">网络连通性</h1><p class="ping-subtitle">通过向对应网站发送请求进行测试,延迟值仅供参考。</p></div></div><button class="btn btn-icon" aria-label="重新测试全部" title="重新测试全部"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-grid"><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://google.com" target="_blank" rel="noreferrer" class="ping-card-name">Google</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Google" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://cloudflare.com" target="_blank" rel="noreferrer" class="ping-card-name">Cloudflare</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Cloudflare" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play" aria-hidden="true"><path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://youtube.com" target="_blank" rel="noreferrer" class="ping-card-name">YouTube</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 YouTube" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://github.com" target="_blank" rel="noreferrer" class="ping-card-name">GitHub</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 GitHub" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://chatgpt.com" target="_blank" rel="noreferrer" class="ping-card-name">ChatGPT</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 ChatGPT" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-at-sign" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://x.com" target="_blank" rel="noreferrer" class="ping-card-name">X</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 X" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera" aria-hidden="true"><path d="M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"></path><circle cx="12" cy="13" r="3"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://instagram.com" target="_blank" rel="noreferrer" class="ping-card-name">Instagram</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Instagram" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://reddit.com" target="_blank" rel="noreferrer" class="ping-card-name">Reddit</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Reddit" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://wikipedia.org" target="_blank" rel="noreferrer" class="ping-card-name">Wikipedia</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Wikipedia" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://apple.com" target="_blank" rel="noreferrer" class="ping-card-name">Apple</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Apple" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://telegram.org" target="_blank" rel="noreferrer" class="ping-card-name">Telegram</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Telegram" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-messages-square" aria-hidden="true"><path d="M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path><path d="M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://discord.com" target="_blank" rel="noreferrer" class="ping-card-name">Discord</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Discord" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-music" aria-hidden="true"><path d="M9 18V5l12-2v13"></path><circle cx="6" cy="18" r="3"></circle><circle cx="18" cy="16" r="3"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://tiktok.com" target="_blank" rel="noreferrer" class="ping-card-name">TikTok</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 TikTok" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-package" aria-hidden="true"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"></path><path d="M12 22V12"></path><polyline points="3.29 7 12 12 20.71 7"></polyline><path d="m7.5 4.27 9 5.15"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://npmjs.com" target="_blank" rel="noreferrer" class="ping-card-name">npm</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 npm" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle" aria-hidden="true"><path d="M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://vercel.com" target="_blank" rel="noreferrer" class="ping-card-name">Vercel</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Vercel" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div></div></div></main><footer class="mkt-footer"><div class="mkt-container"><div class="mkt-footer-inner"><div class="mkt-footer-links"><a href="/">关于</a><a class="active" href="/ping/" data-status="active" aria-current="page">网络</a><a href="https://github.com/most-people/most" target="_blank" rel="noopener noreferrer">GitHub</a></div><span class="mkt-footer-copy">© <!-- -->2026<!-- --> MOST PEOPLE · MIT License</span><span class="mkt-footer-build" translate="no">v<!-- -->0.2.8</span></div></div></footer></div><script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script><!--/$--><script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-BZ-f0CZd.js","/assets/jsx-runtime-Bt-cYkS5.js","/assets/ui-BpDGD3IR.js","/assets/useNavigate-DWlBD_-b.js","/assets/i18n-NjvOSuV6.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-BZ-f0CZd.js"}}],css:$R[8]=["/assets/index-Cde4g_dk.css"]}}},matches:$R[9]=[$R[10]={i:"__root__",u:1782269158787,s:"success",ssr:!0},$R[11]={i:"pingping",u:1782269158791,s:"success",ssr:!0}],lastMatchId:"pingping"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script><script type="module" async="" src="/assets/index-BZ-f0CZd.js"></script></body></html>
|
|
20
|
+
</script><!--$--><div class="mkt-layout"><nav class="mkt-nav"><div class="mkt-nav-inner"><a href="/" class="mkt-nav-logo"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="2" y="2" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.4"></rect><rect x="14" y="2" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.7"></rect><rect x="2" y="14" width="8" height="8" rx="2" fill="var(--accent)" opacity="0.7"></rect><rect x="14" y="14" width="8" height="8" rx="2" fill="var(--accent)"></rect></svg>MOST PEOPLE</a><div class="mkt-nav-cta"><button type="button" class="mkt-theme-toggle" aria-label="切换主题" title="切换主题"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon" aria-hidden="true"><path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401"></path></svg></button><span class="ui-action-menu-anchor"><button type="button" aria-haspopup="menu" aria-expanded="false" aria-controls="_R_55r6_" class="language-toggle mkt-theme-toggle" aria-label="选择语言" title="选择语言 (当前语言: 简体中文)"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-languages" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg></button></span><a href="/download/" class="btn btn-primary mkt-nav-preview"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg>下载客户端</a><button type="button" class="btn btn-secondary">开始使用</button></div></div></nav><main class="mkt-layout-main"><div class="ping-page"><div class="ping-header"><div class="ping-title-wrap"><svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wifi ping-title-icon" aria-hidden="true"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg><div><h1 class="ping-title">网络连通性</h1><p class="ping-subtitle">通过向对应网站发送请求进行测试,延迟值仅供参考。</p></div></div><button class="btn btn-icon" aria-label="重新测试全部" title="重新测试全部"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-grid"><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://google.com" target="_blank" rel="noreferrer" class="ping-card-name">Google</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Google" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://cloudflare.com" target="_blank" rel="noreferrer" class="ping-card-name">Cloudflare</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Cloudflare" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-play" aria-hidden="true"><path d="M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://youtube.com" target="_blank" rel="noreferrer" class="ping-card-name">YouTube</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 YouTube" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://github.com" target="_blank" rel="noreferrer" class="ping-card-name">GitHub</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 GitHub" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://chatgpt.com" target="_blank" rel="noreferrer" class="ping-card-name">ChatGPT</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 ChatGPT" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-at-sign" aria-hidden="true"><circle cx="12" cy="12" r="4"></circle><path d="M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://x.com" target="_blank" rel="noreferrer" class="ping-card-name">X</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 X" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-camera" aria-hidden="true"><path d="M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z"></path><circle cx="12" cy="13" r="3"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://instagram.com" target="_blank" rel="noreferrer" class="ping-card-name">Instagram</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Instagram" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://reddit.com" target="_blank" rel="noreferrer" class="ping-card-name">Reddit</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Reddit" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://wikipedia.org" target="_blank" rel="noreferrer" class="ping-card-name">Wikipedia</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Wikipedia" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://apple.com" target="_blank" rel="noreferrer" class="ping-card-name">Apple</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Apple" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-send" aria-hidden="true"><path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"></path><path d="m21.854 2.147-10.94 10.939"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://telegram.org" target="_blank" rel="noreferrer" class="ping-card-name">Telegram</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Telegram" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-messages-square" aria-hidden="true"><path d="M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path><path d="M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://discord.com" target="_blank" rel="noreferrer" class="ping-card-name">Discord</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Discord" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-music" aria-hidden="true"><path d="M9 18V5l12-2v13"></path><circle cx="6" cy="18" r="3"></circle><circle cx="18" cy="16" r="3"></circle></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://tiktok.com" target="_blank" rel="noreferrer" class="ping-card-name">TikTok</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 TikTok" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-package" aria-hidden="true"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"></path><path d="M12 22V12"></path><polyline points="3.29 7 12 12 20.71 7"></polyline><path d="m7.5 4.27 9 5.15"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://npmjs.com" target="_blank" rel="noreferrer" class="ping-card-name">npm</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 npm" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div><div class="ping-card pending"><div class="ping-card-top"><span class="ping-card-icon"><span class="brand-icon-wrap"><span class="brand-icon-fallback "><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-triangle" aria-hidden="true"><path d="M13.73 4a2 2 0 0 0-3.46 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z"></path></svg></span><span class="brand-icon-real "><span></span></span></span></span><a href="https://vercel.com" target="_blank" rel="noreferrer" class="ping-card-name">Vercel</a><button class="ping-card-refresh" disabled="" aria-label="重新测试 Vercel" title="重新测试"><svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-cw ping-spin" aria-hidden="true"><path d="M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path></svg></button></div><div class="ping-card-bottom"><span class="ping-pulse-dot"></span><span class="ping-latency is-muted">--</span></div></div></div></div></main><footer class="mkt-footer"><div class="mkt-container"><div class="mkt-footer-inner"><div class="mkt-footer-links"><a href="/">关于</a><a class="active" href="/ping/" data-status="active" aria-current="page">网络</a><a href="https://github.com/most-people/most" target="_blank" rel="noopener noreferrer">GitHub</a></div><span class="mkt-footer-copy">© <!-- -->2026<!-- --> MOST PEOPLE · MIT License</span><span class="mkt-footer-build" translate="no">v<!-- -->0.2.9</span></div></div></footer></div><script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script><!--/$--><script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-BI8oNSVC.js","/assets/jsx-runtime-Bt-cYkS5.js","/assets/ui-BpDGD3IR.js","/assets/useNavigate-DWlBD_-b.js","/assets/i18n-NjvOSuV6.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-BI8oNSVC.js"}}],css:$R[8]=["/assets/index-BHZhApbo.css"]}}},matches:$R[9]=[$R[10]={i:"__root__",u:1782275850814,s:"success",ssr:!0},$R[11]={i:"pingping",u:1782275850819,s:"success",ssr:!0}],lastMatchId:"pingping"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script><script type="module" async="" src="/assets/index-BI8oNSVC.js"></script></body></html>
|
package/out/profile/index.html
CHANGED
|
Binary file
|
package/out/web3/index.html
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/server/src/index.js
CHANGED
|
@@ -2588,7 +2588,7 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
2588
2588
|
/**
|
|
2589
2589
|
* 获取频道内在线用户
|
|
2590
2590
|
* @param {string} channelKeyInput - 内部频道 key,或本地唯一短频道 ID
|
|
2591
|
-
* @returns {Array<{ peerId: string, authorName: string, lastSeen: number }>}
|
|
2591
|
+
* @returns {Array<{ peerId: string, authorName: string, lastSeen: number, memberAddresses: string[] }>}
|
|
2592
2592
|
*/
|
|
2593
2593
|
getChannelPeers(channelKeyInput, options = {}) {
|
|
2594
2594
|
this.#ensureInitialized()
|
|
@@ -2603,6 +2603,9 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
2603
2603
|
return [...peers.values()].map(p => ({
|
|
2604
2604
|
peerId: p.peerId,
|
|
2605
2605
|
authorName: p.authorName,
|
|
2606
|
+
memberAddresses: uniqueStrings(p.memberAddresses).map(address =>
|
|
2607
|
+
normalizeOwnerAddress(address)
|
|
2608
|
+
).filter(Boolean),
|
|
2606
2609
|
lastSeen: p.lastSeen,
|
|
2607
2610
|
}))
|
|
2608
2611
|
}
|
|
@@ -3101,6 +3104,13 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
3101
3104
|
)
|
|
3102
3105
|
}
|
|
3103
3106
|
|
|
3107
|
+
#getChannelMemberAddresses(channel) {
|
|
3108
|
+
const members = Array.isArray(channel?.members) ? channel.members : []
|
|
3109
|
+
return uniqueStrings(
|
|
3110
|
+
members.map(member => normalizeOwnerAddress(member?.address))
|
|
3111
|
+
)
|
|
3112
|
+
}
|
|
3113
|
+
|
|
3104
3114
|
async #getNextChannelMessageTimestamp(channelKey) {
|
|
3105
3115
|
const coresMap = this.#channelCores.get(channelKey)
|
|
3106
3116
|
let maxTimestamp = 0
|
|
@@ -4429,6 +4439,7 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4429
4439
|
type: channel.type,
|
|
4430
4440
|
createdAt: channel.createdAt,
|
|
4431
4441
|
lastMessageAt: channel.lastMessageAt || '',
|
|
4442
|
+
memberAddresses: this.#getChannelMemberAddresses(channel),
|
|
4432
4443
|
writerCoreKeys: uniqueStrings([
|
|
4433
4444
|
...(channel.writerCoreKeys || []),
|
|
4434
4445
|
this.#channelLocalCoreKey.get(channel.channelKey),
|
|
@@ -4465,6 +4476,7 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4465
4476
|
async #processChannelHelloMessage(msg) {
|
|
4466
4477
|
if (msg.type !== 'channel-hello') return null
|
|
4467
4478
|
|
|
4479
|
+
const onlineChannels = []
|
|
4468
4480
|
const remoteChannels = Array.isArray(msg.channels)
|
|
4469
4481
|
? msg.channels
|
|
4470
4482
|
.filter(channel => channel && typeof channel === 'object')
|
|
@@ -4480,6 +4492,13 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4480
4492
|
typeof channel.lastMessageAt === 'string'
|
|
4481
4493
|
? channel.lastMessageAt
|
|
4482
4494
|
: '',
|
|
4495
|
+
memberAddresses: uniqueStrings(
|
|
4496
|
+
Array.isArray(channel.memberAddresses)
|
|
4497
|
+
? channel.memberAddresses.map(address =>
|
|
4498
|
+
normalizeOwnerAddress(address)
|
|
4499
|
+
)
|
|
4500
|
+
: []
|
|
4501
|
+
),
|
|
4483
4502
|
writerCoreKeys: uniqueStrings(channel.writerCoreKeys),
|
|
4484
4503
|
}
|
|
4485
4504
|
})
|
|
@@ -4503,9 +4522,15 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4503
4522
|
peers.set(msg.peerId, {
|
|
4504
4523
|
peerId: msg.peerId,
|
|
4505
4524
|
authorName: msg.authorName,
|
|
4525
|
+
memberAddresses: remoteChannel.memberAddresses,
|
|
4506
4526
|
lastSeen: Date.now(),
|
|
4507
4527
|
})
|
|
4508
4528
|
}
|
|
4529
|
+
onlineChannels.push({
|
|
4530
|
+
channelKey: localChannel.channelKey,
|
|
4531
|
+
channelId: localChannel.channelId,
|
|
4532
|
+
memberAddresses: remoteChannel.memberAddresses,
|
|
4533
|
+
})
|
|
4509
4534
|
|
|
4510
4535
|
for (const writerCoreKey of remoteChannel.writerCoreKeys) {
|
|
4511
4536
|
if (
|
|
@@ -4523,6 +4548,7 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4523
4548
|
this.emit('channel:peer:online', {
|
|
4524
4549
|
peerId: msg.peerId,
|
|
4525
4550
|
authorName: msg.authorName,
|
|
4551
|
+
channels: onlineChannels,
|
|
4526
4552
|
})
|
|
4527
4553
|
|
|
4528
4554
|
return msg.peerId
|
|
@@ -4561,13 +4587,19 @@ export class MostBoxEngine extends EventEmitter {
|
|
|
4561
4587
|
closed = true
|
|
4562
4588
|
this.#channelStreams.delete(stream)
|
|
4563
4589
|
if (connectedPeerId) {
|
|
4564
|
-
for (const [, peers] of this.#channelPeers) {
|
|
4590
|
+
for (const [channelKey, peers] of this.#channelPeers) {
|
|
4565
4591
|
if (peers.has(connectedPeerId)) {
|
|
4566
4592
|
const peer = peers.get(connectedPeerId)
|
|
4567
4593
|
peers.delete(connectedPeerId)
|
|
4594
|
+
const channel = this.#channels.find(
|
|
4595
|
+
item => item.channelKey === channelKey
|
|
4596
|
+
)
|
|
4568
4597
|
this.emit('channel:peer:offline', {
|
|
4569
4598
|
peerId: connectedPeerId,
|
|
4570
4599
|
authorName: peer?.authorName,
|
|
4600
|
+
channelKey,
|
|
4601
|
+
channelId: channel?.channelId || '',
|
|
4602
|
+
memberAddresses: peer?.memberAddresses || [],
|
|
4571
4603
|
})
|
|
4572
4604
|
}
|
|
4573
4605
|
}
|