不蒜子 应该算是一款比较好用的前端访问统计工具

一段Js就可以实现统计 站点总 uv pv 及文章的 pv

自建 不蒜子 API

因为其官网可能访问量太大, 不时出现502

于是我花了点时间, 用 Golang 实现了其功能, 数据存储采用 Redis.

uv 通过用户 ip + UserAgent 判断, pv 通过 referer 判断. 所有信息仅存储 md5

使用

1
2
3
4
5
6
7
<!-- 引入js -->
<script async src="https://busuanzi.9420.ltd/js"></script>

本文总阅读量 <span id="busuanzi_page_pv"></span>
本文总访客量 <span id="busuanzi_page_uv"></span>
本站总访问量 <span id="busuanzi_site_pv"></span>
本站总访客数 <span id="busuanzi_site_uv"></span>

开源

源码采用 Apache 2.0 协议开源

仓库: soxft/busuanziGitee

支持 二进制运行 或 Docker 容器运行, 详细安装可查看 安装指引

其他

不同于原版的 不蒜子, 我没有选择使用JSONP这种形式. 因为貌似有部分浏览器已经使用了更为严格的同源策略, 所以部分浏览器可能会出现问题.
我选用的是 通过POST请求后端, 同时携带一个x-bsz-referer请求头 来判断当前网址.对于使用Pjax技术的网站, 可以在引入JS的标签中 添加pjax属性, 来使脚本自动监听pjax页面切换, 详见:帮助文档

Demo

此站点无法保证 SLA

https://busuanzi.9420.ltd