您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
禁用 WebRTC 防止泄露真实ip,默认禁用 WebRTC,脚本菜单选项用于启用/禁用当前域名的 WebRTC
当前为
// ==UserScript== // @name 禁用 WebRTC // @version 1.0 // @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() { Object.defineProperty(window, 'RTCPeerConnection', { value: function() { throw new Error('RTCPeerConnection is disabled'); } }); Object.defineProperty(window, 'webkitRTCPeerConnection', { value: function() { throw new Error('webkitRTCPeerConnection is disabled'); } }); Object.defineProperty(window, 'mozRTCPeerConnection', { value: function() { throw new Error('mozRTCPeerConnection is disabled'); } }); Object.defineProperty(window, 'msRTCPeerConnection', { value: function() { throw new Error('msRTCPeerConnection is disabled'); } }); if (typeof navigator.mediaDevices !== 'undefined') { Object.defineProperty(navigator.mediaDevices, 'getUserMedia', { value: function() { throw new Error('getUserMedia is disabled'); } }); } } // 根据当前域名的状态启用或禁用 WebRTC if (!enabledSites.includes(currentURL)) { disableWebRTC(); } })();