Skip to content

About

让 115 网盘网页版关掉浏览器不用重新登录 · 把会话级登录 Cookie 改写为持久 Cookie 的 Chromium 扩展

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

115 保活登录

让 115 网盘网页版关掉浏览器不用重新登录 · 一个只有 3 个文件的浏览器扩展

Manifest V3 Chromium 88+ License: MIT


这是个什么

115 网盘网页版有个让人难受的行为:关掉浏览器再打开,就得重新扫码登录。

原因是 115 把几个身份 Cookie(UID、CID、SEID、KID)下发成了会话级 Cookie——没有过期时间,只存在内存里,浏览器主进程一退出就销毁。这几个 Cookie 又带着 HttpOnly 标记,网页里的 JavaScript 改不了它们。

这个扩展只做一件事:在浏览器允许的范围内,把 115.com 下这些会话级 Cookie 的过期时间补上(改成约 395 天后过期)。

它不碰 Cookie 的值,一个字节都不改。 不动你的账号密码,不动登录流程,不请求任何外部服务器。

它做什么、不做什么

做:

  • 只处理 115.com 及其子域的 Cookie,其他网站碰不到(host_permissions 限定为 *://*.115.com/*,访问别的域名会被浏览器拒绝)。
  • 在四个时机自动处理:扩展装好时、浏览器启动时、Cookie 发生变化时、每 30 分钟兜底一次。
  • 保留每个 Cookie 原有的 httpOnly、secure、sameSite、domain、path 属性。

不做:

  • 不改 Cookie 内容、不劫持请求、不注入页面脚本。
  • 不收集任何数据,不上传任何东西,没有后端。
  • 不支持 Firefox / Safari(用的是 Chromium 的 chrome.cookies API)。

怎么装

适用于 Chrome、Edge、Brave、Cent Browser、Vivaldi 等 Chromium 内核浏览器。

  1. 下载或克隆本仓库到本地任意目录。
  2. 地址栏打开 chrome://extensions 回车(Edge 是 edge://extensions)。
  3. 打开右上角「开发者模式」。
  4. 点「加载已解压的扩展程序」,选择本仓库目录(含 manifest.json 的那一层)。
  5. 扩展列表里出现「115 保活登录」即安装完成。

装好后打开一次 115 网盘并保持登录(已登录的话随便打开一个 115 页面),让扩展抓到当前下发的 Cookie。

怎么确认生效

  • 扩展图标上的蓝色数字 = 当前 115.com 下已持久化的 Cookie 条数。数字不是 0 就说明在起作用。
  • 想看细节:在 chrome://extensions 点本扩展的「服务工作进程」,控制台里会出现 [115保活] xxx 已转为持久。日志只出现 Cookie 名字,不出现值。
  • 真正的验证:完整退出浏览器(所有窗口关掉),重新打开后访问 115 网盘,看是否还是登录状态。

⚠️ 退出浏览器请用正常方式(点关闭按钮或 Ctrl+Shift+Q),不要用任务管理器结束进程。强制结束进程时 Chromium 可能来不及把 Cookie 写进磁盘,重开后照样会掉登录——这是浏览器自身行为,不是扩展的问题。

卸载

chrome://extensions → 找到「115 保活登录」→「移除」。

注意:卸载不会把已经改成持久的 Cookie 改回去。 它们会一直有效到过期时间(约 395 天后),期间浏览器仍会保持登录。想立刻退出登录,请到浏览器设置里清除 115.com 的 Cookie,或在 115 网页端点「退出登录」。

已知限制

  • 持久 Cookie 上限 400 天:这是 Chromium 从 M104 起强制的限制,写更长会被截断。本扩展用 395 天留了余量。
  • 115 改了机制就失效:如果 115 以后改用别的登录凭据形式,或者主动清理这类持久 Cookie,扩展需要相应调整。
  • 服务端仍可让你掉线:本扩展只能让 Cookie 在本地活得更久。如果 115 服务端吊销了会话,或者你在别处重新登录导致同端互斥,还是会被踢下线。
  • 多设备 / 多浏览器不共享:每个浏览器 profile 需要单独安装。本扩展不提供跨设备 Cookie 同步。

风险提示(请先读这一段)

这个扩展的原理,是让 115 想让你「关浏览器就重新登录」的做法在本地失效。

  • 115 的官方说明里提到,使用非官方软件或接口可能触发风控甚至封号。本扩展没有模拟登录接口、没有自动请求、没有伪造设备,但它确实修改了 115 下发的 Cookie 属性。
  • 是否使用、是否长期使用,请你自己判断。本项目不保证你的账号不会被限制或封禁。
  • 建议只在自己的个人设备上用于自己的账号,不要把 Cookie 提取出来给他人或第三方工具使用(那属于另一种风险,本扩展也不做这件事)。

如果你介意上述风险,替代方案是使用 115 官方的「115 浏览器」,它内置了「关闭浏览器不退出账号」的开关。

实现要点(给想读代码的人)

要点 为什么
expirationDate 设 395 天 Chromium M104 起上限 400 天,超出会被截断
显式传 httpOnly: cookie.httpOnly chrome.cookies.set 默认 httpOnly: false,不显式传会把 HttpOnly 标记弄丢,等于把登录凭据暴露给网页脚本
host-only Cookie 用 url 而非 domain host-only 不接受 domain 参数
sameSite === "no_restriction" 需 secure 原数据异常时跳过,不硬改
只处理 session === true 写回后该 Cookie 不再是 session,自然幂等,不会自己跟自己打架
cookies.onChanged + 30 分钟 alarm 页面每次加载可能重发会话 Cookie 覆盖设置,需要即时改写;MV3 的 service worker 会被回收,靠 alarm 兜底
ensureAlarm 先 get 再 create 避免每次 worker 启动都重置计时

完整逻辑见 background.js,约 200 行,有注释。

许可

MIT。随意使用、修改、分发,保留版权声明即可。

免责声明

本项目与 115 科技无任何关联,非官方项目。使用本扩展造成的任何后果(包括但不限于账号被限制、数据丢失)由使用者自行承担。

About

让 115 网盘网页版关掉浏览器不用重新登录 · 把会话级登录 Cookie 改写为持久 Cookie 的 Chromium 扩展

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages