一个基于 Cloudflare Workers 和 D1 数据库的轻量级访问计数器。
- 创建D1数据库
进入
Cloudflare Dashboard,导航至Storage & Databases>D1 SQL Database-Create,命名为hits,在Console中执行以下SQL创建表:
CREATE TABLE counters ( name TEXT PRIMARY KEY, count INTEGER DEFAULT 0 );-
创建Workers 导航至
Workers & Pages>Create application>Create Worker>"Hello World" Worker,新建后重命名为hits,复制hits-worker-code.js代码到Worker编辑器中的worker.js应用部署。 -
设置验证码 在Worker代码中找到
AUTH_CODE常量,将your_auth_code_here修改为你想要的验证码。这个验证码将用于创建新的计数器。 -
配置域名和绑定
- 在Worker代码中找到并修改
ALLOWED_DOMAIN为你的计数器域名,不要带协议名 - 在Worker的
Settings > Bindings > Add > D1 Database中:- 变量名称输入:
HITS - 数据库选择:
hits
- 变量名称输入:
- 在Worker的
Domains & Routes-Add-Custom domain中添加你的计数器域名
- 在Worker代码中找到并修改
部署完成后,访问你配置的域名即可看到计数器生成器页面,按照页面提示创建和使用计数器。
仅保留30天的日访问记录,超过30天的记录仅统计总数,避免数据库随时间无限增大耗尽免费额度。
注意不要泄露你部署的时候设置的验证码,无验证码不可创建新的计数器SVG,避免他人创建增加免费额度消耗
https://blog.cloudflare.com/zh-cn/making-full-stack-easier-d1-ga-hyperdrive-queues/
基本够个人用了
下载数统计:https://github.com/oneclickvirt/downloadcounter
感谢 hits.seeyoufarm.com 曾经提供的计数服务,https://github.com/gjbae1212/hit-counter 已被归档,本项目受此启发诞生。