Skip to content

xinzhe5/myAutoSign

Repository files navigation

每日自动签到与账号管理

这个文件夹里是一个 Chrome / Edge 扩展,可以管理 new-api 和 AnyRouter 账号,支持新增账号时自动识别目标站点登录信息,并在每日时间窗口内自动执行签到。

扩展也保留了原来的每日自动打开能力,可以按照你设置的本地时间,每天在该时间后的 30 分钟内随机打开以下页面:

  • https://linux.do/?tl=en
  • https://anyrouter.top/console

如果设定时间已经过去,而当时浏览器没有打开,扩展会在你当天稍后启动浏览器时自动补开一次。自动签到现在由独立的“自动签到”页面和账号 provider 执行。

版本更新

  • 当前版本:2.2.15
  • 2.2.15(2026-06-06):
    • 账号管理页面恢复四个操作图标在中间操作区显示
    • 账号状态标签移动到操作图标同一行,位于账号信息和余额信息之间
  • 2.2.14(2026-06-06):
    • 账号管理页面账号状态标签和签到、打开、编辑、删除图标合并到同一行显示
  • 2.2.13(2026-06-06):
    • 账号管理页面账号信息恢复左对齐,卡片宽度恢复原布局
    • 账号名称、用户名、状态标签、操作图标和余额信息在卡片中上下居中对齐
  • 2.2.12(2026-06-06):
    • 账号管理页面账号卡片整体限宽并居中显示
    • 账号名称、用户名和状态标签行改为居中对齐
  • 2.2.11(2026-06-06):
    • 账号管理页面账号卡片的签到、打开、编辑、删除图标固定一行显示
  • 2.2.10(2026-06-06):
    • 账号管理页面账号卡片不再显示站点地址、用户 ID 和最近时间
    • 账号卡片操作改为紧凑图标按钮,并放在账号信息和余额信息中间
    • 账号管理页面新增余额、今日消费和今日收入显示,布局与侧边栏保持一致
  • 2.2.9(2026-06-06):
    • 添加或编辑书签时,标签输入框下方会显示已有标签,点击即可选择或取消选择
    • 标签输入框仍可直接输入新标签,保存后会成为可复用标签
    • 侧边栏“账号信息”区域新增“新增书签”入口,可快速把当前标签页保存为书签
  • 2.2.8(2026-06-06):
    • 侧边栏选择“自动添加”后不再立即获取账号信息,改为进入表单后点击“自动识别当前站点”才开始识别
    • 自动添加表单会先预填当前站点地址,并提示下一步识别操作
  • 2.2.7(2026-06-06):
    • 书签卡片改为按主标签给整张卡片设置更明显的背景、边框、文字和悬停颜色
    • 书签链接文字也会跟随卡片主标签配色,避免只看到标签本身有颜色
  • 2.2.6(2026-06-06):
    • 书签管理页面新增左侧标签栏,点击标签即可直接切换筛选
    • 标签栏显示每个标签下的书签数量,窄屏会自动改为横向滚动
    • 不同标签的书签卡片会使用不同的整体背景和边框颜色
  • 2.2.5(2026-06-06):
    • 书签卡片总宽度固定为 120px,书签名称在卡片内超出省略
    • 左键点击书签卡片直接打开网站,右键点击书签卡片才显示打开、复制链接、置顶、编辑、删除菜单
  • 2.2.4(2026-06-06):
    • 书签不再写入或展示备注,导入外部书签时也会丢弃备注内容
    • 书签标签移动到名称前方,同一标签保持同色,不同标签使用不重复颜色
  • 2.2.3(2026-06-06):
    • 书签卡片操作改为参考脚本风格的小图标按钮,移除“打开、复制链接、置顶、编辑、删除”等外露文字按钮
    • 压缩书签卡片间距和链接展示,让每列能显示更多书签
  • 2.2.2(2026-06-06):
    • 书签管理列表改为桌面两列排列,窄屏自动回到单列
  • 2.2.1(2026-06-06):
    • 导入/导出页面支持导入 iTab 导出的 .itabdata 书签备份
    • iTab 书签会从 navConfig 分组中读取,分组名称会作为书签标签导入
  • 2.2.0(2026-06-06):
    • 主页面新增“导入/导出”:支持导出账号和书签、仅导出账号、仅导出书签
    • 导入支持选择 JSON 文件或粘贴备份内容,会按站点账号和书签链接去重合并,不覆盖现有数据
    • 导入兼容参考插件常见账号备份结构,包括 accounts.accountsaccounts.bookmarkssite_urlsite_nameaccount_info.access_tokentagStore
  • 2.1.0(2026-06-06):
    • 主页面新增“模型列表”:可按账号刷新模型目录,优先读取参考插件使用的 /api/pricing,失败时尝试 OpenAI 兼容 /v1/models,并支持搜索、提供商筛选、排序和复制当前模型名
    • 主页面新增“书签管理”:支持添加、编辑、删除、置顶、搜索、标签过滤、打开和复制常用站点入口
    • 新增模型列表缓存和书签本地存储,避免每次打开页面都重新请求站点
  • 2.0.8(2026-06-06):
    • 主页面参考插件布局固定左侧导航:账号管理和自动签到页面滚动时,左侧导航不再跟随内容一起上滑
  • 2.0.7(2026-06-06):
    • 侧边栏账号卡片统计区参考插件布局:余额显示为主数值,今日消费和今日收入合并为一行 - / + 金额,不再重复展示文字标签
    • 侧边栏账号卡片移除用户 ID 展示,仅保留用户名等必要信息
  • 2.0.6(2026-06-06):
    • 侧边栏账号卡片操作图标移动到启用状态后方,进一步压缩卡片高度并优化布局
    • 侧边栏账号卡片移除站点类型和认证方式标签,减少不必要的技术信息展示
  • 2.0.5(2026-06-06):
    • 侧边栏账号卡片的“编辑”和“打开”改为紧凑图标按钮,减少卡片占用宽度
  • 2.0.4(2026-06-06):
    • 侧边栏账号卡片改为更窄的紧凑布局,参考插件样式将账号信息和统计信息左右排列
    • 账号卡片右侧新增余额、今日消费、今日收入显示;统计来源为最近账号刷新或自动签到结果,暂无数据时显示 -
    • 自动签到结果会尽量附带余额、今日消费、今日收入快照,统计接口不可用时不影响签到流程
  • 2.0.3(2026-06-06):
    • 优化侧边栏首页:打开后会显示已保存账号信息,并将当前站点相关账号排在前面
    • 侧边栏新增“新增账号”入口,点开后可选择“自动添加”或“手动添加”
    • 侧边栏账号卡片支持直接编辑账号或打开对应站点
  • 2.0.2(2026-06-06):
    • Access Token 和 Turnstile Token 输入框新增小眼睛按钮,可手动显示或隐藏令牌内容
    • 新增重复账号提示:新增账号时,如果同站点同用户账号已在列表中,会先提示确认,避免误重复添加
  • 2.0.1(2026-06-06):
    • 修复在完整设置页执行自动识别时,只检查当前扩展页而无法命中目标站点标签页的问题
    • New API 自动识别改为参考插件流程:使用目标站点 Cookie 登录态读取 /api/user/self,必要时再调用 /api/user/token 获取系统访问令牌
    • 自动识别会优先在已打开的同源目标站点标签页中执行请求,减少后台跨站请求因 Cookie 上下文不一致导致的令牌获取失败
  • 2.0.0(2026-06-05):
    • 新增账号管理页面,与自动签到页面分离
    • 新增站点类型下拉选择,第一版支持 New API 和 AnyRouter
    • 新增账号自动识别能力,可从目标站点读取用户 ID、用户名、访问令牌和 Cookie
    • 新增侧边栏识别入口,点击扩展图标即可在当前目标站点旁边识别并保存账号
    • 优化访问令牌识别,兼容 auth_token / auth_user 登录态、短期 JWT 刷新和 New API /api/user/token 兜底获取
    • new-api 签到改为账号 provider 执行,并保存逐账号结果
    • 新增 AnyRouter 真实签到 provider,按参考实现使用 Cookie 认证请求 /api/user/sign_in
    • 新增自动签到状态卡片、结果表格、单账号重试和失败重试队列
    • 保留 Linux.do / AnyRouter 控制台自动打开,并与自动签到结果分开展示
  • 1.3.2(2026-05-14):
    • 修复 Chrome 中误把 Linux.do 配置为 new-api 签到站点时可能覆盖登录 Cookie,导致经常退出登录的问题
    • new-api 签到会跳过 Linux.do、AnyRouter 等自动打开目标,避免写入这些站点的 Cookie
    • 签到前后会清理临时动态请求头规则,避免旧规则残留影响后续页面请求
  • 1.3.1(2026-05-09):
    • 修复 Edge 重启时可能重复补开 Linux.do 和 AnyRouter 页面的情况
    • 自动打开前会检查目标标签页是否已经存在,已存在时不再重复创建
    • 补开成功后会先记录当天已打开,再执行 new-api 签到,避免签到异常导致下次启动再次补开
    • 最近 new-api 签到反馈改为每个站点单独一行显示,便于查看多个站点结果
  • 1.3.0(2026-05-05):
    • 暂时关闭 new-api 凭据自动获取功能
    • new-api 签到配置支持多个站点,可逐个填写站点地址、Access Token、用户 ID、Turnstile Token 和 Cookie
    • 定时任务和“立即签到”都会按配置列表顺序逐个执行签到,并汇总每个站点结果
  • 1.2.1(2026-05-05):
    • new-api 配置支持只填写站点地址后自动获取凭据
    • 自动获取会复用当前浏览器登录态,从站点页面存储和 Cookie 中提取候选凭据并用 /api/user/self 验证
    • 参考 GLaDOS_AutoCheckin 的做法,为 API 请求补充同站 Origin/Referer
  • 1.2.0(2026-05-05):
    • 集成 new-api 签到流程,支持配置站点地址、Access Token、用户 ID、Turnstile Token 和 Cookie
    • 设置页新增“最近 new-api 签到反馈”和“立即签到”按钮
    • 每日定时任务触发时会自动打开网页并尝试执行 new-api 签到
  • 1.1.1(2026-05-05):
    • 修复 Chrome 启动补开时没有可用普通窗口导致两个页面都打开失败的问题
    • 设置页的失败反馈增加 Chrome 返回的具体错误信息,便于后续排查
  • 1.1.0(2026-04-22):
    • 设置页新增“最近自动打开反馈”,显示最近打开时间与执行状态
    • 后台记录每次自动打开的结果(成功、部分成功、失败)
  • 1.0.0(2026-04-22):
    • 支持每天定时随机打开 https://linux.do/?tl=enhttps://anyrouter.top/console
    • 支持点击扩展图标直接进入设置页面
    • 更新扩展名称为“每日自动打开网页”并替换图标

