Skip to main content

Command Palette

Search for a command to run...

归档 | 自建 不蒜子 API

Published
1 min read
归档 | 自建 不蒜子 API

2

自建 不蒜子 API

  • https://busuanzi.icodeq.com

前言:

  1. 不蒜子是一款很好用的前端计数工具,但是因为流量日渐变多,经常会出现 502 的情况
  2. 故尝试对其后端进行了仿造,达到了相同的效果,并且在首次添加域名时,会自动从 busuanzi 官网同步数据
  3. 本项目使用 Redis 做数据库,若您的网站一个月内没有访问量,数据会自动清除。
  4. 即下一次再使用本工具时将再次从 Busuanzi 官网 同步数据
  5. 本项目托管于 replit.com ,开源地址: zkeq/Busuanzi_backend_self [ MIT License ]

使用:

  1. 将官网的 //busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js 文件改为
  2. https://busuanzi.icodeq.com/busuanzi.pure.mini.js (本项目暂不支持 http 协议的网站)
  3. 即可使用,首次加载网站会较慢(后台同步不蒜子的 Site_uvSite_pv
  4. 之后会保持在 360ms 左右加载出数据 (服务器处理数据仅用时 5ms)

用法:

<script async src="https://busuanzi.icodeq.com/busuanzi.pure.mini.js"></script>

本文总阅读量 <span id="busuanzi_value_page_pv"></span> 次

本站总访问量 <span id="busuanzi_value_site_pv"></span> 次

本站总访客数 <span id="busuanzi_value_site_uv"></span>

不蒜子自建后端 API 🗺️

  • https://github.com/zkeq/Busuanzi_backend_self

安装

个人版
  • 点击一键部署:Run on Replit

    本项目使用 Redis 做数据库, 空转占用内存大概 200M,请按需规划。

  • 成功导入后点击 🏃 RUN 按钮,即可完成安装!

教育版 or 专业版

【资源额度更高,但好像无法一键导入】

  1. 创建新项目

  2. 复制本项目的文件到上一步创建的项目中

  3. 点击 🏃 RUN 按钮,即可完成安装!

出现下图表示安装成功!~(首次会同步 busuanzi 的数据,多次尝试属于正常状态)~ :

Snipaste_2022-04-21_17-06-47

使用

  1. white_list.json 中添加你的域名白名单

  2. 不蒜子 官网提供的 js 代码里面的网址,改成你的 即可

//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js

var bszCaller,bszTag;!function(){var c,d,e,a=!1,b=[];ready=function(c){return a||"interactive"===document.readyState||"complete"===document.readyState?c.call(document):b.push(function(){return c.call(this)}),this},d=function(){for(var a=0,c=b.length;c>a;a++)b[a].apply(document);b=[]},e=function(){a||(a=!0,d.call(window),document.removeEventListener?document.removeEventListener("DOMContentLoaded",e,!1):document.attachEvent&&(document.detachEvent("onreadystatechange",e),window==window.top&&(clearInterval(c),c=null)))},document.addEventListener?document.addEventListener("DOMContentLoaded",e,!1):document.attachEvent&&(document.attachEvent("onreadystatechange",function(){/loaded|complete/.test(document.readyState)&&e()}),window==window.top&&(c=setInterval(function(){try{a||document.documentElement.doScroll("left")}catch(b){return}e()},5)))}(),bszCaller={fetch:function(a,b){var c="BusuanziCallback_"+Math.floor(1099511627776*Math.random());window[c]=this.evalCall(b),a=a.replace("=BusuanziCallback","="+c),scriptTag=document.createElement("SCRIPT"),scriptTag.type="text/javascript",scriptTag.defer=!0,scriptTag.src=a,scriptTag.referrerPolicy="no-referrer-when-downgrade",document.getElementsByTagName("HEAD")[0].appendChild(scriptTag)},evalCall:function(a){return function(b){ready(function(){try{a(b),scriptTag.parentElement.removeChild(scriptTag)}catch(c){bszTag.hides()}})}}},bszCaller.fetch("//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback",function(a){bszTag.texts(a),bszTag.shows()}),bszTag={bszs:["site_pv","page_pv","site_uv"],texts:function(a){this.bszs.map(function(b){var c=document.getElementById("busuanzi_value_"+b);c&&(c.innerHTML=a[b])})},hides:function(){this.bszs.map(function(a){var b=document.getElementById("busuanzi_container_"+a);b&&(b.style.display="none")})},shows:function(){this.bszs.map(function(a){var b=document.getElementById("busuanzi_container_"+a);b&&(b.style.display="inline")})}};
把里面的这个链接
//busuanzi.ibruce.info/busuanzi?jsonpCallback=BusuanziCallback
改成
你的域名,例如:
https://counter.busuanzi.icodeq.com/?jsonpCallback=BusuanziCallback
  1. 把你网站引入的 busuanzi.pure.mini.js 地址替换为上一步改好的即可 ✨
8 views

More from this blog

MySQL | 表的内连接

数据操作语言:表连接查询(一) 从多张表中提取数据 从多张表提取数据,必须指定关联的条件。如果不定义关联条件就会出现无条件连接,两张表的数据会交叉连接,产生 笛卡尔积。 规定了连接条件的表连接语句,就不会出现笛卡尔积。 # 查询每名员工的部门信息 SELECT e.empno,e.ename,d.dname FROM t_emp e JOIN t_dept d ON e.deptno=d.deptno; 表连接的分类 表连接分为两种:内连接 和 外连接 内连接是结果集中只保留符合...

May 16, 20221 min read13
MySQL | 表的内连接

MySQL | 分组查询的应用

数据操作语言:分组查询 为什么要分组? 默认情况下汇总函数是对全表范围内的数据做统计 GROUP BY 子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对每个小区域分别进行数据汇总处理 SELECT deptno,AVG(sal) FROM t_emp GROUP BY deptno; SELECT deptno,ROUND(AVG(sal)) FROM t_emp GROUP BY deptno; -- ROUND 取整 逐级分组 数据库支持多列分组条件,执行的时候...

Apr 27, 20221 min read10
MySQL | 分组查询的应用

MySQL | 聚合函数的使用

数据操作语言:聚合函数 什么是聚合函数 聚合函数在数据的查询分析中,应用十分广泛。聚合函数可以对 数据求和、求 最大值 和 最小值 、求 平均值 等等。 求公司员工的评价月收入是多少? SELECT AVG(sal+IFNULL(comm,0)) FROM t_emp; SELECT AVG(sal+IFNULL(comm,0)) AS avg FROM t_emp; SUM 函数 SUM 函数用于求和,只能用户数字类型,字符类型的统计结果为 0 ,日期类型统计结果是毫秒数相加 SE...

Apr 26, 20221 min read8
MySQL | 聚合函数的使用
U

Untitled Publication

173 posts