Native Shell
Native Shell: AI-generated UI, native in your app, on every platform. Apps on iOS, Android, macOS, Windows and Linux, GPUI apps and web pages load signed, sandboxed TSX modules at run time and draw th
Free latency test from your own browser to 360+ cloud regions of AWS, Azure, Google Cloud, Oracle, IBM Cloud, Alibaba Cloud, Tencent Cloud, Huawei Cloud, Volcengine, Baidu AI Cloud, Naver Cloud, Vultr
Developer toolsHTML · JavaScriptGitHub @yt1988OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Free cloud latency test from your own browser: median, jitter and loss to 360+ regions of AWS, Azure, Google Cloud and 14 more providers. 10 languages.
Taken from the repository README
Loading the full README.
Read the full README ↗English · 简体中文
How fast is each cloud region from your own connection? Me2Cloud measures latency, jitter and timeout rate from your browser to 392 regions of 22 cloud providers, over your real ISP, Wi‑Fi and peak hour. It's a static site with no backend.
Live: https://m2c.1ms.dog
More from 1ms.dog, all free and open source (hover a name to see what it answers)
Speed & connectivity: 1ms.dog · Network X-Ray · Speed Test · DNS Test · IPv6 Test · CDN Radar · Reach Check · Network Diagnosis · Route Trace
IP & privacy: EgressLens · IP Quality Test · Who Are You · ASN Lookup · Streaming & AI Unlock Check
Cloud & costs: Lightsail Cost Saver · Cloud Cost Planner
Command line:
httpslatency·vps2cloud·dnstest
Latency maps and provider looking glasses measure from datacenters with premium transit. That tells you how one datacenter reaches another, not how your ISP routes to a region or how crowded its links are at 9pm. Me2Cloud runs the test where you are, so the numbers are the ones you'll actually get.
<img> for Hetzner).llms.txt to build test links./aws/, /zh-cn/aws/ …).| Every sample of a region | Direct rules for your proxy tool |
|---|---|
| Share image | On a phone | 简体中文 |
|---|---|---|
You don't need to host anything to use Me2Cloud: https://m2c.1ms.dog works for everyone. Host your own copy if you want it on your domain, inside a network that can't reach the public site, or with your own changes.
The site is plain static files. The built pages are committed in public/, so there's no build step unless you change something.
There's no Worker script, so every request is a static asset request: free and unmetered. You need Node.js 20+ and a Cloudflare account.
git clone https://github.com/yt1988/me2cloud
cd me2cloud
npx wrangler login
npx wrangler deploy
wrangler.toml turns off the *.workers.dev address and preview URLs, so the site serves only on a domain you bind. Then:
ping.example.com. The domain's zone has to be on the same Cloudflare account.workers_dev = true in wrangler.toml and deploy again; the site comes up at https://me2cloud.<your-subdomain>.workers.dev.On Windows PowerShell, if npx fails with "running scripts is disabled", use npx.cmd instead (for example npx.cmd wrangler deploy).
The page works on any domain as it is. The remote rule sets, share links and share image follow the address the page is served from. Canonical tags, the sitemap and link previews are generated at build time and point to m2c.1ms.dog by default. To point them at your domain, rebuild with SITE_URL:
SITE_URL=https://ping.example.com node scripts/build.mjs
npm install && SITE_URL=https://ping.example.com node scripts/assets.mjs # preview images print the domain too
npx wrangler deploy
public/llms.txt is a hand-written file. Edit the addresses in it if you use it.
When the page has a shortener tag, the share dialog gives a short link instead of the full one:
<meta name="shortener" content="https://short.example.com/api/shorten">
The endpoint gets POST {"url": "<full share link>"} and answers {"url": "<short link>"}. The results are then stored on that server, and the dialog says so. If the call fails, the dialog falls back to the full link. The public site gets this tag from its hosting setup; the code here has none, so a self-hosted copy keeps the full link unless you add the tag.
Serve the public/ folder from anything that serves files: Cloudflare Pages, Netlify, nginx, Caddy, an S3 bucket.
public/_headers (security headers including the CSP, and cache rules). Elsewhere, copy them into your server config if you want them; the site works without them.index.html (/zh-cn/ → /zh-cn/index.html), which is the default almost everywhere.check.yml runs on every push and fails if public/ is out of date with src/.health.yml probes every endpoint each Monday and opens an issue when some fail. GitHub doesn't run scheduled workflows on forks until you enable Actions in the fork; leave it off if you don't need it.node scripts/dev.mjs # http://localhost:8787, with the production headers
node scripts/build.mjs # regenerate public/ after changing src/
npm test # fails if public/ is stale
src/page.html page template: styles, logic, endpoint registry (ENDPOINTS block)
src/i18n/*.mjs text per language; missing keys fall back to en.mjs
src/brand/ favicon source
scripts/build.mjs builds public/: language pages, provider pages, app.<hash>.js, endpoints.json, rule sets, sitemap, _headers
scripts/assets.mjs favicon and per-language preview images (needs npm install)
scripts/i18n-tool.mjs node scripts/i18n-tool.mjs missing → keys missing per language
scripts/dev.mjs local preview with the _headers rules applied
scripts/endpoints/ candidate list, verification, IPv6 checks, registry builder, weekly health check
public/ the deployable site
.github/workflows/ check.yml (build up to date), health.yml (weekly endpoint check)
The build script has no dependencies. Only scripts/assets.mjs needs npm install (resvg for the images).
node scripts/endpoints/verify.mjs # verify every candidate (DNS through Cloudflare DoH)
node scripts/endpoints/ipv6.mjs # check AAAA records of each host and its IPv6 alternative
node scripts/endpoints/build-registry.mjs # write the ENDPOINTS block in src/page.html
node scripts/build.mjs # regenerate public/
Per-provider request methods, tiers and notes live in VENDORS in scripts/endpoints/build-registry.mjs. They come from tests in a real browser.
MIT