🧄 不蒜子

轻量极简的网站访问量统计工具 · Cloudflare Workers 版

两行代码搞定计数 · 永久免费 · 全球加速
--
本站总访问量
--
本站总访客数
--
本页阅读量

简介

不蒜子是一款轻量极简的网站访问量统计工具。通过引入一段脚本和一个 HTML 标签,即可实现网站访问量(PV)、访客数(UV)和页面阅读量的实时统计。

本项目使用 Cloudflare Workers + KV 作为后端,完全兼容不蒜子 v3 API,无需注册、无需数据库,部署即用。

工作原理

当用户访问你的网站时,不蒜子通过以下流程完成计数:

📄
1. 加载脚本
浏览器异步加载 busuanzi.min.js
📡
2. 发送请求
脚本 POST 当前页面 URL 到 API
⚙️
3. 更新计数
Worker 解析请求,原子更新 KV 计数器
📊
4. 渲染结果
API 返回 JSON,脚本更新对应 span 内容

计数器类型

<span id="busuanzi_site_pv">...</span>  <!-- 站点总 PV -->
<span id="busuanzi_site_uv">...</span>  <!-- 站点总 UV -->
<span id="busuanzi_page_pv">...</span>  <!-- 本页 PV -->
<span id="busuanzi_page_uv">...</span>  <!-- 本页 UV -->
<span id="busuanzi_today_pv">...</span>  <!-- 今日 PV -->
<span id="busuanzi_today_uv">...</span>  <!-- 今日 UV -->

UV 去重策略

使用 CF-Connecting-IP(访客真实 IP)+ User-Agent 联合哈希生成访问者标识,在 KV 中记录去重键,确保同一访客只计数一次。今日 UV 键设置 48 小时自动过期,不占空间。

快速开始

1. 引入脚本

在网站 <head><body> 末尾添加:

<script src="https://ac.oopss.top/busuanzi.min.js" defer></script>

2. 放置标签

在需要显示计数的地方放置以下任意 span:

<!-- 站点统计 -->
本站总访问量 <span id="busuanzi_site_pv">加载中...</span> 次
本站总访客数 <span id="busuanzi_site_uv">加载中...</span><!-- 页面统计 -->
本页总阅读量 <span id="busuanzi_page_pv">加载中...</span> 次
本页总访客数 <span id="busuanzi_page_uv">加载中...</span><!-- 今日统计 -->
今日总访问量 <span id="busuanzi_today_pv">加载中...</span> 次
今日总访客数 <span id="busuanzi_today_uv">加载中...</span>

3. (可选) 添加统计徽章

在网页底部显示不蒜子统计图标,访客点击后可查看该站完整统计信息:

<a href="https://ac.oopss.top/count?search=你的域名" title="不蒜子统计" target="_blank">
  <img src="https://ac.oopss.top/badge" alt="不蒜子统计" style="width:85px;height:20px;border:0;">
</a>

效果:不蒜子统计

4. 完成 ✅

刷新页面即可看到计数。无需注册、无需配置数据库、无需维护服务器。

自行部署

如果你想部署自己的实例,只需几步:

# 1. 克隆仓库
git clone https://github.com/Brandon-LIs/bsz-cfworker
cd busuanzi-worker

# 2. 创建 KV namespace
npx wrangler kv:namespace create BUSUANZI
# 将输出的 id 填入 wrangler.toml

# 3. 部署
npx wrangler deploy

部署后,将脚本地址改为你的 Worker 地址即可。

API 参考

POST /api

请求体:

{
  "url": "https://example.com/page",
  "referrer": "https://google.com"
}

响应:

{
  "busuanzi_site_pv": 1024,
  "busuanzi_site_uv": 512,
  "busuanzi_page_pv": 42,
  "busuanzi_page_uv": 30,
  "busuanzi_today_pv": 88,
  "busuanzi_today_uv": 66
}

技术栈

☁️
Cloudflare Workers
全球边缘计算,毫秒级响应
🗂️
Workers KV
全球 KV 存储,极速读写
📦
零依赖
纯 JS,无需第三方库