文件说明

  • manifest.json:Chrome Manifest V3 配置文件
  • shared.js:站点类型、认证方式、状态枚举、账号归一化和时间工具
  • content.js:在目标站点内执行自动识别,读取登录态、用户信息,并按参考流程使用 Cookie 获取 New API 系统访问令牌
  • background.js:负责账号迁移、自动打开、自动签到调度、失败重试、provider 请求和自动识别调度
  • sidepanel.htmlsidepanel.csssidepanel.js:侧边栏账号自动识别入口
  • options.htmloptions.cssoptions.js:设置页面,包含账号管理、模型列表、书签管理、导入/导出、自动签到和基础设置视图
  • DEVELOPMENT_PLAN.md:本轮升级计划、实现进度和验证记录

加载扩展

  1. 打开 Chrome 或 Edge,访问 chrome://extensions/edge://extensions/
  2. 打开右上角“开发者模式”
  3. 点击“加载已解压的扩展程序”
  4. 选择本项目文件夹

页面说明

加载完成后,点击扩展图标会打开侧边栏。侧边栏会显示当前站点和已保存账号信息,点击“新增账号”后可选择自动添加或手动添加,也可以点击“新增书签”快速保存当前标签页。还可以在扩展列表里打开“扩展程序选项”,或在侧边栏中点击“设置”进入完整设置页。

