Как запретить на Youtube все каналы, кроме разрешённых (белый список каналов)

ОГЛАВЛЕНИЕ


Подготовительные работы

Если Вам просто нужно ПОЛНОСТЬЮ забанить "ютубчик" - сразу переходите в раздел Как запретить сайт Youtube полностью и всё остальное можете не читать.

Если нужно разрешить просмотр видео только с определённых отдельных каналов на Youtube, запретив просмотр видео со всех остальных каналов, то предполагается, что Вы прочитали предыдущую статью про БЕЛЫЙ СПИСОК и в точности выполнили всё, что в ней предлагается предварительно сделать.

Иными словами, у Вас уже работает прокси-сервер Privoxy и Вы предприняли все упомянутые мной необходимые меры безопасности, чтобы юный раздолбай неразумный ребёнок ничего не смог поменять в настройках или как-то вмешаться в работу Privoxy.

Как запретить сайт Youtube полностью

Если Вам нужно просто запретить доступ к сайту Youtube целиком, то проще всего (с правами Администратора) открыть в текстовом редакторе файл hosts, лежащий в директории C:\WINDOWS\System32\drivers\etc\ и внести в него две строки, после чего сохранить:

0.0.0.0 youtube.com
0.0.0.0 www.youtube.com

Теперь сайт Youtube не откроется никогда, хе-хе. :-)

Как быстро разрешить отдельные каналы из белого списка

Если перед Вами стоит задача разрешить только отдельные каналы на Youtube, не запрещая Youtube целиком и не запрещая все остальные сайты (не создавая белый список сайтов), то ниже по пунктам расписан самый простой способ это сделать (повторюсь, но увы - Вам всё равно предварительно придётся пройти весь путь из статьи БЕЛЫЙ СПИСОК и в точности выполнить всё, что в ней предлагается исполнить - иначе способ не сработает).

Скачиваем дополнительный фильтр для Privoxy (youtube.filter)

Кликаем скачать youtube.filter, чтобы скачать последнюю версию, и куда-нибудь сохраняем этот файл.

https://www.balpom.ru/download/whitelist/youtube.filter


Кликаем на свежескачанном файле youtube.filter правой кнопкой мыши и выбираем "Копировать".

youtube.filter


Переходим в директорию C:\privoxy, кликаем на пустом месте правой кнопкой мыши и выбираем "Вставить".

youtube.filter Privoxy


Убеждаемся, что файл youtube.filter скопировался в директорию C:\privoxy

C:\privoxy\youtube.filter

Прописываем youtube.filter в конфиг Privoxy

Кликаем правой кнопкой мыши на файле config.txt и выбираем "Открыть".

config.txt C:\privoxy\


Откроется конфигурационный файл Privoxy config.txt.

Configuration file for Privoxy


Находим в нём строку:
filterfile default.filter

filterfile user.filter filterfile default.filter


Вставляем перед ней строку:
filterfile youtube.filter

Сохраняем файл.

добавить youtube.filter C:\privoxy\config.txt подключить filterfile youtube.filter

Прописываем дополнительные действия в файл user.action

Кликаем правой кнопкой мыши на файле user.action и выбираем "Открыть".

user.action C:\privoxy\


Откроется файл user.action.

user.action file


Прокручиваем файл user.action до конца.
Если Вы делали всё точно по статье БЕЛЫЙ СПИСОК, то в конце файла user.action у Вас должны быть строки:

{+https-inspection}
.

{+ignore-certificate-errors}
.

https-inspection ignore-certificate-errors user.action file


В конец файла user.action нужно аккуратно прописать строки:

{+redirect{s@^https://www.youtu.be@https://www.youtube.com@}}
.youtu.be/

{+redirect{s@^https://youtu.be@https://www.youtube.com@}}
.youtu.be/

{+redirect{s@^https://www.youtube-nocookie.com@https://www.youtube.com@}}
.youtube-nocookie.com/

{+redirect{s@^https://youtube-nocookie.com@https://www.youtube.com@}}
.youtube-nocookie.com/

{ +block{Total ban} +add-header{HTTP/1.0 404 Not Found} }
www.youtube.com/gaming
music.youtube.com
.youtube.com/error
.youtube.com/.*\/haxer-
.ytimg.com/an_webp/
play.google.com
studio.youtube.com
www.youtube.com/ads/
.finditnowonline.com
www.youtube.com/youtubei/.*\/log_event
www.youtube.com/api/stats/qoe
www.youtube.com/api/stats/watchtime
www.youtube.com/api/stats/atr
www.youtube.com/api/stats/playback
www.youtube.com/api/timedtext
www.youtube.com/ptracking
www.youtube.com/pagead/
www.google.ru/pagead/lvz
www.youtube.com/s/desktop/.*\/www-tampering.js
www.youtube.com/sw.js
www.youtube.com/s/player/.*\/miniplayer.js
www.youtube.com/s/desktop/.*\/spf.js
.youtube.com/sw.js
.youtube.com/?feature=ytca
.youtube.com/manifest.webmanifest

{ +filter{youtube-polymer-block}}
www.youtube.com/$

{ +filter{youtube-player-injection}}
www.youtube.com/s/player/.*\/base.js

{ +filter{youtube-enabled-channels} +filter{youtube-common}}
www.youtube.com/$
www.youtube.com/result
www.youtube.com/results?search_query=
www.youtube.com/@
www.youtube.com/watch
www.youtube.com/shorts/
www.youtube.com/feed/
www.youtube.com/channel/

При этом конец файла user.action станет выглядеть так (в свой вариант я добавил некоторые комментарии):

блокируем каналы www.youtube.com video block channels

Да, у предлагаемого мной способа создания белого списка каналов Youtube есть недостатки, которые я постарался перечислить.
Вполне возможно, что недостатков ещё больше, только я их не сумел выявить все.  

Я это к тому, что, возможно, некоторые URL Youtube банятся зря.
Но зато в моём варианте Youtube не отправляет буквально посекундно фиг знает куда фиг знает какие логи и статистику и не создаёт паразитный трафик (как в "незабаненной" версии). ;-)

Запрещаем установку дополнений в браузерах

Зачем запрещать установку дополнений в браузерах?
Дело в том, что теоретически можно нарушить работу белого списка каналов Youtube, установив в браузер блокировщий рекламы наподобие uBlock Origin или AdBlock (подробнее см. недостатки предлагаемого мной способа бана каналов Youtube).

Практически это будет сделать затруднительно, так как при включенном белом списке сайт (поддомен) с плагинами и дополнениями для браузера в общем случае будет забанен.
Однако ничто не мешает мотивированному на безделье юному дарованию скачать блокировщик у приятеля и принести на флешке.

Соответственно, не забудьте ЗАПРЕТИТЬ УСТАНОВКУ РАСШИРЕНИЙ И ДОПОЛНЕНИЙ В БРАУЗЕРАХ!

Удаляем кэш браузера для сайта www.youtube.com

ВНИМАНИЕ!
Прежде чем приступать к тестированию или к эксплуатации белого списка каналов Youtube ОБЯЗАТЕЛЬНО УДАЛИТЕ КЭШ БРАУЗЕРА для сайта www.youtube.com!
Если Вы не знаете, как это сделать - смотрите статью КАК УДАЛИТЬ КЭШ БРАУЗЕРА.

Тестируем работу белого списка каналов Youtube

Пришла пора протестировать работу белого списка каналов Youtube.
Для наглядности я запустил Privoxy в ручном режиме.
У Вас, по идее, если Вы делали всё точно по статье БЕЛЫЙ СПИСОК, Privoxy должен запускаться как служба Windows.

Итак, запускаем браузер, обязательно сбрасываем кэш браузера для сайта Youtube и открываем сайт www.youtube.com.
Как видно, сайт Youtube открывается и весь его трафик проходит через Privoxy.

Privoxy www.youtube.com первый запуск www.youtube.com с нуля


Попробуем найти в Ютуб канал старика Кабанова, ;-)   дай Бог ему добрейшего здоровья и всех жизненных благ.
Алексей делает великое и полезнейшее дело, ведя свой образовательный канал по информатике kompege.

Как видно, страница с результатами поиска открывается.

Алексей Кабанов информатика канал kompege https://www.youtube.com/@kompege


Канал kompege находится в белом списке в скачанном и установленном Вами файле youtube.filter.
Попробуем открыть какое-нибудь видео с канала kompege.

Как видно, страница с видео открывается.

информатика видео с канала Алексея Кабанова kompege


Прокрутим страницу вниз и опробуем открыть видео с какого-нибудь первого попавшегося канала.

левое видео Youtube нежелательный канал


Страница с левым каналом пытается загрузиться...

загрузка левое видео Youtube загружается нежелательный канал

... но срабатывает мой хитровыдуманный JavaScript, который Privoxy вставляет в конец всех страниц Youtube из файла youtube.filter, и канал блокируется.




Вернёмся обратно на предыдущую страницу (нажмём в браузере "стрелку влево").

Alt-Left Backspace вернуться на предыдущую страницу браузер


Откроется страница с видео канала kompege, которую мы до этого открывали.

Попробуем открыть видео с канала старика Трушина, ;-)   дай Бог и ему добрейшего здоровья и всех жизненных благ.
Борис также делает великое и полезнейшее дело, ведя свой образовательный канал по информатике trushinbv.

разрешённое видео Youtube разрешённый канал

Вообще, авторы / ведущие всех каналов, перечисленных мной в файле youtube.filter, несомненно, достойнейшие люди и дай Бог и им всем добрейшего здоровья и всех жизненных благ.

Мой хитровыдуманный JavaScript из файла youtube.filter работает таким образом, что, в частности, вынужден принудительно перезагружать страницы Youtube, так как web-приложение Youtube хитрым образом кэширует всё, что только можно, и, если не перезагружать страницу, то будут разного рода глюки.

При перезагрузке страницы на сайте Youtube может отображаться сообщение "Нет подключения к интернету. Проверьте подключение к интернету".
Не обращайте на него внимания и просто дождитесь, пока страница полностью загрузится.

Нет подключения к интернету Youtube Проверьте подключение к интернету www.youtube.com


Видно, что страница с видео, относящаяся к каналу trushinbv, загружается...

Борис Трушин информатика канал trushinbv https://www.youtube.com/@trushinbv

... а само видео воспроизводится.

информатика видео с канала Бориса Трушина trushinbv


Останавливаем воспроизведение и переходим на главную страницу Youtube, кликнув на логотип Youtube в левом верхнем углу.

переходим на главную страницу Youtube


При загрузке главной страницы Youtube также может отображаться сообщение "Нет подключения к интернету. Проверьте подключение к интернету".
Дождитесь, пока страница полностью загрузится.

https://www.youtube.com главная страница нет подключения к интернету проверьте подключение к интернету


После того, как мы поискали и посмотрели какие-то видео, по идее, при загрузке главной страницы Youtube на ней должны начать отображаться рекомендации Youtube в виде ссылок на всевозможные видео с различных каналов, причём выполненные в виде "бесконечной ленты" (их можно прокручивать бесконечно).
Однако, как видно, никаких рекомендаций не видно :-)   - они вырезаются скриптом.

вырезан предпросмотр превью видео www.youtube.com главная страница

Зачем так сделано?
В старых версиях youtube.filter превьюшки видео никак не затрагивались.
При этом практика показала, что не настроенные на учёбу / на подготовку к ЕГЭ юные раздолбаи отдельные несознательные малолетние индивидуумы, у которых уже нет ни смартфона и ни планшета, у которых на компьютере запрещены почти все сайты и которым разрешили Youtube только потому, что там есть обучающие видео, находят способ пинать х... ничего не делать: они тупо десятками минут скроллят эти бесконечные превьюшки и - внимание! - наводя на них курсор мыши, ПРЕДПРОСМАТРИВАЮТ. Да, без звука. Но, что бы не делать, лишь бы ничего не делать...

В-общем, в youtube.filter я, как могу, борюсь с этими превью видео...

Попробуем напрямую открыть какой-нибудь левый канал.

trash трэш треш

Как видно, он сразу банится. В-общем, худо-бедно, но каналы фильтруются...

баним трэш запрещаем треш

Как добавить свои каналы в белый список каналов Youtube

В директории C:\privoxy кликаем правой кнопкой мыши на файл youtube.filter и выбираем "Открыть с помощью".

youtube.filter C:\privoxy добавить каналы Youtube разрешить каналы Youtube


Если выскочит окно с вопросом "Каким образом вы хотите открыть этот файл?"...

Каким образом вы хотите открыть этот файл?

...выбирайте "Блокнот" и нажмите "OK".

всегда использовать это приложение для открытия файлов filter


Откроется файл youtube.filter.
Как видно, в нём создаётся JavaScript, в котором есть массив enabled_channels, в котором в кавычках через запятую перечисленны названия разрешённых каналов.
По аналогии, Вы можете добавлять свои каналы (не указывайте "собачку" @ перед названием канала!!!).
Будьте внимательны с кавычками и запятыми и не забывайте сохранить файл после внесения изменений.

youtube.filter разрешить канал Youtube белый список каналов Youtube разрешённые каналы Ютуб добавить

Как одновременно создать и белый список сайтов, и белый список каналов Youtube

Сначала запрещаем все сайты в ранее модифицированном файле user.action

В разделе Как быстро разрешить отдельные каналы из белого списка мы "на скорую руку" включили на сайте Youtube белый список каналов.
При этом в данном примере мы никак не затрагивали остальные сайты и все они остались доступными.

Дополним вышеуказанный пример белым списком сайтов.
Для этого мы внесём в файл user.action необходимые изменения.

Если Вам лень читать всё нижеизложенное - вот последняя версия файла user.action для Privoxy (может отличаться от версии, получившейся в данном примере).

Если хотите более детально разобраться в вопросе, то открывайте в текстовом редакторе файл user.action и прокручивайте его до строк {+https-inspection} и {+ignore-sertificate-errors}.

user.action https-inspection ignore-sertificate-errors перед redirect youtube


После этих строк вставляем строки:

{ +block{Total ban} +add-header{HTTP/1.0 404 Not Found} }
.

Этим мы блокируем в Privoxy абсолютно все сайты.

+block{Total ban} блокируем в Privoxy абсолютно все сайты

Потом разрешаем сайт Youtube

На этой стадии вместе со всеми остальными сайтами у нас, естественно, заблокирован и Youtube, и используемые им сайты Google.

Чтобы их разблокировать, внесём после вышеуказанной строки строку:

{ -block{Total ban} -add-header{HTTP/1.0 404 Not Found} }

Все сайты (и их части), указанные после этой строки, будут разблокированы.

Разблокируем сайт Youtube и используемые им сайты Google, внеся следующие строки:

.youtube.com
.youtu.be
.youtube-nocookie.com
www.gstatic.com
fonts.gstatic.com
fonts.googleapis.com
.fontawesome.com
www.google.com/js/
www.google.com/gen
www.google.com/recaptcha/
www.google.com/images/
www.google.ru/images/
.googlevideo.com/
.googleusercontent.com/
.ggpht.com/
.ytimg.com/

разрешаем сайт Youtube в Privoxy

Разрешаем сервисы Яндекс и Google

На этой стадии у нас заблокированы все сайты, кроме сайта Youtube.

Если Вам нужно, чтобы работали ещё какие-то сайты, их, соответственно, нужно прописывать в файл user.action аналогичным образом.
(Подробно принцип корректного разбана сайтов описан в статье
БЕЛЫЕ СПИСКИ САЙТОВ.)

Если Вы предполагаете использовать сервисы Яндекса, то внесите в файл user.action следующие строки:

.ya.ru
.mail.yandex.ru
.360.yandex.ru
.calendar.yandex.ru
.disk.yandex.ru
.education.yandex.ru
.messenger.yandex.ru
.messenger.yandex.net
.yandex.ru/chat
.yandex.ru/messenger
.yandex.ru/pogoda
.yandex.ru/weather
.weather.yandex.ru
.yandex.ru/maps
.api-maps.yandex.ru
.yandex.ru/tutor
.yandex.ru/support
.id.yandex.ru
.oauth.yandex.ru
.passport.yandex.ru
.sso.yandex.ru
.sso.dzen.ru
.dzen.ru/video/watch/
.dzen.ru/api/
syandex.ru/captchapgrd
.yandex.ru/captchapgrd
.ya.ru/showcaptcha
.ya.ru/captchaimage
.ya.ru/captcha
.ya.ru/checkcaptcha
.ext.captcha.yandex.net
.captcha.yandex.net
adfstat.yandex.ru/captcha
api.plus.yandex.ru
api.passport.yandex.ru
click.sender.yandex.ru
.docviewer.yandex.ru
.docs.yandex.ru
.yastatic.net
.yastat.net
.yandex.net
.yandexcloud.net
.cdn.dzen.ru
.dzeninfra.ru
.vh.yandex.ru
.static-maps.yandex.ru
.static-storage.net

Yandex разрешаем сервисы Яндекс почта Privoxy

На данной стадии, по идее, все по-минимуму необходимые сервисы Яндекса должны работать (если только я что-то не упустил).

Теперь давайте разблокируем некоторые сервисы Google.

Внесите в файл user.action следующие строки:

.gmail.com
mail.google.com
ssl.gstatic.com
ssl.gstatic.ru
gds.google.com
gds.google.ru
.id.google.com
.id.google.ru
accounts.google.com
account.google.com
myaccount.google.com
accounts.google.ru
account.google.ru
myaccount.google.ru
drive.google.com
docs.google.com
www.google.ru/search
www.google.com/search
www.google.ru/url
www.google.com/url
www.google.com/account/

Google разрешаем сервисы Гугл Gmail почта Privoxy

На данной стадии, помимо сервисов Яндекса, должна работать еще гуглопочта Gmail и поиск на Google.

Разрешаем нужные CDN

Сделаем ещё кое-что полезное: разбаним некоторые CDN (Content Delivery Network), на которых хранятся файлы (обычно библиотеки JavaScript), общие для множества различных сайтов.

Внесите в файл user.action следующие строки:

cdnjs.cloudflare.com
cdn.jsdelivr.net
.tinymce.com
.bootstrapcdn.com
.jquery.com
.sstatic.net
.ucarecdn.com
snap.licdn.com
.ngcdn.ru
.topmind.io
.tildacdn.com
cdn.devgroup.tech
widget.cloudpayments.rus
.akamaized.net
.amazonaws.com
.airtableusercontent.com
cdn.uxfeedback.ru
widget-api.uxfeedback.ru
yandex-images.clstorage.net
player.kinescope.io
.kinescope.io
.kinescopecdn.net
.vimeocdn.com
.vimeo.com
cdn.tiny.cloud
cdn.mxpnl.com
.cdn-tinkoff.ru

разрешаем CDN Privoxy

Ещё разбаним некоторые разделы сайта Vkontakte (не сам сайт), так как очень часто его, по сути, тоже используют как некую CDN.

.userapi.com/
.vk.com/css/
.vk.com/js/
.vk.com/dist/
.vk.com/images/
.vk.com/rtrg
.vk.com/widget_post
.vk.com/emoji/
mincifry-cert.vk.com
.vk.cc/

До кучи разбаним несколько сайтов переводчиков:

translate.yandex.ru
translate.yandex.net
dictionary.yandex.net
speller.yandex.net
translate.google.com
translate.academic.ru

vk.com Privoxy translate

Разрешаем прочие полезные сайты

Ну и внесём прочие полезные сайты (в основном, для школьников и абитуриентов - Вы можете убрать лишние):

.mos.ru
.gosuslugi.ru
.tutu.ru
.tu-tu.ru
.ipmy.ru
.balpom.ru
.privoxy.org
.pnp.net
.python.org

.kpolyakov.spb.ru
.stackoverflow.com
.leetcode.com
.cyberforum.ru
.snipp.ru
.javascript.ru
.pythonru.com
.pythonist.ru
.pythonim.ru
.proghunter.ru

.kompege.ru
.foxford.ru
.mckw.ru
.mckx.ru
.mrqz.me
.netology-group.services
.ingest.sentry.io
.networkeducation.ru
.devinf.ru
.stepik.org
.stepik.net
.shkolkovo.online
.shkolkovo.net
.profimatika.ru
.lektorium.tv
dzen.ru/devinf
.happydesk.ru
.sdamgia.ru
.vuzopedia.ru
.mts-link.ru
.webinar.ru
.propostuplenie.ru
.sky.pro
.desmos.com

.цпм.рф
.xn--l1afu.xn--p1ai

.mpei.ru
.mirea.ru
.mospolytech.ru
.rguk.ru
.bmstu.ru
.misis.ru
.sut.ru
.sutd.ru
.kosygin-rgu.ru
.rguk.ru
.tabiturient.ru
.abiturient.ru
.infourok.ru
.osnova.io

разрешаем полезные сайты Privoxy разбанить нужные сайты

Блокируем рекламу на Яндексе

Проматываем файл user.action до самого конца.

user.action конец файла Privoxy


Вставляем строку:
{ +block{Total ban} +add-header{HTTP/1.0 404 Not Found} }

Все сайты и части сайтов, указанные после этой строки, будут забанены, даже если они были разрешены ранее.

user.action +block{Total ban} Privoxy


Сначала баним нейросеть Яндекса (да-да, ту саму Алису ;-)   ):

.ya.ru/search/_crpd/
.yandex.ru/search/_crpd/
.ya.ru/portal/set/any/
.yandex.ru/portal/set/any/
.alice.ya.ru/
.yastatic.net/(.*)/alice-web/

Потом баним выдачу Яндекс Маркета на главной странице (да и на остальных, наверное, тоже забанится):

.ya.ru/portal/proxy(.)blocks=Market_cart
.ya.ru/portal/feed
.yastatic.net/(.*)/market/

И наконец баним предпросмотр видео на Яндексе:

.ya.ru/portal/proxy(.)blocks=Market_cart
.ya.ru/portal/feed
.yastatic.net/(.*)/market/

баним нейросеть Яндекса запретить Алиса бан Alice Yandex забанить Яндекс Маркет видео

У Вас, естественно, возникает вопрос: "Зачем этому параноику банить нейросеть Алису и Яндекс Маркет?

Дело в том, что, как показала практика, не настроенные на учёбу / на подготовку к ЕГЭ идеологические раздолбаи недалёкие малолетние индивидуумы, у которых уже забрали смартфон / планшет, с упоением пинают х... ничего не делают не только скролля десятками минут превьюшки Youtube, но и выдачу товаров из Яндекс Маркета.

А особо отмороженные раздолбаи соскучившиеся по многочасовому обмену бессмысленными сообщениями в мессенджерах дети готовы - внимание! - "общаться" с нейросетью десятками минут...


Вас тоже задрало до смерти достало бесячее предложение установить Яндекс Браузер, появляющееся каждый раз, когда Вы заходите на https://ya.ru ?

Яндекс Браузер задолбал реклама задрал Yandex Browser заколебал бесит

Сейчас мы этот доводящий до исступления "удобный и быстрый" Яндекс Браузер ЗАБАНИМ нахрен.

.yastatic.net/(.*)/nova/
.yastatic.net/(.*)/main-chunk(.*)js
.yastatic.net/(.*)paranja/

А заодно забаним и почти всю рекламу на Яндексе.

.yandex.net/get-direct-picture/
.ya.ru/ick/
.yandex.ru/log
.ya.ru/suggest/
.static-mon.yandex.net
.ya.ru/portal/flagman/flags
.yastatic.net/pcode/adfox/
.yastatic.net/safeframe-bundles/
.yandex.ru/ads/
.yandex.ru/an/
.ya.ru/clck/
.mc.yandex.ru/
.an.yandex.ru/
.yabs.yandex.ru/
.statchecker.yandex.ru/
.http-check-headers.yandex.ru/
.yandex.ru/(.*)/system/context_adb.js
.yandex.ru/(.*)/system/adsdk.js
.yastatic.net/(.*)/rsya-tag-users
.yastatic.net/(.*)advRsya
.adfox.ru

бан Яндекс Браузер реклама забанить Yandex Browser заблокировать всплывающее окно запретить Яндекс Браузер

К сожалению, полностью избавиться от рекламы на Яндексе таким образом не удастся, так как мы баним URL'ы, а часть рекламы приходит сразу вместе с HTML-кодом в виде очень хитрых JavaScript'ов.
И чтобы удалить такую рекламу, нужно создавать отдельные фильтры для Privoxy, работающие на уровне HTML-кода и вырезающие соответствующие блоки. А это выходит за рамки данной статьи.

Недостатки предлагаемого мной способа бана каналов Youtube

Естественно, предлагаемый мной способ бана каналов Youtube неидеален.

Мой способ основан на том, что в HTML-код Youtube добавляется довольно кривой код на JavaScript. Также слегка модифицируется один из скриптов, отвечающих за вывод видео.

При этом эти скрипты вынуждены проверять смену URL страницы, срабатывая по событиям движения мыши или скроллинга (по window.onload не особо получается).

Так как Youtube - это такое очень сложное web-приложение, то оно как-то хитро так кэширует исходно загруженную страницу, что смену URL можно определить только сравнивая window.location.href (текущий URL окна) с ранее записанным в специальную переменную window.location.href и, если они не совпадают, делать location.reload() (перезагрузка страницы), иначе определяется "старое" название канала (из-за кэширования скрипт "думает", что он на первоначальной странице).

Также если кликнуть на ссылку, не дождавшись полной загрузки страницы, могут возникнуть специфические глюки, которые устраняются только если сбросить кэш браузера для Youtube.

Наверное, можно сделать этот мой код поэлегантнее (я не JavaScript программист; три раза всё делалось почти с нуля).

Однако это в принципе неправильно так делать - анализировать страницу на стороне клиента.
На самом деле, было бы неплохо обрабатывать содержимое страниц и скриптов каким-то отдельным скриптом, запускаемым Privoxy (да хоть на том же PHP), и сразу отдавать пустой контент, если страница не соответствует разрешённым каналам (оно и работало бы существенно быстрее).

Причём в Privoxy предусмотрена такая возможность (external-filter action)! Но, к сожалению, в версии под Windows она не работает - только под Linux... :-(
А запускать вместо Privoxy виртуальный компьютер с Linux или разбираться, как из исходников скомпилировать версию Privoxy с поддержкой external-filter action только ради того, чтобы забанить ненужные каналы на Youtube - это как-то не входило в мои планы.....


© 1999 - 2024 www.Balpom.ru