Данный способ РАБОТАЕТ (отключает рекламу) на расширении для браузера Ace Stream 3.0.11 и НЕ РАБОТАЕТ на VLC.
F.A.Q.
I
Этот способ помогает быстро пропустить (отключить) рекламу в Ace Stream Magic Player (расширение для браузера).
Для блокировки рекламы нужно изменить кое-какие данные в некоторых файлах. Для упрощения задачи всё нужное уже собрано в архиве.
Так же, можно скачать и сам Ace Stream Media 3.0.11 на котором это тестировалось и работает.
Для тех, кому интересно самому всё сделать более подробное описание во второй части.
1. Переходим в папку:
Для Windows XP: C:\Documents and Settings\(имя пользователя)\Application Data\ACEStream\player\skins
Для Windows 7, 8:
C:\Users\(имя пользователя)\AppData\Roaming\ACEStream\player\skins
Если папку AppData не видно:
Для Windows XP, 7: открываем любую папку - выбираем вверху Сервис - Свойства папки... - вверху окна выбираем Вид - ставим кружок (или птичку) напротив Показывать скрытые файлы и папки.
Windows 8: открываем любую папку - выбираем Вид (вверху, где Файл, Главная, Поделиться) - и ставим птичку напротив Скрытые элементы.
2. Из скачанного архива копируем с заменой папки fs и nofs в папку skins
(предварительно сделайте резервную копию файлов в папке skins).
3. Теперь нужно убрать из файла hosts блокировки адресов рекламы от Ace Stream (только если раньше изменяли hosts).
4. Всё.
II
Для тех, кому интересно "Как это работает?":
Ace Stream Magic Player 1.0.3 расширение для браузеров довольно неплохое, но постоянная реклама при каждом переключении и даже паузе – это слишком.
Если не вдаваться в подробности, то принцип работы движка Ace Stream такой: запуская через браузер со встроенным расширением какой-нибудь торрент, запускается и движок AceStream:
C:\Users\User\AppData\Roaming\ACEStream\engine\ace_engine.exe. Он собирает информацию о запущеной программе, о поиске рекламы или попытках её поиска и т.д. Эту информацию можно найти в логах программы:
C:\Users\User\AppData\Roaming\ACEStream\engine\ acestream.log
C:\Users\ User\AppData\Roaming\.ACEStream\ npace_plugin.log
C:\Users\ User\AppData\Roaming\.ACEStream\ player.log
Если вы пробовали блокировать рекламу через hosts, то потом, наверняка, стали получать ошибку (найден блокировщик рекламы…). Это связано с тем, что программа "помнит" количество НЕУДАЧНЫХ попыток отыскать рекламу. Причём, помнит ровно до момента выключения программы. При включение снова движок "вспоминает" попытки обращаясь к файлам C:\Users\ User\AppData\Roaming\.ACEStream\*.pickle (в частности, sessconfig.pickle). Если закрыть программу, удалить эти файлы и снова запустить, то даже с блокировками hosts AceStream запустится.
Но каждый раз закрывать программу и снова её открывать (каждые 2-3 открытых торрента) очень утомительно.
Вариант пропатчить программу как-то "не зашёл". Поэтому велись поиски других путей. Одним из них стал вариант не блокировать рекламу (пускай скачивается, главное, что не мешает *и не вирусы), а просто не показывать её (как AdBlock). В результате был найден способ измененять файлы связанные с этими самыми отображениями.
Папка skins содержит ещё две подпапки fs и nofs (то есть, код для Full Screen mode и Not Full Screen mode). Начинаем редактировать с nofs (так как программа запускается, обычно, именно в этом режиме). Файл panel.qml содержит функции вызова "картинок и подписей".
* Его можно открыть обычным Блокнотом (Notepad).
Теперь нам нужно найти что-то, что связано с рекламой. Просматривая файл можно встретить player.isAd
Нам нужно найти строку /* skip ad button */ и всё что под ней (хорошо, когда ставят такие метки).
ВНИМАНИЕ! ЭТО ИСХОДНЫЙ КОД! ФАЙЛЫ В АРХИВЕ ОТЛИЧАЮТСЯ ОТ ЭТОГО!
/* skip ad button */
Item {
id: btnAd
width: state == "wait" ? lblAd.width + 10 + parent.height : lblSkip.width + 10
height: parent.height
visible: player.isAd
states: [
State {
name: "wait"
when: player.isAd && player.waitForAd >= 0
PropertyChanges {
target: skip_layout
visible: false
}
PropertyChanges {
target: wait_layout
visible: true
}
},
State {
name: "skip"
when: player.isAd && player.waitForAd < 0
PropertyChanges {
target: skip_layout
visible: true
}
PropertyChanges {
target: wait_layout
visible: false
}
}
]
|
Видно, что отображение кнопки Пропустить и Таймер устанавливается при условии
when: player.isAd && player.waitForAd >= 0 (то есть, пока таймер идёт):
target: skip_layout
visible: false
target: wait_layout
visible: true
Теперь всё просто: делаем значения такими как при "время вышло":
when: player.isAd && player.waitForAd < 0
target: skip_layout
visible: true
target: wait_layout
visible: false
Должно получиться так, что оба skip_layout visible: true, а оба wait_layout, соответственно, visible: false.
Да, можно просто удалить первую функцию и изменить проверку на ">=0".
Теперь мы можем пропускать рекламу сразу (кнопка пропустить появляется моментально). Для полного отключения нужно будет ещё немного модифицировать этот файл а потом ещё и файлы main.qml, Panel.qml и PanelMinimal.qml в папке fs
Для удобства можете скачать архив с готовыми файлами.
Если "поиграться" с кодом, то можно легко блокировать рекламу без ошибки "Найден блокировщик рекламы…". Например, сделать так, чтобы функция skip_layout выполнялась как только, так сразу.
Это всё. Спасибо.
Вопросы и советы пишите в комментариях!
-----------------
F.A.Q.
-----------------
1. Всё равно показывает "Ошибка: Просмотр заблокирован, так как обнаружен блокировщик рекламы Ace Stream"?
Значит что-то блокирует загрузку рекламы. Проверьте файл hosts на наличие блокировки определённых адресов.
Возможно, Ваш антивирус и/или файервол блокирует соединение. Проверьте это.
Попробуйте для проверки его отключить ненадолго.
-----------------
2. Реклама всё равно запускается!
Да, такое может быть. Через несколько "пропусков" такой рекламы она выключается.
-----------------
3. Другие вопросы и ответы в комментариях.
III
Как открывать Content ID через Ace Stream Magic Player.
Сначала всё прочитать, а потом нажимать на ссылки и копировать файлы!
Если что-то не работает смотри F.A.Q.
Для тех, кого смущает адрес 127.0.0.1 разъяснение из Википедии: https://ru.wikipedia.org/wiki/Localhost
Для воспроизведения Content ID нужно в браузере в строку адреса ввести: http://127.0.0.1:6878/webui/player/
Теперь копируем нужный Content ID и вставляем его после "/". Должно получится так: http://127.0.0.1:6878/webui/player/00f4db11962e5144938234689ed934432dfd7f05
Да, файл открывается, но автоматически не воспроизводится. Увы, в настройках, по умолчанию, стоит отключение автовоспроизведения. Поэтому, программа вставляет свои ?autoplay=false. Для включения автовоспроизведения нужно изменить часть кода в player.html. Можно, конечно, создать закладку типа: http://127.0.0.1:6878/webui/player/?autoplay=true и вставлять Content ID перед "?" (http://127.0.0.1:6878/webui/player/00f4db11962e5144938234689ed934432dfd7f05?autoplay=true ), но это хлопотно.
Лучше сразу заменить в файле player.html одну строку и всегда просто получать http://127.0.0.1:6878/webui/player/00f4db11962e5144938234689ed934432dfd7f05
Вот часть кода из файла player.html, отвечающая за автовоспроизведение:
try {
var player = new TorrentStream.Player(controls.getPluginContainer(), {
debug: true,
useInternalControls: useInternalControls,
bgColor: "#000000",
fontColor: "#ffffff",
onLoad: function() {
this.registerEventHandler(controls);
controls.attachPlayer(this);
try {
var p = this;
this.loadPlayer("{player_id}", {autoplay: {autoplay}});
}
catch(e) {
console.log("init: " + e);
}
}
});
}
|
Если исправить {autoplay: {autoplay}}); на {autoplay: true}); то воспроизведение будет начинается сразу.
1. Переходим в папку:
Для Windows XP: C:\Documents and Settings\(имя пользователя)\Application Data\ACEStream\engine\webui\html
Для Windows 7, 8: C:\Users\(имя пользователя)\AppData\Roaming\ACEStream\engine\webui\html
2. Из скачанного архива копируем с заменой player.html в папку html
3. Всё.
Теперь можно воспроизводить Content ID без рекламы в браузере.
В закладки можно добавить ссылку http://127.0.0.1:6878/webui/player/, а потом просто вставлять нужный Content ID после "/".
-----------------
F.A.Q.
-----------------
1. Пишет "Веб-страница недоступна" (Google Chrome) и "Попытка соединения не удалась" (Mozilla Firefox).
1. Пишет "Веб-страница недоступна" (Google Chrome) и "Попытка соединения не удалась" (Mozilla Firefox).
Попробуйте запустить Ace Stream. Перейдите в C:\Users\(имя пользователя)\AppData\Roaming\ACEStream\engine и запустите ace_engine.exe
Должен появиться значок Ace Stream справа внизу, в трее.
2. Пишет "Для продолжения работы плеера Вам необходимо включить Ace Stream P2P Multimedia Plug-in"
Если используете Google Chrome, тогда нажимаем справа вверху на значок пазла:
И выбираем разрешить плагины на сайте 127.0.0.1 и перезагружаем страницу.
3. Появляется надпись Cannot load transport file.
Значит проигрывателю нечего открывать. Введите в адресную строку Content ID.
Например, http://127.0.0.1:6878/webui/player/00f4db11962e5144938234689ed934432dfd7f05
Например, http://127.0.0.1:6878/webui/player/00f4db11962e5144938234689ed934432dfd7f05
4. Как получить Content ID торрента.
Запускаем необходимый торрент. Нажимаем правой кнопкой мыши на область экрана Ace Stream, выбираем Поделиться и нажимаем Скопировать Content ID (он же написан чуть выше).
5. Нет кнопки Смотреть, Воспроизвести и т.д.
Переходим на страницу с торреном и нажимаем правой кнопкой мыши на ссылку загрузки торрента. В выбираем в меню Просмотреть через Ace Stream
6. Пишет bad bencoded data
Значит торрент имеет magnet-ссылку или этот файл нельзя открыть в Ace Stream. В этих случаях Ace Stream работать не будет.
IV
Установка Ace Stream на Linux.
Добовляем репозиторий Ace Stream в sources.list
Открываем терминал и вводим:
sudo gedit /etc/apt/sources.list
|
Откроется текстовый редактор и нужно будет добавить:
#AceStream
deb http://repo.acestream.org/ubuntu/ raring main
|
потом сохранить файл и закрыть редактор.
Вводим в терминал:
sudo wget -O - http://repo.acestream.org/keys/acestream.public.key | sudo apt-key add -
|
Устанавливаем Ace Stream.
Обновляемся:
sudo apt-get update
|
Для установки Ace Stream вводим в терминал:
sudo apt-get install acestream-full
|
Если появляется ошибка:
The following packages have unmet dependencies:
acestream-player-data : Depends: libdvbpsi7 (>= 0.2.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
|
значит не установлен необходимый для Ace Stream пакет и нужно будет установить libdvbpsi7
После установки libdvbpsi7 снова вводим
sudo apt-get install acestream-full
|
для установки Ace Stream.
Всё.
Для отключения рекламы в Ace Stream под Linux переходим в файловую систему и нажимаем на Поиск.
В поиск вводим acestream
Система должна найти папку acestreamplayer и acestream в /usr/share/acestreamplayer и /usr/share/acestream соответсвенно.
Переходим в папку /usr/acestream/data/webui/html и заменяем файл player.html на скачанный.
Для копирования нужно обладать правами root.