C

Chrome Web Store Link to Mirror

Created 16 hours ago
Updated 16 hours ago
Automatically replace Chrome Web Store links with CrxSoso mirror links, with quick search menu
#Chrome商店
#镜像工具
#链接重定向
Statistics
Total Installs
16
Last 24h
+16
User Rating
-
将 Chrome 商店链接自动替换为国内可访问的 CrxSoso 镜像,并提供关键词搜索功能

Chrome 商店链接自动替换为镜像 · CrxSoso Mirror

一个开箱即用的油猴(Tampermonkey / Violentmonkey)脚本。自动扫描网页上的 Chrome 网上应用店链接,把「无法直接访问」的官方链接替换为「国内可用」的 CrxSoso 镜像链接;并在脚本菜单中提供关键词快速搜索弹窗。

version license platform


✨ 功能一览

功能 说明
🔗 链接自动替换 页面上所有 chromewebstore.google.com / chrome.google.com 链接自动改写为 CrxSoso 镜像
🆔 智能 ID 提取 从各种格式的商店链接中正确解析 32 位扩展 ID
🖱️ 点击双重拦截 捕获阶段拦截 click,防止页面脚本绕过 href 强行跳转
👀 DOM 动态监听 MutationObserver 监听 SPA / 懒加载内容,新增链接也会被处理
🔍 菜单搜索弹窗 在脚本菜单点一下,弹窗输入关键词或扩展 ID 即可跳转镜像搜索
📋 剪贴板自动填充 打开弹窗时自动读取剪贴板中的扩展 ID / 商店链接并填入
⌨️ 快捷键支持 Enter 搜索(新标签)· Ctrl/Cmd+Enter 当前页打开 · Esc 关闭
🛟 降级兼容 不支持菜单的脚本管理器会在页面右下角显示 🔍 悬浮按钮

🚀 快速开始

1. 安装脚本管理器

浏览器需先安装以下任一扩展(任选其一即可):

  • Tampermonkey(推荐,兼容性最好)
    • Chrome Web Store(如果你能访问的话)
    • 国内也可从各大扩展镜像站安装
  • Violentmonkey(轻量开源)
  • Greasemonkey(Firefox 用户可选用)
  • ScriptCat(推荐)
  • 其他也可以

2. 安装脚本

  1. chrome-store-mirror.user.js 源码完整复制到剪贴板
  2. 点击浏览器右上角脚本管理器图标 → 添加新脚本...(或「Create a new script」)
  3. 清空编辑器默认的模板代码
  4. 粘贴复制的源码,按 Ctrl+S(macOS Cmd+S)保存
  5. 安装完成后可以在任意网页打开,链接替换功能立即生效

ℹ️ 也可以把 .user.js 文件直接拖进 Tampermonkey 的「已安装脚本」页面,会自动识别并安装。


🧩 使用方式

功能一:链接自动替换(零操作)

逛论坛 / 博客 / 群聊网页时,遇到类似下面的 Chrome 商店链接:

https://chromewebstore.google.com/detail/howdz起始页/ggglfehkglgpenacfalffmiojghklamm

脚本会自动把它替换成镜像链接:

https://www.crxsoso.com/webstore/detail/ggglfehkglgpenacfalffmiojghklamm

替换后的链接会有 绿色虚线下划线 作为视觉提示,鼠标悬停时 tooltip 也会显示「已替换为 CrxSoso 镜像链接」。

