<h1>软路由时间追踪:WakaTime API统计配置完整教程</h1>
<h2>为什么要在软路由上跑WakaTime?</h2>
很多人把WakaTime当成IDE插件,写完代码顺手上传时间线,其实它还能塞进OpenWrt、iStoreOS这类软路由系统里,把“写代码”换成“跑脚本”“刷代理ip池”“爬数据”——只要终端有活动,就能被WakaTime当成“项目”记录下来。好处有三:1. 路由器24h在线,不担心电脑关机漏掉时间;2. 多设备流量统一汇总,一眼看出哪台VPS在摸鱼;3. 把“代理ip消耗量”与“开发时长”挂钩,方便跟老板或客户报账,省得天天手动填Excel。
<h2>前置准备:给软路由装个“小尾巴”</h2>
- 能ssh进路由,内核≥4.14,内存≥256M,带opkg或apk包管理器即可。
- 先配好透明代理,让路由本身流量走代理IP,这样WakaTime心跳才不会被墙。推荐用Clash Meta内核,支持VLESS/XTLS,订阅链接里自带“自动测速”节点,省得半夜掉线。
- 去WakaTime官网→Settings→Account→Secret API Key,复制那串waka_*,待会儿要填进路由。
<h2>一分钟安装:用Docker最省事</h2>
软路由插了U盘或SSD的,直接装Docker CE:
opkg update && opkg install docker docker-compose
新建文件夹:
mkdir -p /root/wakatime && cd /root/wakatime
写个docker-compose.yml,把API_KEY塞进去:
version: "3"
services:
wakatime:
image: wakatime/dash:latest
container_name: wakatime
environment:
- API_KEY=waka_你的密钥
- TZ=Asia/Shanghai
volumes:
- ./data:/data
restart: unless-stopped
一键起飞:
docker-compose up -d
容器跑起来后,每30秒向WakaTime服务器发一次心跳,默认项目名叫“Unknown”,后面可以改。
<h2>进阶玩法:把代理ip池也当成“项目”</h2>
WakaTime心跳里有个“project”字段,我们可以让不同代理IP段对应不同项目名,方便统计哪批IP最耗时。写个bash脚本:
#!/bin/sh
# /root/wakatime_proxy.sh
PROXY_IP=$(curl -s --max-time 2 http://api.ipify.org)
case $PROXY_IP in
23.105.*|104.238.*) PROJECT="美国原生IP" ;;
43.134.*|103.215.*) PROJECT="香港家宽IP" ;;
*) PROJECT="其他代理IP" ;;
esac
# 发送心跳
docker exec wakatime
waka-cli --entity "proxy_pool" --project "$PROJECT" --language "Shell"
把脚本塞进crontab,每5分钟跑一次,WakaTime后台就能按“项目”维度看到不同代理IP的消耗时长,配合“Leaderboard”插件,还能跟同事比谁刷IP更肝。
<h2>防火墙小贴士:别让心跳漏出去</h2>
软路由默认LAN口不走代理,会导致WakaTime心跳直连,暴露真实IP。在Clash Meta里加一条:
- SRC-IP-CIDR,192.168.31.1/32,DIRECT
- DST-PORT,443,PROXY
把路由本机443端口流量强制走代理IP,心跳就干净又安全。
<h2>常见翻车点</h2>
- 容器时间不对:docker加环境变量TZ=Asia/Shanghai,否则WakaTime显示UTC,对不上国内加班表。
- API_KEY多行粘贴:OpenWrt的vi喜欢自动换行,确认密钥在同一行,否则报401。
- 内存太小:128M老路由跑Docker会OOM,改用手动版waka-cli,静态编译二进制仅3M,够用。
<h2>可视化:把数据推到钉钉飞书</h2>
WakaTime自带Webhook,填个飞书机器人地址,每天23:59推送“今日代理IP使用时长Top3”,老板看了直呼专业。想再炫一点,用Grafana+InfluxDB,把waka-cli输出改写成行协议,一张大屏实时滚动“香港家宽IP今日在线8.7小时”,客户立刻打钱。
<h2>结尾彩蛋</h2>
整套下来,路由器摇身一变“时间审计+代理IP审计”双料神器,代码没写几行,KPI直接拉满。采购代理IP请添加微信客户经理:x31471626
评论0