完整设置页分为六个视图:

  • 账号管理:添加、编辑、删除账号,支持站点类型下拉选择和自动识别。
  • 模型列表:按账号刷新模型目录,支持搜索、提供商筛选、排序和复制模型名。
  • 书签管理:添加、编辑、删除、置顶、搜索和打开常用入口;添加或编辑时可选择已有标签,也可直接输入新标签。
  • 导入/导出:备份或迁移账号与书签,支持本插件 JSON 和参考插件常见账号备份结构。
  • 自动签到:配置每日签到时间窗口、立即签到、失败重试,并查看逐账号结果。
  • 基础设置:保留原来的每日自动打开 Linux.do / AnyRouter 控制台功能。

账号管理

新增或编辑账号时,站点类型通过下拉选择:

  • New API
  • AnyRouter

表单会按照站点类型和认证方式联动:

  • New API 默认使用 Access Token 认证,可填写用户 ID、Access Token、Turnstile Token 和 Cookie。
  • AnyRouter 默认使用 Cookie 认证,自动签到会请求 /api/user/sign_in,不是只打开控制台页面。
  • 输入 https://anyrouter.top/... 时会自动预选 AnyRouterCookie
  • Access Token 和 Turnstile Token 默认隐藏,可点击输入框右侧的小眼睛按钮显示或再次隐藏。
  • 新增账号保存前会检查同站点账号;如果当前登录账号已在列表中,会提示确认后再决定是否继续添加。

