uchill/docker/jitsi/web/custom/config.js

117 lines
4.1 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* eslint-disable no-unused-vars, no-var */
var config = {};
config.hosts = {
domain: 'meet.jitsi',
muc: 'muc.meet.jitsi',
};
// ВАЖНО: Переопределяем настройки из основного config.js
// Используем HTTP (ws://) вместо HTTPS (wss://) для локальной разработки
// Это соответствует настройкам в docker-compose.yml: PUBLIC_URL_PROTOCOL=http, DISABLE_HTTPS=1
// Используем 127.0.0.1 вместо localhost, чтобы избежать проблем с кешированием браузера
config.bosh = 'http://127.0.0.1:8443/http-bind';
config.websocket = 'ws://127.0.0.1:8443/xmpp-websocket';
// Переопределяем hosts для правильной работы
if (typeof config.hosts === 'undefined') {
config.hosts = {};
}
config.hosts.domain = 'meet.jitsi';
config.hosts.muc = 'muc.meet.jitsi';
// Язык по умолчанию
config.defaultLanguage = 'ru';
// Отключить prejoin страницу
config.prejoinPageEnabled = false;
// Не начинать с выключенным аудио/видео
config.startWithAudioMuted = false;
config.startWithVideoMuted = false;
// Отключить deep linking
config.disableDeepLinking = true;
// Отключить welcome/close страницы
config.enableWelcomePage = false;
config.enableClosePage = false;
// Отключить сторонние запросы
config.disableThirdPartyRequests = true;
// Разрешение видео: минимум 720P, рекомендация 1080P
config.resolution = 1080;
config.constraints = {
video: {
height: {
ideal: 1080,
max: 1080,
min: 720
},
width: {
ideal: 1920,
max: 1920,
min: 1280
}
}
};
// Включить обнаружение шумного микрофона
config.enableNoisyMicDetection = true;
// Отключить статистику и метрики
config.disableStats = true;
config.analytics = {
disabled: true
};
// Отключить запись
config.disableLocalRecording = true;
// КРИТИЧНО: Переопределяем bosh и websocket с защитой от перезаписи
// Используем Object.defineProperty для защиты от перезаписи основным config.js
(function() {
var boshUrl = 'http://127.0.0.1:8443/http-bind';
var websocketUrl = 'ws://127.0.0.1:8443/xmpp-websocket';
// Устанавливаем значения сразу
config.bosh = boshUrl;
config.websocket = websocketUrl;
// Защищаем от перезаписи через Object.defineProperty
try {
Object.defineProperty(config, 'bosh', {
get: function() { return boshUrl; },
set: function(value) {
console.warn('[Jitsi Custom Config] Попытка изменить config.bosh на', value, '- игнорируется');
},
configurable: false,
enumerable: true
});
Object.defineProperty(config, 'websocket', {
get: function() { return websocketUrl; },
set: function(value) {
console.warn('[Jitsi Custom Config] Попытка изменить config.websocket на', value, '- игнорируется');
},
configurable: false,
enumerable: true
});
} catch (e) {
// Если не удалось установить защиту, используем периодическую проверку
setInterval(function() {
if (config.bosh !== boshUrl) {
config.bosh = boshUrl;
console.log('[Jitsi Custom Config] Восстановлен config.bosh');
}
if (config.websocket !== websocketUrl) {
config.websocket = websocketUrl;
console.log('[Jitsi Custom Config] Восстановлен config.websocket');
}
}, 100);
}
})();