Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2019, 20:43
Новичок на форуме
Отправить личное сообщение для Maxxxim Посмотреть профиль Найти все сообщения от Maxxxim
 
Регистрация: 26.11.2015
Сообщений: 6

Что за объект chrome?
Доброго времени суток. Помогите кто-нибудь. Есть расширение для хрома WebRTC Network Limiter и оно рабочее. Вот часть кода:
'use strict';
 
var pn = chrome.privacy.network;
var pi = null;
 
function browserSupportsIPHandlingPolicy() {
  return pn.webRTCIPHandlingPolicy !== undefined;
}
 
function browserSupportsNonProxiedUdpBoolean() {
  return pn.webRTCNonProxiedUdpEnabled !== undefined;
}
 
// Handle the case when this is installed in pre-M48.
if (!browserSupportsIPHandlingPolicy()) {
  chrome.privacy.IPHandlingPolicy = {};
  chrome.privacy.IPHandlingPolicy.DEFAULT = 0;
  chrome.privacy.IPHandlingPolicy.DEFAULT_PUBLIC_AND_PRIVATE_INTERFACES = 1;
  chrome.privacy.IPHandlingPolicy.DEFAULT_PUBLIC_INTERFACE_ONLY = 2;
  chrome.privacy.IPHandlingPolicy.DISABLE_NON_PROXIED_UDP = 3;
}
 
pi = chrome.privacy.IPHandlingPolicy;
 
// Helper function to convert the parameters to policy synchronously.
function convertToPolicy(allowMultiRoute, allowUdp) {
  if (!allowUdp) {
    return pi.DISABLE_NON_PROXIED_UDP;
  }
 
  if (!allowMultiRoute) {
    return pi.DEFAULT_PUBLIC_INTERFACE_ONLY;
  }
 
  return pi.DEFAULT;
}
 
// This function just returns the new policy value based on the 2 booleans
// without changing any preferences.
function getPolicyFromBooleans(callback) {
  pn.webRTCMultipleRoutesEnabled.get({}, function(allowMultiRoute) {
    if (!browserSupportsNonProxiedUdpBoolean()) {
      callback(convertToPolicy(allowMultiRoute.value, true));
    } else {
      pn.webRTCNonProxiedUdpEnabled.get({}, function(allowUdp) {
        callback(convertToPolicy(allowMultiRoute.value,
                                 allowUdp.value));
      });
    }
  });
}


Проблема возникает здесь:

var pn = chrome.privacy.network;


Я пытаюсь запустить скрипт на хромиуме, вообще там скрипты работают, а этот не хочет, суть проблемы в том, что возникает ошибка, связанная с тем, что chrome.privacy==undefined и 'network' у undefined быть не может. Пробовал запустить в консоли - то же самое. Чувствую, что есть разница между запуском простого скрипта и расширения. Кто подскажет, в чём разница и что это за объект chrome, почему в скрипте и консоли он не имеет поле private, а в расширении имеет. Мне не лень читать. Я прочитал на хабре статью про создание расширения, там не упоминалось об отличиях между простыми скриптами и расширениями, также я пытался гуглить "javascript объект chrome", но сами понимаете что chrome и в гугле и в яндексе толкуется не так как я бы хотел. Заранее благодарен за ответы. И спасибо за сайт, раза 3 перечитывал и пользуюсь как справочником, может чего-то не прочитал
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2019, 00:24
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Maxxxim
что это за объект chrome, почему в скрипте и консоли он не имеет поле private, а в расширении имеет.
В объекте chrome находятся дополнительные методы, которые добавляются туда после получения соответствующего разрешения, например, разрешение на чтение и изменение всех вкладок, чтение и изменение истории, обмен данными с любым устройством в локальной сети или в Интернете, доступ к списку сетевых подключений, запись в файлы и папки, которые вы открываете в приложении, и пр.

Вы понимаете, что это возможности, которые не должны быть доступны на любом сайте?

Сообщение от Maxxxim
я пытался гуглить "javascript объект chrome"
https://developers.chrome.com/extensions/devguide
Ответить с цитированием
  #3 (permalink)  
Старый 03.08.2019, 00:38
Новичок на форуме
Отправить личное сообщение для Maxxxim Посмотреть профиль Найти все сообщения от Maxxxim
 
Регистрация: 26.11.2015
Сообщений: 6

Я это понимаю, но я не хочу это запускать на каком-либо сайте, понимаю, что создатели браузера позаботились о том, чтобы это нельзя было запустить просто так, но у меня управляемый браузер хромиум и мне хотелось бы обойти WebRTC, это просто какая-то заноза в заднице, в гугле никакой толковой информации и понятно почему, единственный вариант обойти - это установка гугловского же расширения код которого я привёл выше, оно отключает эту технологию и баг с нею связанный. Я бы очень хотел даже не получить готовое решение, а получить варианты, по которым можно было бы посмотреть информацию. Неужели только хирургическое вмешательство в исходники хромиум?
P.S. Разрабов хромиум просят о функции отключения этой херни уже 3 года как, они это могут сделать минут за пять, но по итогу они формально сделали возможность анонимизации, которую каждый пользователь хрома может увидеть по адресу в своём браузере chrome://flags/#enable-webrtc-hide-local-ips-with-mdns , но это всё равно не отключает WebRTC, всё палится, а отключение при запуске через параметры командной строки им тоже не судьба сделать, хотя, я думаю, что это 5 минут делов, но понятно, почему они этого не делают. Подскажите куда копать, кто знает.

Последний раз редактировалось Maxxxim, 03.08.2019 в 00:49.
Ответить с цитированием
  #4 (permalink)  
Старый 03.08.2019, 13:09
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Цитата:
единственный вариант обойти - это установка гугловского же расширения код которого я привёл выше
И чем этот вариант не устраивает?
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с базой данных kda7979 AJAX и COMET 38 15.04.2019 07:35
✨☠CSS челлендж☠✨ Malleys (X)HTML/CSS 13 17.01.2019 15:29
Баги Opera пишем сюда devote Оффтопик 101 08.08.2013 05:56
Кто как учит/учил/ будет учить Английский ? DjDiablo Оффтопик 53 18.12.2012 21:01
Получить размеры рабочей области окна в Chrome unclechu Events/DOM/Window 1 13.09.2011 02:37