一个对 LoCyanFrp 的 Windows 自动签到项目。
- OAuth
access_token GET /sign->POST /sign- 主备 API 自动切换
- 401 后自动重取 token
- Windows 单实例锁,避免并发运行
- 成功、失败桌面右上角提示( + 常驻错误窗口)
logs/auto_sign.log和last_status.json
locyanfrp-auto-sign/
├─ auto_sign.py
├─ get_refresh_token.py
├─ config.example.json
├─ requirements.txt
├─ .gitignore
└─ README.md
- Windows 10 / 11
- 项目编写环境为Python 3.9+
- 已在 LoCyanFrp 网站创建 OAuth 应用
在 LoCyanFrp 网站准备一个 OAuth 应用,确认自己的app_id。

建议申请的最小权限:
Sign.ReadSign.Action.Sign
git clone https://github.com/HXwHSJS/locyanfrp-auto-sign.git
cd locyanfrp-auto-sign
-本项目只依赖一个第三方库:requests.
py -m pip install -r requirements.txt-你可以先检查是否已安装
py -c "import requests; print(requests.__version__)" 复制示例配置:
copy config.example.json config.json
然后编辑 config.json。
先填好app_id:
{
"app_id": "你的应用ID",
"refresh_token": ""
}
refresh_token先留空,下一步会自动写入。
浏览器打开下面的链接,把 你的应用ID 改成你的 app_id:
https://dashboard.locyanfrp.cn/auth/oauth/authorize?client_id=你的应用ID&scopes=Sign.Read,Sign.Action.Sign&mode=code
授权成功后,页面会给你一个一次性 code。
运行:
py get_refresh_token.py按提示粘贴 code。
成功后,脚本会自动把 refresh_token 写进 config.json。

运行:
py auto_sign.py正常情况下,你会看到以下结果之一:
- 今日已签到,无需重复操作
- 签到成功
- 明确的错误信息
日志文件在:
logs\auto_sign.log
状态文件在:
last_status.json
注意:状态文件仅记录最后一次签到日志,log文件记录完整日志。
py auto_sign.py --test-success
py auto_sign.py --test-failure
你应该会看到(右上角):
- 成功:绿色短提醒
- 失败:红色长提醒与其下方常驻错误窗口
推荐配置:
- 名称:
LoCyanFrp Auto Sign(建议选项,随意) - 仅当用户登录时运行
- 可选:使用最高权限运行
- 1.新建
- 2.按预定计划
- 3.每天(根据自己时段)
- 4.勾选“已启用”
程序或脚本:
你的 python.exe 绝对路径
例如:
H:\Tools\Python\3.9.8\python.exe
添加参数:
auto_sign.py
起始于:
项目目录绝对路径
例如:
H:\LocyanSign
如果是笔记本,建议取消勾选“只有在计算机使用交流电源时才启动此任务”

打开 config.json,常见字段如下:
"traffic_unit": "GB"用于提示文案展示单位。
"notify_on_success": true,
"notify_on_already_signed": false,
"notify_on_failure": truenotify_on_success:签到成功是否提示notify_on_already_signed:今天已签到是否提示notify_on_failure:失败是否提示
"popup_right_margin": 20,
"popup_top": 40,
"popup_stack_gap": 10popup_right_margin:距离右边的边距popup_top:距离顶部的边距popup_stack_gap:红提示与常驻窗口之间的间距
首次部署完成后,先手动运行一次,再配置计划任务。
- 这是第三方项目,不是 LoCyanFrp 官方项目
- 用户需要自行承担使用风险(API都写了,可能不会有事?LocyanFrp牛逼)
- 请勿把自己的 token 上传到 GitHub
这通常是本机网络、代理、证书或 PyPI 连接问题,不是本项目脚本本身的问题。
你可以先执行:
py -c "import requests; print(requests.__version__)"如果已经安装了 requests,并且版本不低于 2.15.0,可以直接跳过依赖安装,继续执行后续步骤。

