您需要先安装一个扩展,例如 篡改猴、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();
- }
- })();