您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
禁用 WebRTC 防止泄露真实ip,默认禁用 WebRTC,脚本菜单选项用于启用/禁用当前域名的 WebRTC
当前为
- // ==UserScript==
- // @name 禁用 WebRTC
- // @version 1.2
- // @description 禁用 WebRTC 防止泄露真实ip,默认禁用 WebRTC,脚本菜单选项用于启用/禁用当前域名的 WebRTC
- // @author ChatGPT
- // @match *://*/*
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_registerMenuCommand
- // @run-at document-start
- // @namespace https://greasyfork.org/users/452911
- // ==/UserScript==
- (function() {
- 'use strict';
- // 获取启用站点列表,默认为空数组
- const enabledSites = GM_getValue('enabledSites', []);
- // 获取当前网站的域名
- const currentURL = window.location.hostname;
- // 设置菜单命令的标签,根据当前域名是否在启用站点列表中决定显示的内容
- const menuCommandLabel = enabledSites.includes(currentURL)
- ? '设置当前域名禁用WebRTC'
- : '设置当前域名启用WebRTC';
- // 注册菜单命令,点击后切换当前域名的启用/禁用状态
- GM_registerMenuCommand(menuCommandLabel, function() {
- if (enabledSites.includes(currentURL)) {
- // 如果当前域名在启用站点列表中,则将其移除
- GM_setValue('enabledSites', enabledSites.filter(site => site !== currentURL));
- } else {
- // 如果当前域名不在启用站点列表中,则将其加入
- GM_setValue('enabledSites', [...enabledSites, currentURL]);
- }
- });
- // 默认禁用 WebRTC 的函数
- function disableWebRTC() {
- // 获取浏览器的 RTCPeerConnection 对象
- const RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection || window.msRTCPeerConnection;
- if (RTCPeerConnection) {
- // 替换 RTCPeerConnection 为一个抛出错误的函数,阻止其使用
- window.RTCPeerConnection = function() {
- throw new Error("RTCPeerConnection is disabled");
- };
- window.RTCPeerConnection.prototype = {};
- }
- }
- // 根据当前域名的状态启用或禁用 WebRTC
- if (!enabledSites.includes(currentURL)) {
- disableWebRTC();
- }
- })();