[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92338":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":19,"hasPages":19,"topics":21,"createdAt":10,"pushedAt":10,"updatedAt":22,"readmeContent":23,"aiSummary":24,"trendingCount":15,"starSnapshotCount":15,"syncStatus":25,"lastSyncTime":26,"discoverSource":27},92338,"cn-check","palemoky\u002Fcn-check","palemoky","🐾 Are you from China?","https:\u002F\u002Fcn-check.palemoky.com\u002F",null,"TypeScript",86,8,51,0,16,44.46,"GNU General Public License v3.0",false,"main",[],"2026-07-22 04:02:05","# China Access Check\n\n检测你的浏览环境是否会被 ChatGPT、Claude、LinkedIn 等网站识别为**中国大陆用户**。\n\n在浏览器中复现这些网站常用的检测手段，逐项打分并给出综合判断，帮助你了解自己的网络环境暴露了哪些信号。托管于 Cloudflare Workers（静态资源 + 边缘 API），无任何数据存储。\n\n## 检测项与权重\n\n| 检测项           | 权重 | 原理                                                                                                                                                                                                                             | 备注                                   |\n| ---------------- | ---: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- |\n| IP 归属地        |   21 | Cloudflare 边缘提供的 IP 地理位置（`request.cf.country`），并用 chnroutes CIDR 独立核对                                                                                                                                          | 最直接的信号                           |\n| 被屏蔽服务可达性 |   16 | 探测 Google、YouTube、Facebook、X、Instagram、维基百科等被屏蔽服务是否可达；按不可达比例分级打分（全部不可达才满分，个别不可达可能只是服务故障或广告拦截），多服务同时不可达强烈暗示身处 GFW 之内                                |                                        |\n| 大陆站点延迟     |   12 | 对百度、腾讯、哔哩哔哩 favicon 各采样 3 次取每站最小值，再取三站中**第二低**的值打分（单站可能有海外 CDN 节点，需两站佐证）；\u003C 60ms 说明物理位置在大陆或紧邻                                                                     | 物理延迟，VPN 无法掩盖                 |\n| 浏览器时区       |   11 | `Intl.DateTimeFormat().resolvedOptions().timeZone` 为 `Asia\u002FShanghai` 等                                                                                                                                                         | 非东八区会导致生活的不便，难以隐藏     |\n| 浏览器语言       |   10 | `navigator.languages` 首选 `zh-CN` \u002F `zh-Hans`                                                                                                                                                                                   | 无简体中文字体会导致生活不便，难以隐藏 |\n| DNS 解析器归属   |    9 | 前端触发 `\u003Cuuid>.\u003CDNS_PROBE_ZONE>` 解析，VPS 上的 dns-probe 记录解析器出口 IP，Worker 代理回收并 chnroutes 判定；解析器在大陆而 HTTP 在境外 = 分流代理特征。需部署 `dns-probe\u002F` 并配置变量（见已知局限），未配置则此项跳过不计分 |                                        |\n| 旗帜 Emoji       |    8 | 大陆行货或地区设为中国的 Apple 设备会屏蔽 🇹🇼（canvas 对比连字与拆分渲染 + 彩色像素判定，用 🇨🇳 做对照）                                                                                                                           | 设备级信号，VPN 无法掩盖               |\n| 国际站点延迟     |    6 | 以 AWS 美东\u002F美西\u002F东京\u002F新加坡区域端点为参照（位置固定、无全球 CDN）；「大陆很近 + 美国异常慢（>300ms）」是跨境线路拥堵\u002F代理服务器和 GFW 开销的典型形态，港\u002F新\u002F日\u002F韩直连美国多在 150~250ms；另做归属地-RTT 核验：IP 声称在美国\u002F亚太，但到同区域参照点实测 ≥200ms（真在当地 \u003C100ms）→ 归属地与物理位置不符，判为代理出口                                         | 物理延迟，VPN 无法掩盖                 |\n| 时区一致性       |    3 | 浏览器时区与 IP 归属地时区不一致 → 代理迹象；若浏览器时区指向中国则计入中国分                                                                                                                                                    |                                        |\n| WebRTC 泄露      |    4 | STUN (srflx) 暴露的真实公网 IP 经 chnroutes 判定在中国大陆（最强），或与 HTTP 出口不一致（仅代理迹象）                                                                                                                           |                                        |\n\n每项检测产出 0~1 的置信度，乘以权重后求和得到基础分。在此之上还有**综合研判**层：交叉比对信号之间的一致性，发现矛盾时额外加分（封顶 100）：\n\n- IP 在境外，但到大陆站点 \u003C 60ms 且到美国站点 > 300ms → +12（物理位置高度疑似大陆，IP 是分流代理出口）\n- 设备为大陆行货\u002F中国区（🇹🇼 被屏蔽）+ IP 在境外，且网络层仍显示身在大陆（大陆延迟 \u003C 60ms \u002F DNS 解析器在大陆 \u002F WebRTC 泄露中国 IP）→ +8（疑似使用代理的中国用户；仅凭设备特征不加分，排除携带国行设备出境的游客）\n- DNS 解析器出口在大陆，IP 却在境外 → +8（分流代理：只代理 HTTP、DNS 走国内）\n\n总分 0–100：\n\n- **≥ 60**：很可能被识别为中国大陆用户\n- **35–59**：具有较明显的中国大陆特征\n- **15–34**：存在少量中国大陆特征\n- **\u003C 15**：基本不会被识别\n\n权重与阈值集中在 `public\u002Fapp.js` 顶部的 `WEIGHTS` \u002F `THRESHOLDS`，可自行调整。\n\n## 架构\n\n```\npublic\u002F                                 \u002F\u002F 静态页面（Cloudflare Static Assets 直接托管）\n  index.html\n  app.js                                \u002F\u002F 全部检测与打分逻辑（无依赖的原生 JS）\n  style.css\nsrc\u002Findex.ts                            \u002F\u002F Worker：仅处理 \u002Fapi\u002F*\n  GET \u002Fapi\u002Fconfig                       \u002F\u002F 前端运行时配置（DNS 泄露探测的委派子域，未配置返回 null）\n  GET \u002Fapi\u002Fip                           \u002F\u002F 返回 request.cf 中的 IP、国家、ASN、时区、colo，并附 chnroutes 判定\n  GET \u002Fapi\u002Fip-china                     \u002F\u002F 判断任意 IPv4 是否属于中国大陆（供 WebRTC 泄露比对）\n  GET \u002Fapi\u002Fdns-lookup                   \u002F\u002F 服务端代理 VPS 的 dns-probe，回收解析器出口 IP 并 chnroutes 判定\nsrc\u002Fchnroutes.ts                        \u002F\u002F IPv4 是否在中国大陆的二分查找\nsrc\u002Fchnroutes-data.ts                   \u002F\u002F 自动生成的 CIDR 区间数据（勿手改）\nscripts\u002Fbuild-chnroutes.mjs             \u002F\u002F 刷新 chnroutes 数据：node scripts\u002Fbuild-chnroutes.mjs\n.github\u002Fworkflows\u002Fupdate-chnroutes.yml  \u002F\u002F 每日定时重建 chnroutes，有变化才提交（触发自动部署）\ndns-probe\u002F                              \u002F\u002F 可选：部署在自有 VPS 上的 DNS 泄露探测服务（见其 README）\n```\n\n`wrangler.jsonc` 中 `run_worker_first: [\"\u002Fapi\u002F*\"]`——静态资源不经过 Worker，不产生请求费用。\n\n## 开发与部署\n\n```bash\nnpm install\nnpm run dev      # 本地开发 (http:\u002F\u002Flocalhost:8787)\nnpm run deploy   # 部署到 Cloudflare\n```\n\n首次部署需 `npx wrangler login`。部署后可在 Cloudflare Dashboard 绑定自定义域名。\n\n## 已知局限\n\n- **DNS 解析器检测依赖 VPS**：该项需要一台自有 VPS 部署 `dns-probe\u002F` 作权威 DNS 观测解析器出口，并配置 `DNS_PROBE_ZONE`（委派子域）与 `DNS_PROBE_LOOKUP`（lookup 接口地址）两个变量——生产环境用 `wrangler secret put` 或 Dashboard 的 Secret 类型变量（明文 Text 变量会被 `wrangler deploy` 覆盖清除），本地开发复制 `.dev.vars.example` 为 `.dev.vars` 填写。未配置或 VPS 不可达时此项自动跳过、不计分，不影响其它检测。\n- **全局代理下的 VPN 用户**：若所有流量都走代理且时区\u002F语言已伪装，则与真实海外用户不可区分——这也是真实网站面临的同样极限。\n- **误报来源**：广告拦截插件会拦截对 Google\u002F百度的探测；公司防火墙可能屏蔽 UDP（影响 WebRTC 检测）或大陆站点。\n","这是一个用于检测浏览器环境是否被主流国际网站识别为来自中国大陆的工具。它在前端复现 ChatGPT、LinkedIn 等平台常用的 9 类识别逻辑（如 IP 归属地、被屏蔽服务可达性、大陆\u002F国际站点延迟、时区与语言设置、DNS 解析器归属、旗帜 Emoji 渲染等），按权重加权评分并给出综合判断，所有检测均在 Cloudflare Workers 边缘执行，不存储用户数据。适用于希望自查网络身份暴露程度的跨境用户、远程工作者、开发者及隐私关注者，尤其适合评估代理\u002FVPN 配置的有效性与隐蔽性。",2,"2026-07-08 04:30:09","CREATED_QUERY"]