使用抗广告拦截代理在任意网站添加Umami自托管分析。涵盖:在Umami中创建网站,设置同域代理(Next.js、等)。
umami- setup – 在新网站添加分析器是一项面向实际任务的技能,主要用于Overview. 自办的 Ummi 分析器, 并带有一个相同的域名代理来绕过阻断器;脚本从您网站的同一域中发送, 所以块。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
自托管 Umami 分析服务,并通过同域代理绕过广告屏蔽器。该脚本从你的网站同域名下提供服务,因此屏蔽器将其识别为第一方资源。
analytics.casys.ai)# 登录 TOKEN=$(curl -s -X POST "https:///api/auth/login" -H "Content-Type: application/json" -d '{"username":"admin","password":" "}' | python3 -c "import json,sys; print(json.load(sys.stdin)['token'])") # 创建网站 curl -s -X POST "https:// /api/websites" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"name":" ","domain":" "}' | python3 -m json.tool
保存响应中的 id 字段值 —— 这就是你的 data-website-id。
代理将 Umami 的脚本文件和发送端点(/api/send)从你自己的域名下提供服务。广告屏蔽器无法将其与你自身的静态资源区分开来。
请根据你的技术栈选择对应方案:
// next.config.ts
const nextConfig: NextConfig = {
async rewrites() {
return [
{
source: "/u/script.js",
destination: "https:///script.js",
},
{
source: "/u/api/send",
destination: "https:///api/send",
},
];
},
};
然后在布局文件中加入以下代码:
{
"rewrites": [
{
"source": "/u/script.js",
"destination": "https:///script.js"
},
{
"source": "/u/api/send",
"destination": "https:///api/send"
}
]
}
然后在布局文件(一个或多个)的 标签前添加以下代码:
example.com {
handle /u/script.js {
rewrite * /script.js
reverse_proxy https:// {
header_up Host
}
}
handle /u/api/send {
rewrite * /api/send
reverse_proxy https:// {
header_up Host
}
}
}
location /u/script.js {
proxy_pass https:///script.js;
proxy_set_header Host ;
}
location /u/api/send {
proxy_pass https:///api/send;
proxy_set_header Host ;
}
curl -sI https:///u/script.js ,应返回 HTTP 状态码 200建议统一使用 /u/ 作为代理路径前缀。它简短、对广告屏蔽器不明显,且在各项目中保持一致:
| 项目 | 代理路径 | Umami 主机 |
|---|---|---|
| thenocodeguy.com | /umami/script.js |
analytics.casys.ai |
| casys.ai | /u/script.js |
analytics.casys.ai |
# 获取所有网站列表 curl -s -H "Authorization: Bearer $TOKEN" "https:///api/websites" # 获取某网站最近 24 小时统计数据 START=$(($(date +%s) * 1000 - 86400000)) END=$(($(date +%s) * 1000)) curl -s -H "Authorization: Bearer $TOKEN" "https:// /api/websites/ /stats?startAt=$START&endAt=$END" # 获取页面浏览数据(按天聚合) curl -s -H "Authorization: Bearer $TOKEN" "https:// /api/websites/ /pageviews?startAt=$START&endAt=$END&unit=day"
127.0.0.1,切勿将 Umami 直接暴露于公网/u/ 前缀可任意自定义(如 /stats/、/t/ 等),只要不与现有路由冲突即可相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章