This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

ابحث في الدعم

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

I Don't have Mozilla so Why do I see many links & RTC Peer Connections when I view my Source Tools page?

more options

Hi, I'm trying to figure out Why my HP Laptop isn't working right. I'm Not able to login to my Foxnews.com Profile anymore for the past several Days & Today I've been in Chats w/Microsoft and they didn't fix anything either. I've also had Over $ xxxx from my Bank Account so, I'm trying to search Everything. I've tried using Internet Explorer & that didn't work either (Actually even Worse than Microsoft Edge that I Usually use). I can also be reached by cell at: [removed] or [removed]. Plz Help if you can? Thanks SOOO MUCH!

So, I just checked/right clicked & viewed my "Inspect Element" View Source... & I scrolled & found a few links to Mozilla for some reason & a Bunch of Code stuff. Here are a couple of the Links I found (I Don't even have Mozilla on my Laptop so that's Why I'm Super Confused about this now too. I'm Not Blaming Mozilla for Anything, Simply trying to figure out what happened to my Laptop & Why I Can't Login Completely to foxnews anymore lately???

So, here is a little more of what I copied & Pasted from my Element/Script Block page or whatever you call it. I Hope this Helps??? I Don't know what else to do at this point. I've been using Edge w/Adguard for a Long time now with No Problems until a few Days ago. I also do Not use Chrome but, I Do have it Installed on my Laptop. But, Not Mozilla. I used to before but, Microsoft told me I should use Edge to Work the Best w/my Windows 10 Pro Office...

https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration


 * WebSocket wrapper implementation.
        * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/349
        *
        * Based on:
        * https://github.com/adblockplus/adblockpluschrome/commit/457a336ee55a433217c3ffe5d363e5c6980f26f4
        */
       /**
        * As far as possible we must track everything we use that could be sabotaged by the website later in order to circumvent us.
        */
       var RealWebSocket = WebSocket;
       var closeWebSocket = Function.prototype.call.bind(RealWebSocket.prototype.close);
       function WrappedWebSocket(url, protocols) {
           // Throw correct exceptions if the constructor is used improperly.
           if (!(this instanceof WrappedWebSocket)) {
               return RealWebSocket();
           }
           if (arguments.length < 1) {
               return new RealWebSocket();
           }
           var websocket = new RealWebSocket(url, protocols);
           // This is the key point: checking if this WS should be blocked or not
           // Don't forget that the type of 'websocket.url' is String, but 'url 'parameter might have another type.
           checkRequest(websocket.url, 'WEBSOCKET', function (blocked) {
               if (blocked) {
                   closeWebSocket(websocket);
               }
           });
           return websocket;
       }
       // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/488
       WrappedWebSocket.prototype = RealWebSocket.prototype;
       window.WebSocket = WrappedWebSocket.bind();
       copyProperties(RealWebSocket, WebSocket, ["CONNECTING", "OPEN", "CLOSING", "CLOSED", "name", "prototype"]);
       RealWebSocket.prototype.constructor = WebSocket;
   };
   /**
    * The function overrides window.RTCPeerConnection with our wrapper, that will check ice servers URLs with filters through messaging with content-script.
    *
    * IMPORTANT NOTE:
    * This function is first loaded as a content script. The only purpose of it is to call
    * the "toString" method and use resulting string as a text content for injected script.
    */
   var overrideWebRTC = function () { // jshint ignore:line


       if (!(window.RTCPeerConnection instanceof Function) &&
           !(window.webkitRTCPeerConnection instanceof Function)) {
           return;
       }
       /**
        * RTCPeerConnection wrapper implementation.
        * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/588
        *
        * Based on:
        * https://github.com/adblockplus/adblockpluschrome/commit/af0585137be19011eace1cf68bf61eed2e6db974
        *
        * Chromium webRequest API doesn't allow the blocking of WebRTC connections
        * https://bugs.chromium.org/p/chromium/issues/detail?id=707683
        */
       var RealRTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection;
       var closeRTCPeerConnection = Function.prototype.call.bind(RealRTCPeerConnection.prototype.close);
       var RealArray = Array;
       var RealString = String;
       var createObject = Object.create;
       var defineProperty = Object.defineProperty;
       /**
        * Convert passed url to string
        * @param url URL
        * @returns {string}
        */
       function urlToString(url) {
           if (typeof url !== "undefined") {
               return RealString(url);
           }
       }
       /**
        * Creates new immutable array from original with some transform function
        * @param original
        * @param transform
        * @returns {*}
        */
       function safeCopyArray(original, transform) {
           if (original === null || typeof original !== "object") {
               return original;
           }
           var immutable = RealArray(original.length);
           for (var i = 0; i < immutable.length; i++) {
               defineProperty(immutable, i, {
                   configurable: false, enumerable: false, writable: false,
                   value: transform(original[i])
               });
           }
           defineProperty(immutable, "length", {
               configurable: false, enumerable: false, writable: false,
               value: immutable.length
           });
           return immutable;
       }
       /**
        * Protect configuration from mutations
        * @param configuration RTCPeerConnection configuration object
        * @returns {*}
        */
       function protectConfiguration(configuration) {
           if (configuration === null || typeof configuration !== "object") {
               return configuration;
           }
           var iceServers = safeCopyArray(
               configuration.iceServers,
               function (iceServer) {
                   var url = iceServer.url;
                   var urls = iceServer.urls;
                   // RTCPeerConnection doesn't iterate through pseudo Arrays of urls.
                   if (typeof urls !== "undefined" && !(urls instanceof RealArray)) {
                       urls = [urls];
                   }
                   return createObject(iceServer, {
                       url: {
                           configurable: false, enumerable: false, writable: false,
                           value: urlToString(url)
                       },
                       urls: {
                           configurable: false, enumerable: false, writable: false,
                           value: safeCopyArray(urls, urlToString)
                       }
                   });
               }
           );
           return createObject(configuration, {
               iceServers: {
                   configurable: false, enumerable: false, writable: false,
                   value: iceServers
               }
           });
       }
       /**
        * Check WebRTC connection's URL and close if it's blocked by rule
        * @param connection Connection
        * @param url URL to check
        */
       function checkWebRTCRequest(connection, url) {
           checkRequest(url, 'WEBRTC', function (blocked) {
               if (blocked) {
                   try {
                       closeRTCPeerConnection(connection);
                   } catch (e) {
                       // Ignore exceptions
                   }
               }
           });
       }
       /**
        * Check each URL of ice server in configuration for blocking.
        *
        * @param connection RTCPeerConnection
        * @param configuration Configuration for RTCPeerConnection
        * https://developer.mozilla.org/en-US/docs/Web/API/RTCConfiguration
        */
       function checkConfiguration(connection, configuration) {
           if (!configuration || !configuration.iceServers) {
               return;
           }
           var iceServers = configuration.iceServers;
           for (var i = 0; i < iceServers.length; i++) {
               var iceServer = iceServers[i];
               if (!iceServer) {
                   continue;
               }
               if (iceServer.url) {
                   checkWebRTCRequest(connection, iceServer.url);
               }
               if (iceServer.urls) {
                   for (var j = 0; j < iceServer.urls.length; j++) {
                       checkWebRTCRequest(connection, iceServer.urls[j]);
                   }
               }
           }
       }
       /**
        * Overrides setConfiguration method
        * https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration
Hi, I'm trying to figure out Why my HP Laptop isn't working right. I'm Not able to login to my Foxnews.com Profile anymore for the past several Days & Today I've been in Chats w/Microsoft and they didn't fix anything either. I've also had Over $ xxxx from my Bank Account so, I'm trying to search Everything. I've tried using Internet Explorer & that didn't work either (Actually even Worse than Microsoft Edge that I Usually use). I can also be reached by cell at: [removed] or [removed]. Plz Help if you can? Thanks SOOO MUCH! So, I just checked/right clicked & viewed my "Inspect Element" View Source... & I scrolled & found a few links to Mozilla for some reason & a Bunch of Code stuff. Here are a couple of the Links I found (I Don't even have Mozilla on my Laptop so that's Why I'm Super Confused about this now too. I'm Not Blaming Mozilla for Anything, Simply trying to figure out what happened to my Laptop & Why I Can't Login Completely to foxnews anymore lately??? So, here is a little more of what I copied & Pasted from my Element/Script Block page or whatever you call it. I Hope this Helps??? I Don't know what else to do at this point. I've been using Edge w/Adguard for a Long time now with No Problems until a few Days ago. I also do Not use Chrome but, I Do have it Installed on my Laptop. But, Not Mozilla. I used to before but, Microsoft told me I should use Edge to Work the Best w/my Windows 10 Pro Office... https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration * WebSocket wrapper implementation. * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/349 * * Based on: * https://github.com/adblockplus/adblockpluschrome/commit/457a336ee55a433217c3ffe5d363e5c6980f26f4 */ /** * As far as possible we must track everything we use that could be sabotaged by the website later in order to circumvent us. */ var RealWebSocket = WebSocket; var closeWebSocket = Function.prototype.call.bind(RealWebSocket.prototype.close); function WrappedWebSocket(url, protocols) { // Throw correct exceptions if the constructor is used improperly. if (!(this instanceof WrappedWebSocket)) { return RealWebSocket(); } if (arguments.length < 1) { return new RealWebSocket(); } var websocket = new RealWebSocket(url, protocols); // This is the key point: checking if this WS should be blocked or not // Don't forget that the type of 'websocket.url' is String, but 'url 'parameter might have another type. checkRequest(websocket.url, 'WEBSOCKET', function (blocked) { if (blocked) { closeWebSocket(websocket); } }); return websocket; } // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/488 WrappedWebSocket.prototype = RealWebSocket.prototype; window.WebSocket = WrappedWebSocket.bind(); copyProperties(RealWebSocket, WebSocket, ["CONNECTING", "OPEN", "CLOSING", "CLOSED", "name", "prototype"]); RealWebSocket.prototype.constructor = WebSocket; }; /** * The function overrides window.RTCPeerConnection with our wrapper, that will check ice servers URLs with filters through messaging with content-script. * * IMPORTANT NOTE: * This function is first loaded as a content script. The only purpose of it is to call * the "toString" method and use resulting string as a text content for injected script. */ var overrideWebRTC = function () { // jshint ignore:line if (!(window.RTCPeerConnection instanceof Function) && !(window.webkitRTCPeerConnection instanceof Function)) { return; } /** * RTCPeerConnection wrapper implementation. * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/588 * * Based on: * https://github.com/adblockplus/adblockpluschrome/commit/af0585137be19011eace1cf68bf61eed2e6db974 * * Chromium webRequest API doesn't allow the blocking of WebRTC connections * https://bugs.chromium.org/p/chromium/issues/detail?id=707683 */ var RealRTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection; var closeRTCPeerConnection = Function.prototype.call.bind(RealRTCPeerConnection.prototype.close); var RealArray = Array; var RealString = String; var createObject = Object.create; var defineProperty = Object.defineProperty; /** * Convert passed url to string * @param url URL * @returns {string} */ function urlToString(url) { if (typeof url !== "undefined") { return RealString(url); } } /** * Creates new immutable array from original with some transform function * @param original * @param transform * @returns {*} */ function safeCopyArray(original, transform) { if (original === null || typeof original !== "object") { return original; } var immutable = RealArray(original.length); for (var i = 0; i < immutable.length; i++) { defineProperty(immutable, i, { configurable: false, enumerable: false, writable: false, value: transform(original[i]) }); } defineProperty(immutable, "length", { configurable: false, enumerable: false, writable: false, value: immutable.length }); return immutable; } /** * Protect configuration from mutations * @param configuration RTCPeerConnection configuration object * @returns {*} */ function protectConfiguration(configuration) { if (configuration === null || typeof configuration !== "object") { return configuration; } var iceServers = safeCopyArray( configuration.iceServers, function (iceServer) { var url = iceServer.url; var urls = iceServer.urls; // RTCPeerConnection doesn't iterate through pseudo Arrays of urls. if (typeof urls !== "undefined" && !(urls instanceof RealArray)) { urls = [urls]; } return createObject(iceServer, { url: { configurable: false, enumerable: false, writable: false, value: urlToString(url) }, urls: { configurable: false, enumerable: false, writable: false, value: safeCopyArray(urls, urlToString) } }); } ); return createObject(configuration, { iceServers: { configurable: false, enumerable: false, writable: false, value: iceServers } }); } /** * Check WebRTC connection's URL and close if it's blocked by rule * @param connection Connection * @param url URL to check */ function checkWebRTCRequest(connection, url) { checkRequest(url, 'WEBRTC', function (blocked) { if (blocked) { try { closeRTCPeerConnection(connection); } catch (e) { // Ignore exceptions } } }); } /** * Check each URL of ice server in configuration for blocking. * * @param connection RTCPeerConnection * @param configuration Configuration for RTCPeerConnection * https://developer.mozilla.org/en-US/docs/Web/API/RTCConfiguration */ function checkConfiguration(connection, configuration) { if (!configuration || !configuration.iceServers) { return; } var iceServers = configuration.iceServers; for (var i = 0; i < iceServers.length; i++) { var iceServer = iceServers[i]; if (!iceServer) { continue; } if (iceServer.url) { checkWebRTCRequest(connection, iceServer.url); } if (iceServer.urls) { for (var j = 0; j < iceServer.urls.length; j++) { checkWebRTCRequest(connection, iceServer.urls[j]); } } } } /** * Overrides setConfiguration method * https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/setConfiguration

Modified by James

All Replies (6)

more options

Hi ConcreteCowboy, the Mozilla Developer Network site provides information to web developers that can work in many different browsers. I don't know why someone kept that link in there, but perhaps they planned to refer to it later. Also, the source code of Firefox is provided to the public under an open source license, so other programs are able to copy and use it for free. I don't know if that explains the files you found, but perhaps it does.

We have a support article that suggests free cleaning tools you might want to use if you suspect your system is compromised. See: Troubleshoot Firefox issues caused by malware.

Otherwise, since you do not have Firefox, I think this probably is beyond the scope of this forum.

more options

Hi Jscher2000, I Really Appreciate your Quick Reply however, I'm afraid it does Not Answer my Question Completely. I Don't know Why Anyone would be refrencing Mozilla website links in Code in my Element Source Page. So, I guess I'll keep Searching for Answers as to why Anyone used a few Mozilla Links and Chrome Links as well when I Don't use Either of those. Thanks Again!

more options

When you say it is your Element Source page, I think you mean it is a web page someone else wrote that you are viewing. So really, it's a question for them as to why they included that in the page.

more options

Well, I can kind of see what you're saying there but, I guess I just Still Don't Understand why it is Still on there when I click on "Debug Just My Code"? Everything is Still there & Nothing has changed from just "My Code" & All other... besides, I did Not write any Codes so I don't know...?

more options

Sorry, I don't use Edge so I don't know what you see in "My Code".

more options

No problem. Thanks anyway for trying