推荐流程:

  1. 在目标站点登录账号。
  2. 保持目标站点标签页已打开并处于登录状态。
  3. 点击扩展图标打开侧边栏。
  4. 点击“新增账号”,选择“自动添加”。
  5. 点击“自动识别当前站点”,确认识别结果后保存账号。

也可以在完整设置页的账号管理中点击“自动识别”。自动识别会尽量读取:

  • 用户名
  • 用户 ID
  • 系统访问令牌 / Access Token
  • Cookie

访问令牌识别会按以下路径尝试:

  • 对 New API 类站点,优先在目标站点标签页内用 Cookie 登录态请求 /api/user/self 读取用户信息;如果响应里没有系统访问令牌,会再请求 /api/user/token 获取。
  • 对 AnyRouter / Sub2API 类控制台,读取 auth_userauth_token;如果存在 refresh_tokentoken_expires_at,会在令牌临近过期时尝试刷新。
  • 对其他兼容站点,会读取目标站点页面存储中的常见登录态字段,如 auth_tokenaccess_tokenaccessTokentokenjwt_token
  • 后台会从所有已打开标签页中查找同源目标站点页,优先在目标站点上下文内完成识别。

不同 new-api 魔改站点的字段可能不完全一致,如果自动识别失败,可以手动填写后保存。

导入/导出

主页面的“导入/导出”支持:

  • 导出账号和书签完整备份
  • 仅导出账号
  • 仅导出书签
  • 从 JSON 文件导入
  • 从 iTab .itabdata 文件导入书签
  • 直接粘贴 JSON 内容导入

导入会合并到当前数据,不会删除已有账号或书签。账号按站点地址和用户 ID / 用户名判断重复,书签按链接判断重复;重复项会跳过。导入兼容本插件导出的备份、参考插件常见账号备份结构,也支持 iTab 导出的 .itabdata 书签备份。

导出的账号备份包含系统访问令牌、Cookie 等敏感信息,迁移完成后请妥善保管或删除备份文件。

自动签到

自动签到现在按账号执行,而不是按旧版 new-api 站点配置执行。

支持:

  • 每日自动签到开关
  • 签到时间窗口
  • 立即签到全部账号
  • 单账号重试
  • 只重试失败账号
  • 逐账号结果表格

当前 provider:

  • New API:沿用 /api/user/self/api/user/checkin 流程。
  • AnyRouter:按参考实现使用 Cookie 认证,请求 POST /api/user/sign_in

旧版 newApiCheckinConfig.sites 会在升级后自动迁移为账号列表。

Linux.do / AnyRouter 自动打开

Linux.do 自动打开功能仍然保留。

在“基础设置”中设置每天打开时间后,扩展会在该时间后的 30 分钟内随机打开:

  • https://linux.do/?tl=en
  • https://anyrouter.top/console

这部分只是辅助打开页面,和自动签到结果分开展示。AnyRouter 的真实签到由自动签到 provider 执行。

补开逻辑

  • 如果浏览器在基础设置的打开时间处于运行状态,扩展会在该时间后的 30 分钟内随机打开 Linux.do 和 AnyRouter 控制台。
  • 如果设定时间到达时浏览器完全关闭,扩展会在当天下一次启动浏览器时补开一次,但前提是当天还没有打开过。
  • 补开前会检查当前浏览器中是否已经存在 Linux.do 或 AnyRouter 控制台标签页,避免 Edge 会话恢复时重复打开。
  • 自动签到有独立的每日时间窗口和失败重试调度,不依赖自动打开页面。

注意事项

  • 扩展需要 <all_urls> 主机权限,才能在目标站点执行自动识别并请求你配置的站点接口。
  • 点击扩展图标会优先打开侧边栏;如果浏览器不支持侧边栏 API,会回退打开完整设置页。
  • AnyRouter 使用 Cookie 认证,Cookie 必须来自当前登录账号;同站点多账号 Cookie 认证存在天然限制。
  • 浏览器不允许普通 fetch 随意手动设置 Cookie 请求头;扩展会尽量把填写或识别到的 Cookie 写入浏览器 Cookie 存储,再由请求自动携带。
  • 如果站点启用了实时 Cloudflare、WAF 或 Turnstile 校验,Cookie 或 Turnstile Token 过期后需要重新识别或手动更新。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors