这是一个可以用来打卡的服务器.
客户端需要在设定的时间间隔内, 重复的的通过客户端向服务器发送一个请求打卡.
服务端则根据打卡记录, 分析用户的行为, 显示, 客户什么时候在线(online), 什么时候离线(offline)
下载最新的版本的 release bianry, 拷贝到一台 Linux 服务器上直接执行即可,
默认监听在 0.0.0.0:3000, 也可以手动指定监听地址和端口:
bin/daka -b 127.0.0.1 -p 3001
你可以通过环境变量 DAKAPWD
设定新的密码, 默认是 1234567
DAKAPWD=newpass bin/daka -b 127.0.0.1 -p 3001
默认要求打卡时间为 1 分钟
, 通过 DAKAINERVAL
设定要求的打卡间隔.
服务器允许 2 分钟时间的冗余, 即: 假如服务器设定要求打卡时间间隔为 10 分钟, 最长 12 分钟都被视为成功打卡.
可以通过访问 /admin 输入密码进入打卡记录页面.
你也可以直接通过命令行来查看打卡记录, 将会以表格的形式输出到终端.
$: xhs -b -a user:1234567 https://your_server/admin
客户端请使用 xh
以 Linux 下使用为例:
$: xhs -a user:1234567 https://your_server/daka hostname=${HOSTNAME} --ignore-stdin
hostname 是必须的, 用来区分不同用户.
Linux 系统可以通过 systemd, 实现定时打卡.
~/.config/systemd/user/daka.service
[Unit]
Description=daka
[Service]
Type=oneshot
ExecStart=/usr/local/bin/daka
~/.config/systemd/user/daka.service
[Unit]
Description=Run daka periodically
[Timer]
# DayOfWeek Year-Month-Day Hour:Minute:Second
# more detail, see man 5 systemd.timer man 7 systemd.time
OnCalendar=*-*-* *:00/1:00
RandomizedDelaySec=20
# Persistent=true
[Install]
WantedBy=timers.target
#!/usr/bin/env sh
set -eu
/usr/bin/xhs https://your_server/daka hostname=${HOSTNAME} --ignore-stdin --timeout=10
$: systemctl --user enable daka.timer --now
TODO: Write development instructions here
- Fork it (https://github.com/zw963/daka/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Billy.Zheng - creator and maintainer