支持的链接格式:

  • https://chromewebstore.google.com/detail/{名称}/{32位ID}(新版商店)
  • https://chromewebstore.google.com/detail/{32位ID}
  • https://chrome.google.com/webstore/detail/{名称}/{32位ID}(旧版商店)
  • https://chrome.google.com/webstore/detail/{32位ID}
  • 以上所有格式带查询参数 (?xxx=yyy) / 锚点 (#section) 的变体

功能二:脚本菜单搜索

在任意网页:

  1. 点击浏览器工具栏上的 油猴图标
  2. 找到 「Chrome 商店链接自动替换为镜像
  3. 点击子菜单:
    • 🔍 搜索扩展 / 关键词 — 弹出搜索框
    • ⚙️ 打开 CrxSoso 首页 — 直接跳转镜像站首页

搜索弹窗操作

输入任意内容后回车,跳转到:

https://www.crxsoso.com/search?keyword={输入内容}&store=chrome

示例输入:

输入内容 说明
ggglfehkglgpenacfalffmiojghklamm 32 位扩展 ID,直接定位扩展
广告拦截 中文关键词搜索
adblock 英文关键词搜索

快捷键

快捷键 作用
Enter 新标签页打开搜索结果
Ctrl + Enter(Windows)
Cmd + Enter(macOS)
当前页面打开搜索结果
Esc 关闭弹窗

💡 小技巧:打开弹窗时,如果你的剪贴板里正好是扩展 ID 或 Chrome 商店链接,脚本会自动把它填入输入框,省下一步 Ctrl+V


⚙️ 自定义配置

打开脚本编辑器,找到最上方的 CONFIG 对象(约第 20 行),按需修改:

const CONFIG = {
    // 镜像站详情页前缀(想换别的镜像?改这里)
    mirrorBase: 'https://www.crxsoso.com/webstore/detail/',
    // 镜像站搜索页前缀
    searchBase: 'https://www.crxsoso.com/search',
    // 识别的 Chrome 商店域名列表(新增镜像解析域名可加进来)
    storeDomains: [
        'chromewebstore.google.com',
        'chrome.google.com'
    ],
    // 扩展 ID 长度(一般不用改)
    extensionIdLength: 32,
    // 是否在浏览器控制台输出调试日志
    debug: false,
    // 搜索结果默认是否在新标签页打开
    searchOpenInNewTab: true
};

常用调整:

  • 换一个镜像站:把 mirrorBasesearchBase 改成对应地址,注意详情页 URL 拼接规则是 {mirrorBase}{extId},搜索页要支持 ?keyword=xxx&store=chrome 的格式。
  • 调试排查问题debug: true 后在 DevTools 控制台可看到每次替换 / 搜索跳转的日志。
  • 搜索默认当前页打开:把 searchOpenInNewTab 改为 false

🛠️ 技术要点

三重链接替换保障

  1. 静态扫描document-idle 时遍历 document.querySelectorAll('a[href]'),直接修改 href 属性。处理过的节点会打 data-_chromeStoreMirrorProcessed=true 标记,避免重复替换。
  2. 点击事件捕获阶段拦截addEventListener(..., true)):部分站点用 JS 在冒泡阶段处理跳转,捕获阶段能先拿到事件。对尚未替换成功的 href 直接 preventDefault 并用 location.href / window.open 接管跳转。
  3. MutationObserver 动态监听
    • childList + subtree: true:监听 SPA 路由切换 / 异步加载插入的新节点
    • attributes + attributeFilter: ['href']:防止站点脚本在替换之后又把 href 改回去
    • 带 100ms 节流,避免频繁触发卡顿

菜单 / 悬浮按钮双通路

  • 优先使用 GM_registerMenuCommand(以及 Violentmonkey 4.x 的 GM.registerMenuCommand
  • 两个 API 都不可用时,自动降级为在 body 右下角注入一个 🔍 圆形渐变悬浮按钮
  • 两种入口最终调用的都是同一个 openSearchDialog(),行为完全一致

剪贴板智能识别

打开搜索弹窗时会尝试读取剪贴板:

内容像是 32 位扩展 ID?  → 直接填入
内容是 Chrome 商店链接? → 从链接里提取出 ID 再填入
其它内容                → 不做处理,保持空白

浏览器会在首次读取时弹权限提示(一般是「允许此站点查看您的剪贴板」),选「允许」即可获得最佳体验;选择「拒绝」也不影响其它功能,只是需要手动粘贴。


🔧 故障排查

现象 可能原因 解决方法
菜单里看不到搜索命令 首次从 1.0.0 升级到 1.0.1,油猴没刷新权限声明 打开脚本编辑器,任意改一个字符再保存(触发元信息重载),或者重新安装脚本
链接没被替换,跳转到官方商店了 控制台可能有报错;或者该链接是 window.open 跳转而非 <a> 标签 打开 CONFIG.debug = true,控制台筛 [ChromeStoreMirror] 日志;点击拦截已经兜底大多数 JS 跳转,如仍有漏网之鱼请提交 Issue
打开弹窗剪贴板没自动填 浏览器剪贴板权限被拒绝;或内容不是扩展 ID / 商店链接 到站点设置里允许脚本所在页面的剪贴板权限;手动粘贴也可
某些 SPA 页面切路由后新链接没替换 MutationObserver 可能没命中该节点变化 F5 刷新页面可立即重新全量扫描
搜索后页面 404 镜像站改了搜索路由格式 修改 CONFIG.searchBasebuildSearchUrl() 函数适配新格式

📜 版本记录

v1.0.1(2026-07-31)

  • ✨ 新增油猴菜单命令「🔍 搜索扩展 / 关键词」和「⚙️ 打开 CrxSoso 首页」
  • ✨ 新增自定义模态搜索弹窗,支持 Enter / Ctrl+Enter / Esc 快捷键
  • ✨ 剪贴板智能识别(扩展 ID 或 Chrome 商店链接自动填入)
  • ✨ 新增 CONFIG.searchBase / CONFIG.searchOpenInNewTab 配置
  • ✨ 不支持菜单 API 时降级为页面右下角 🔍 悬浮按钮
  • ♻️ 统一跳转函数 openUrl(),优先使用 GM_openInTab 并带回退

v1.0.0(2026-07-30)

  • 🎉 初版发布:链接自动替换、点击捕获拦截、MutationObserver 动态监听
  • 🎨 替换后链接绿色虚线下划线 + tooltip 提示

📄 AI生成,可随意使用,修改直接找AI

MIT License © AI

免责声明:本脚本仅做链接替换,不对镜像站内容负责;请尊重相关扩展的作者版权,仅用于个人研究用途。

Script Details
Applicable Sites
LicenseAI生成,随意使用
Permissions & access
Capabilities
Menu commandOpen tab