CmdCode 访客统计系统 ● LIVE NEW

上线日期:2026-04-25 · 自动运行 · 无需维护

🏗️ 系统架构

组件文件技术功能
IP 采集器tracker.phpPHP每次访问主页自动记录 IP、地域、UA
统计面板stats.phpPHP MySQL暗色苹果风格数据看板
数据存储MySQL 数据库MySQL访问日志 + 日/周/月聚合表
地域识别IP → 地域APICloudflare 头 + ip-api.com 双判断

数据流向

👤 访客打开主页 📸 tracker.php 记录 🌍 IP 地域判断 💾 MySQL 入库 📊 stats 面板展示

📈 统计维度

今日数据
总访问 / 大陆 / 海外 / 独立IP
本周数据
周累计 + 大陆/海外分布
本月数据
月累计 + 大陆/海外分布
趋势图表
7日趋势 + 4周趋势柱状图

详细明细

🌍 地域判断逻辑

⚙️ 自动化特性

零维护
无需手动操作,访客即统计
轻量嵌入
1×1 像素 img,不影响页面加载
自动聚合
首次访问当天自动写入统计表
双格式输出
HTML 可视化 + JSON 程序化读取

🌐 访问方式

🐛 附:导航链接 404 Bug 修复记录

发现时间:2026-04-26  |  影响范围:7个全球站域名  |  状态:✅ 已修复

🐛 问题概述

全球站(非 appleclaw 域名)点击首页导航「📊 统计」后,页面跳转到 stats.php?format=html,返回 404 Not Found 错误。

用户点击统计链接时以为功能坏了,实际上是服务器端根本没有这个文件。

错误现象:
  • 点击「📊 统计」导航 → 空白页或 404 错误
  • 直接访问 https://qqcmd.cn/stats.php?format=html → HTTP 404
  • curl 测试:curl -sI https://qqcmd.cn/stats.php?format=html → 404

🔍 根因分析

两站服务器架构差异

项目🏠 香港站🌍 全球站
操作系统LinuxWindows IIS 10.0
PHP 支持✅ 支持❌ 不支持
文件类型PHP + HTML仅静态 HTML/JS
统计链接stats.php?format=htmlstats_combined.html
FTP 主机host0012314959.xincache1.cnhost9309191354.xincache1.cn

旧版导航逻辑 Bug

旧代码:
location.hostname.includes('appleclaw')
  ? 'stats_combined.html'        ← appleclaw 走这里 ✅
  : 'stats.php?format=html'      ← 其他全部走这里 ❌

问题:全球站非 appleclaw 域名(如 qqcmd.cn)也走进了 stats.php
但全球站是 IIS 服务器,根本没有 PHP → 404
⚠️ 注意:全球站 yyclaw.netyyyclaw.comqqqclaw.cnqqcmd.cnqqcmd.comqqcmd.netcmdclaw.net 这 7 个域名不在香港站也不含 appleclaw,所以被错误指向了不存在的 PHP 文件。

🔧 修复方案

修改全球站 /www/index.html 导航逻辑,改为精确判断:

修复后代码(2026-04-26):
location.hostname==='cmdcode.cn'
  ? 'stats.php?format=html'     ← 仅 cmdcode.cn 走 PHP 统计页
  : 'stats_combined.html'       ← 其他所有域名走静态页

生效范围

域名服务器修复前修复后状态
yyclaw.net全球站 IISstats.php → 404stats_combined.html✅ 已修复
yyyclaw.com全球站 IISstats.php → 404stats_combined.html✅ 已修复
qqqclaw.cn全球站 IISstats.php → 404stats_combined.html✅ 已修复
qqcmd.cn全球站 IISstats.php → 404stats_combined.html✅ 已修复
qqcmd.com全球站 IISstats.php → 404stats_combined.html✅ 已修复
qqcmd.net全球站 IISstats.php → 404stats_combined.html✅ 已修复
cmdclaw.net全球站 IISstats.php → 404stats_combined.html✅ 已修复

部署操作

# 1. 下载并修复 index.html
sed -i "s|location.hostname.includes('appleclaw')?'stats_combined.html':'stats.php?format=html'|location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'|g" index.html

# 2. 上传到全球站(所有全球站域名共享同一份 index.html)
lftp -u host9309191354,Xusu8800033 host9309191354.xincache1.cn -e "
set ftp:charset GBK
set ftp:passive-mode on
put -O /www/ /path/to/fixed_index.html -o index.html
quit
"

# 3. 验证
curl -sL https://qqcmd.cn/ | grep -o "location.href=.*stats"
# 应显示:location.href=location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'
💡 关键发现:全球站是虚拟主机配置,所有域名共享同一个 /www/index.html。只需上传一份修复后的文件,即可覆盖全部全球站域名。

🗺️ 域名服务器归属表

香港站域名(19个)→ PHP 追踪器

域名统计链接目标状态
cmdcode.cnstats.php?format=html✅ PHP 可用
yyyclaw.onlinestats_combined.html✅ 已修复
dnmclaw.com / .cnstats_combined.html✅ 已修复
appleclaw.top / .live / .pub / .vip / .online / .worldstats_combined.html✅ 已修复
qqclaw.space / .vip / .shop / .clubstats_combined.html✅ 已修复
qqcmd.shop / .onlinestats_combined.html✅ 已修复
cmdbot.cnstats_combined.html✅ 已修复
yyyclaw.netstats_combined.html✅ 已修复

全球站域名(16个)→ JS 追踪器(无 PHP)

域名统计链接目标修复前状态修复后
yyclaw.netstats_combined.html❌ 404
yyyclaw.comstats_combined.html❌ 404
qqqclaw.cnstats_combined.html❌ 404
qqcmd.cn / .com / .netstats_combined.html❌ 404
cmdclaw.netstats_combined.html❌ 404
appleclaw.cc / .shop / .space / .work / .net / .cloud / .chat / .studiostats_combined.html✅ 正常
qqclaw.sitestats_combined.html⚠️ HTTPS 挂了待处理

验证方法

验证步骤

# 1. 检查导航链接代码(应为修复后的逻辑)
curl -sL https://qqcmd.cn/ | grep -a "📊 统计"
# 应显示:onclick="location.href=location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'"

# 2. 检查统计页面是否 200 OK
curl -sI https://qqcmd.cn/stats_combined.html
# HTTP/2 200

# 3. 确认旧链接已 404(全球站无 PHP)
curl -sI https://qqcmd.cn/stats.php?format=html
# HTTP/2 404

# 4. 浏览器强制刷新(清除缓存)
# Windows: Ctrl + Shift + R
# Mac: Cmd + Shift + R
# 然后点击「📊 统计」链接
🕐 浏览器缓存:全球站 index.html 更新后,用户本地浏览器可能缓存了旧页面。修复后需强制刷新或清除浏览器缓存才能看到新导航逻辑。

📊 统计页面数据刷新机制

stats_combined.html 是纯静态 HTML 文件,本身不存储数据。页面打开时由 JS 实时从 API 拉取最新数据:

用户打开 stats_combined.html(静态页)
  ↓ JS fetch()
stats_combined_api.php(API 接口,香港站)
  ↓ SQL 查询
MySQL 数据库(visit_logs / global_visit_logs)
  ↓
实时渲染统计图表

数据更新方式

方式说明实时性
打开页面自动刷新每次打开 stats_combined.html 自动从 API 拉取✅ 实时
API 手动调用curl https://cmdcode.cn/stats_combined_api.php✅ 实时
访问任意域名首页自动触发 tracker 记录访问✅ 自动

🏗️ 技术栈速查

组件类型位置说明
tracker.phpPHP香港站 /www/香港站访问记录,写入 MySQL
tracker_global.phpPHP香港站 /www/全球站跨域 API(CORS 开放)
tracker_global.jsJS两站 /www/全球站 JS Tracker,跨域 POST 到 tracker_global.php
stats_combined_api.phpPHP香港站 /www/汇总统计 API
stats_combined.htmlHTML两站 /www/统计展示页,JS 实时拉取 API
MySQLDB香港站visit_logs + global_visit_logs