Skip to content

🚫 全面解除网页限制:选中、复制、右键等统统搞定 | Unlock selection, copy, right-click and more — fuck all web restrictions.

License

Notifications You must be signed in to change notification settings

MT-Y-TM/Fuck_All_Web_Restrictions

Repository files navigation

Fuck_All_Web_Restrictions

去他妈的网页限制!(官方译名)

Dynamic JSON Badge 本项目的规则历史数量记录图表(每两小时更新) Domain Rules Trend Chart

解除网页上的选中、复制、右键等常见限制,让你彻底摆脱“只读网页”的束缚。

本仓库主要用于托管油猴脚本的默认配置文件,也欢迎大家通过 GitHub Issues 提出使用反馈、报告问题、补充更多网站的配置规则。

🔥 简介

这是一个功能强大且灵活的油猴脚本(Tampermonkey/Greasemonkey),旨在全局解除网页中常见的前端限制操作,让你重新获得对网页内容的控制权。脚本可以解除的限制包括但不限于:

  • 禁止选中和复制页面文本
  • 禁用右键菜单
  • 移除覆盖在页面上的透明遮罩层
  • 提供更强力的解除模式,应对复杂的反复制手段 (Canvas Enhanced)

该脚本适用于绝大多数通过 JavaScript 实现“反用户操作”的网页,让你重新掌控浏览器的使用权。

⚠️ 重要提示:请务必阅读!

  • 在更新脚本前,请务必备份您在脚本内 // --- 用户本地配置区��� --- 中定义的 localRules 否则,您的自定义规则可能会在更新时被覆盖。
  • 本脚本通过修改页面行为来工作,可能与某些网站的特定功能(如视频播放器的右键菜单、弹幕显示、特定交互式元素)产生冲突。如果您遇到此类问题,请参考下面的 “如何配置不需要被解除限制的网站” 部分进行解决。

📦 安装地址

点击下方链接,在 Greasy Fork 上安装此脚本:

👉 https://greasyfork.org/zh-CN/scripts/535372

🛠 使用说明

  1. 安装 Tampermonkey 插件(或兼容的用户脚本管理器,推荐使用最新版 Tampermonkey)。
  2. 打开上方 Greasy Fork 链接并点击“安装此脚本”。
  3. 脚本安装后通常会自动生效,无需手动配置即可在大部分网站上解除限制。刷新网页即可体验自由!

⚙️ 如何配置不需要被解除限制的网站

本脚本提供两种方法来控制其在特定网站上的行为:

方法一:通过油猴扩展快速禁用(推荐初学者)

这是最直接的方法,适用于临时或针对当前页面快速禁用脚本:

  1. 访问您希望禁用脚本功能的网站。
  2. 点击浏览器地址栏旁边或工具栏上的油猴扩展图标。
  3. 选择“在此网站禁用”或“排除该网址”(具体选项可能因油猴版本而异)。

如何恢复不小心排除的网址:

  1. 点击油猴扩展图标。
  2. 点击本脚本名称:《全局解除选中、复制与右键限制》。
  3. 在跳转到脚本详情或设置页后,找到并点击左上角的“设置”图标(通常是一个齿轮形状)。
  4. 在设置界面查找“包括/排除”或类似的区域,其中会有一个“用户排除”列表。
  5. 在该列表中,您可以找到并删除您不小心错误排除的网址条目。

方法二:通过脚本内的 localRules 进行高级自定义配置(推荐有经验用户)

通过修改脚本源码中的 localRules 变量,您可以实现对特定网站行为的精细化控制。您定义的 localRules 将优先于远程配置,这意味着您可以覆盖远程配置的默认行为,或者为特定网站定义全新的规则。这适用于需要���久化、细粒度控制某个网站解除行为的场景。

配置步骤:

  1. 点击油猴扩展图标,然后点击本脚本名称:《全局解除选中、复制与右键限制》进入脚本编辑页面。

  2. 向下滚动,找到脚本顶部(通常在 // ==UserScript== 块下方)的 // --- 用户本地配置区域 ---提示:您可以使用浏览器的查找功能(通常按 Ctrl + F,Mac 上是 Cmd + F)搜索关键词 // --- 用户本地配置区域 --- 来快速定位。

  3. 移除示例 localRules 数组外面的 /**/ 注释符号,以启用本地配置功能。 (示例代码通常在注释中)

    /*
    const localRules = [
      // ... 您的规则 ...
    ];
    */
    // 启用后应变为:
    const localRules = [
      // ... 您的规则 ...
    ];
  4. 根据您想要修改的网站行为,在已启用的 localRules 数组中添加或修改规则对象。

    • 每个规则对象应包含 "domain"(网站域名的正则表达式字符串)和您想要调整的配置项。
    • 对象之间需要用逗号 , 分隔。

    示例:如果您想完全禁用脚本在某个网站(例如 example.com)上的所有解除限制功能,可以添加:

    {
      "domain": "\\.example\\.com$", // 匹配 example.com 及其子域名
      "unlockOff": true              // 在此网站禁用所有解除限制功能
    }

    示例:如果您在 Bilibili 视频页面想恢复右键菜单,并且避免弹幕被移除(可能与移除遮罩有关),可以添加或修改针对 Bilibili 的规则:

    {
      "domain": "bilibili\\.com", // 匹配 Bilibili 域名(也可以是 "\\.bilibili\\.com$" 根据具体需求)
      "unlockContext": false,     // 禁用解除右键菜单限制(恢复右键菜单)
      "unlockOverlay": false      // 如果弹幕问题与遮罩层相关,可以禁用此项
    }
  5. 完成修改后,务必保存脚本(通常按 Ctrl + S 或点击编辑器上方的“保存”按钮)。

❓ 如何手动清除配置缓存:

如果您发现修改了远程配置文件(例如在 GitHub 上)后,脚本没有加载最新的规则,可能是本地缓存导致。您可以按以下步骤手动清除缓存,强制脚本下次运行时重新下载远程配置:

  1. 点击油猴扩展图标,点击本脚本名称:《全局解除选中、复制与右键限制》进入编辑页面。
  2. 在脚本顶部,找到以下两行代码:
    //GM_setValue('remote_config_cache', null);
    //GM_setValue('remote_config_cache_time', 0);
  3. 移除这两行前面的 // 注释符号,使其变成:
    GM_setValue('remote_config_cache', null);
    GM_setValue('remote_config_cache_time', 0);
  4. 保存 脚本。
  5. 刷新您希望脚本加载最新配置的页面。脚本会在这次运行中清除旧缓存并尝试下载新配置。
  6. 重要: 验证新配置已加载后,请务必再次将这两行代码注释掉,恢复到 //GM_setValue(...) 的状态,并再次保存脚本,以免每次页面加载都清除缓存影响性能。

💡 如何获取网站域名的正则表达式:

如果您不确定如何编写网站的正则表达式,可以向 AI(例如 ChatGPT、Gemini、Deepseek、通义、豆包、Kimi、文心一言、元宝、智谱 等)提问,例如:“请写一个用于油猴脚本匹配网站 https://www.example.com/path/to/page 的正则表达式。” AI 通常能提供正确的 "domain" 匹配模式。请注意,"domain" 字段只需要匹配域名部分,不需要匹配完整的 URL 路径。

📚 JSON 配置字段说明:

以下是规则对象中可以使用的字段及其说明:

  • "domain" (String): 必填。 一个正则表达式字符串,用于匹配需要应用此规则的网站域名。
    • 示例:
      • "\\.example\\.com$" 匹配 example.com 及其所有子域名(如 www.example.com, sub.example.com)。
      • "^test\\.com$" 仅匹配 test.com,不匹配 www.test.com
      • "bilibili\\.com" 匹配所有包含 bilibili.com 的域名。
  • "comment" (String): 可选。用于在 JSON 中添加注释的字段,脚本解析配置时会忽略包含此字段的对象,不将其作为规则处理。
  • "unlockSelect" (Boolean): 是否解除页面文本选中限制。true:解除;false:不解除。
  • "unlockCopy" (Boolean): 是否解除页面文本复制/剪切限制。true:解除;false:不解除。
  • "unlockContext" (Boolean): 是否解除右键菜单限制(即恢复右键功能)。true:恢复;false:不恢复。
  • "unlockOverlay" (Boolean): 是否尝试移除页面上的常见透明遮罩层(常规版)。true:移除;false:不移除。
  • "unlockOverlayPro" (Boolean): 是否尝试强力移除页面上的遮罩层及鼠标事件阻碍(强力版)。true:强力移除;false:不强力移除。
    • 注意:如果 unlockOverlayunlockOverlayPro 同时设置为 trueunlockOverlayPro 将优先。
  • "forceUnlockAll" (Boolean): 是否启用“强力解除所有限制模式”。此模式会非常激进地尝试解除几乎所有限制,包括某些 JavaScript 行为和定时器。true:启用;false:不启用。
    • 注意:此模式优先级很高,一旦启用,将忽略其他解除限制设置,并可能影响页面正常功能。
  • "unlockOff" (Boolean): 最高优先级。 是否在此网站上完全禁用本脚本的所有解除限制功能。true:在此网站禁用;false:不禁用。
    • 注意:如果此项设置为 true,脚本将立即退出,不会执行任何解除限制操作。

✅ 支持站点

  • 绝大多数使用 JS 限制操作的中文/英文网站(理论上其他语言也可以)
  • 持续更新适配中。默认配置文件包含了一些常见网站的规则。

🐞 报告问题或建议适配新网站 / 贡献规则

本脚本已尽力适配常见限制,但互联网网站千变万化,总会有些地方可能无法正常工作,或者与网站原有功能冲突。

如果您在使用过程中遇到以下情况,恳请您花一点时间将问题反馈给我:

  • 在某个网站上,脚本未能解除您预期的限制。
  • 在某个网站上,脚本的某个功能(如移除遮罩层)导致了网站原有功能异常。
  • 您有希望脚本适配或优化解除规则的新网站。

您的反馈对我持续改进脚本至关重要!您的反馈和贡献就像 BT 种子,汇聚大家的力量,才能让这个脚本不断完善,惠及更多用户,让我们一起进步!

反馈途径:

  1. Greasy Fork 评论区: 在脚本页面下方留言反馈。
  2. GitHub Issues: 如果您熟悉 GitHub,可以在本仓库的 Issues 页面 提交问题(推荐,便于跟踪和交流)。请点击这里提交:👉 提交 Issue

反馈格式建议 (请尽量提供以下信息):

请在反馈 Issue 或评论中包含以下信息,以便我更快地定位问题:

  • 网站 URL: 请提供完整的页面链接,例如 https://www.some-problem-site.net/article/123
  • 问题描述: 详细说明遇到的具体问题,例如“文章内容无法选中和复制”、“右键菜单打不开”、“登录弹窗移不掉”、“点击某个按钮没反应”等。
  • 期望效果/冲突功能: 说明您希望脚本在该网站上实现什么功能,或者认为脚本的哪个功能与网站冲突了(例如“希望可以正常复制文本”、“发现‘强力遮罩’导致页面布局错乱”)。
  • 浏览器及版本: 例如 Chrome v120, Firefox v115。
  • Tampermonkey 版本: 例如 Tampermonkey v4.19。
  • 脚本版本: 您当前安装的脚本版本号(可以在 Tampermonkey 面板查看)。
  • 是否使用了本地配置 (localRules): 是/否。如果使用了,并且该网站使用了本地规则,最好能提供该网站对应的本地规则代码段。

例如,一个良好的反馈示例:


网站 URL: [https://www.some-problem-site.net/article/123](https://www.some-problem-site.net/article/123)
问题描述: 文章内容无法复制
期望效果/冲突功能: 希望可以正常复制文本
浏览器及版本: Edge v124
Tampermonkey 版本: v4.20
脚本版本: v1.4.7
是否使用了本地配置: 否


🙏 特别鸣谢:

  • :感谢每一位使用、支持并提出反馈的用户!
  • 我 (yui酱):感谢我提出宝贵的想法和持续的测试反馈,使脚本功能日益完善。(厚脸皮)
  • Gemini (Google AI):感谢在脚本功能设计、代码优化和文档编写过程中提供的专业指导和建议。
  • ChatGPT (OpenAI):感谢在部分代码实现和文档润色方面提供的支持和帮助。
  • GitHub 仓库 Star: 如果本项目对您有帮助,并希望支持我继续改进和维护,请点个 Star ⭐ 吧!您的每一个 Star 都是对我莫大的鼓励!

📕 小故事:

  • 历时开发大约25个小时,从零到现在的完成品,本脚本起源于第一次投稿的晚上的前一晚的十点钟,在 Edge 打开我的微信公众号文章,结果发现居然不给我选择文本?天理难容!然后又想起来每次上机房课的只能查得到 CSDN(别问,问就是不够时间翻别人的个人博客),这个崽种也不给我复制文章内容。所以,一气之下开始编写本脚本。
  • 中间尝试过把百度文库撕开,但是失败了,我的技术能力不足以支撑我对抗这种大公司。(悲

🎃 如果你想了解本脚本的运作逻辑图解可以点击👉这里查看

About

🚫 全面解除网页限制:选中、复制、右键等统统搞定 | Unlock selection, copy, right-click and more — fuck all web restrictions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published