1

Тема: Доработанный виджет TheDark SmartTV от Hacker0777

https://i.ibb.co/BLmqmhj/00.jpg
Доработанный виджет TheDark SmartTV V.7.8.

Год/Дата Выпуска: 2019
Версия: 7.8
Разработчик: TheDark
Сайт разработчика: smart-tv-home.ru

Язык интерфейса: Русский
Таблэтка: Не требуется (Вылечено)
Системные требования: Windows XP, 7, 8, 10
Описание: Доработанный виджет TheDark SmartTV

Отличия от оригинала, доработки и инновации:

Spoiler

1. "0"..."9" + "->" - переход на 0,10...90 процентов времени фильма.
2. "10"..."9999" + "->" - воспроизведение заданного элемента.
3. "1"..."9999" + "ввод" - воспроизведение заданного элемента.
4. "1"..."9999" + ( "<<" или ">>" ) - перемотка в секундах от текущей позиции.
5. "1"..."999" + ">" - воспроизведение с заданной позиции в минутах.
6. "1"..."9" + "TTX" - переключение на заданную звуковую дорожку.
7. "->" в проводнике - запуск элемента либо вход в подкаталог, "->" без проводника - открыть проводник (задаётся в настройках).
8. "<-" в проводнике - выход из подкаталога, "<-" без проводника - открыть проводник (задаётся в настройках).
9. "UP" без проводника - воспроизведение предыдущего элемента.
10. "DN" без проводника - воспроизведение следующего элемента.
11. Качелька каналов в режиме проигрывателя - переключение звуковых дорожек.
12. Качелька каналов в режиме проводника и просмотра новостей - перелистывание страниц (задаётся в настройках).
13. Качелька каналов в настройках каналов - переключение телеканалов с визуализацией настроек.
14. "пауза"/"воспр" показывает текущую позицию в фильме.
15. Регулировка прозрачности субтитров и фона субтитров.
16. "KEY RED" - включить/выключить субтитры, "TTX" - переключение аудиоформатов.
17. Возможность выбора часов с секундами и без них, фон часов включается в настройках.
18. Добавлены рабочие российские и украинские каналы IPTV.
19. Изменён дизайн, большая библиотека иконок каналов, выбор показа крупной иконки каналов в настройках.
20. Изменён порядок селектора входов.
21. Место отображения погоды автоматически меняется вместе с изменениями размеров панели часов.
22. Прозрачность панели погоды соответствует прозрачности панели часов.
23. Исправлена ошибка отображения размера файлов больше 1 GB.
24. Добавлен ввод альтернативного MAC-адреса.
25. Обновление прогноза погоды каждые 10 минут.
26. Время отображение медиаинформации задаётся в настройках.
27. Переключение между минимальным и расширенным наборами видеорежимов.
28. Сброс смещения телепрограммы при закрытии по "ENTER" и "EXIT", по "GUIDE" сброса нет.
29. Отображение полных текущей и смещённой дат с днём недели в программе телепередач.
30. Устранён перезапуск виджета через минуту после автозапуска.
31. Автоопределение кодов по имени каналов для более 300 каналов.
32. Переключение альтернативных TorrentTV идентификаторов в netplay файлах.
33. Возможность просмотра ссылок на IPTV и TorrentTV каналы в настройках.
34. Добавлен режим изображения "X-ZOOM" в расширенном наборе видеорежимов.
35. Возможность задавать параметры режима "X-ZOOM" в netplay файлах и сохранять их в Избранном.
36. Альтернативный режим MUTE, возможность задавать уровень громкости альтернативного MUTE.
37. При отключенных часах кнопка "INFO" включает их на заданное количество секунд.
38. Визуализированы и оптимизированы настройки, удалено сохранение настроек виджета на портал.
39. Папка smart-tv-home.ru/ отображается только при введённых имени и пароле пользователя.
40. В панели ввода синяя кнопка вводит ПРОБЕЛ или ТОЧКУ в зависимости от режима малой клавиатуры.
41. Отображение иконки канала в панели ввода номера канала.
42. Редактор имён аналоговых телеканалов от 2-х символов.
43. Регулировка прозрачности меню навигации.
44. "0" используется для TV и IPTV телеканалов (задаётся в настройках).
45. Возможноcть использования пропусков в нумерации каналов (задаётся в настройках).
46. Исправлено сканирование аналоговых каналов, возможность настройки сканирования.
47. Крупная иконка канала/файла в панели ввода номера.
48. Индикация разрешения изображения в информационной панели, если оно доступно.
49. Отображение новостей сайта задаётся в настройках.
50. Отображение погоды кнопкой "INFO" или вместе с информацией если не задано постоянное отображение.
51. Динамический автопоиск иконок телеканалов и netplay файлов по их именам.
52. Соотношение длины имени канала и телепрограммы задаётся в настройках.
53. Редактор названий источников сигнала.
54. Выбор версии сервера в главном меню и настройках.
55. Исправлена сортировка и иконки для DLNA.
56. Поддержка серверов старых версий 4 и 5, которые не требуют авторизации на сайте.
57. Автопропуск временно отключенных источников сигнала при циклическом выборе.
58. Возможность выбора между серверами погоды Yandex и Gismeteo.
59. Сервера 4.15-7.7 загружают в телевизор виджеты размером до 220 Мбайт каждый.
60. Сервер 7.7 обладает VIP функциями независимо от авторизации.
61. Заставка динамически отслеживает наличие видеосигнала.
62. Мультизагрузка телепрограммы по всем TV и IPTV каналам.
63. Использование альтернативного сервера для импорта-экпорта настроек, каналов и избранного на компьютер.
64. Изменена логика листания страниц в проводнике и удаления в Избранном.
65. Кнопка "ИНФО" добавлена в управление кнопками.
66. Автообновление телепрограммы всех каналов через заданный интервал.
67. ScreenSaver Samsung с настраиваемыми параметрами.
68. Регулировка прозрачности прогрессора мультизагрузки.
69. Обновление виджета через PHP сервер.
70. Динамический прогрессор мультизагрузки для телевизоров серий C и D.
71. Настраиваемая логика движения курсора в проводнике.
72. Синхронизация Избранного со списком TV каналов.
73. Переключение Избранного клавишами "<<" и ">>".
74. В Настройках добавлен адрес альтернативного сервера для запросов телепрограммы и новостей.
75. Настраиваемый прогрессор телепередачи в панели ввода номера канала.
76. Поддержка Transmission (необходима дополнительная настройка телевизора и внешний HDD).
77. Следующая передача в списках каналов и Избранном (задаётся в настройках).
78. В напоминаниях добавлена возможность просмотра описания передачи.
79. Панель подсказки кнопок отображается при старте виджета и вызывается клавишами "STOP"/"REC" в режимах TV/MEDIA.
80. Переключение между обычной и мобильной версией сайта Yandex на случай блокировки.
81. Все доступные следующие передачи в телепрограмме, встроенной в канал EPG.
82. Разрешение экрана в панели инфо, отключаемое в настройках.
83. Встроенная в канал EPG доступна в списке телеканалов для всех телеканалов, которые использовались.
84. Пункт "Напоминания" добавлен в Главное Меню.
85. Поддержка установленного режима растяжения видео 16x9.
86. Действие кнопки RETURN задаётся в настройках.
87. Динамическое обновление программы телепередач в списках каналов и списка устройств.
88. Возможность сброса присвоенных кнопкам команд как по одной, так и всех сразу.
89. Кнопки REC, PLAY, PAUSE и STOP в режиме редактирования используются для ввода ".", ":", "-" и " ".
90. Улучшен алгоритм перезапуска потокового видео при обрыве.
91. В комментариях и списках YouTube клавиши << и >> листают блоки страниц, а CH.UP и CH.DN страницы.
92. Возможность обновления только исполняемого кода виджета через PHP сервер.
93. Возможность листания страниц в проводнике мышкой и жестами кликом по заголовку окна.
94. Возможность подтверждения действия мышкой и жестами кликом по надписям на панели.   
95. Улучшено контекстное меню и меню мыши.
96. Запоминается текущая папка, последний воспроизводимый файл и текущая позиция в нём в момент остановки. 

Предыдущие версии

Скачать V.7.8.00
Скачать V.7.8.01
Скачать V.7.8.02
Скачать V.7.8.03
Скачать V.7.8.04
Скачать V.7.8.05
Скачать V.7.8.06
Скачать V.7.8.07
Скачать V.7.8.08
Пароль на вложенный архив WoodMiniWebServer: "0000"

Мод версии от 21.08.2019. Обновлено 06.07.2020
Скачать V.7.8.09

Оригинальный виджет для серий E-F (portable, без загрузки из нета)
Скачать оригинал V.9.3 portable

Скриншоты:

Spoiler

https://i.ibb.co/WBtmpQ8/01.jpg
https://i.ibb.co/T2WXNy7/02.jpg
https://i.ibb.co/JBG6b5S/03.jpg
https://i.ibb.co/fpRgDvN/04.jpg
https://i.ibb.co/HGN49wJ/05.jpg
https://i.ibb.co/1d5M3y0/06.jpg
https://i.ibb.co/gR21v8Y/07.jpg
https://i.ibb.co/5R9Hyhd/08.jpg
https://i.ibb.co/KwYxMQB/09.jpg
https://i.ibb.co/hyWtpx6/10.jpg
https://i.ibb.co/BtDwjjj/11.jpg
https://i.ibb.co/5kkkKYY/12.jpg
https://i.ibb.co/F7BJ5vJ/13.jpg
https://i.ibb.co/7GNspP7/14.jpg
https://i.ibb.co/w0ybMDQ/15.jpg
https://i.ibb.co/c276KDz/16.jpg
https://i.ibb.co/nQv2JyR/17.jpg
https://i.ibb.co/T4RDLtV/18.jpg
https://i.ibb.co/3Nth4yR/19.jpg
https://i.ibb.co/HGHy3DZ/20.jpg
https://i.ibb.co/JF3sYKq/21.jpg
https://i.ibb.co/bPxfpcd/22.jpg
https://i.ibb.co/3k2ckGT/23.jpg
https://i.ibb.co/YNBj4D0/24.jpg
https://i.ibb.co/VBxCW7N/25.jpg
https://i.ibb.co/YN5MKZp/26.jpg
https://i.ibb.co/3R09Ckf/27.jpg
https://i.ibb.co/1LQhgrL/28.jpg
https://i.ibb.co/M8x3Gky/29.jpg
https://i.ibb.co/WxkDSf6/30.jpg
https://i.ibb.co/4Y71FfN/31.jpg
https://i.ibb.co/PWHt0bK/32.jpg
https://i.ibb.co/zhFJty6/33.jpg
https://i.ibb.co/vJ0FmxL/34.jpg
https://i.ibb.co/gdyfndp/35.jpg
https://i.ibb.co/qJdGYjL/36.jpg
https://i.ibb.co/mDtjh8d/37.jpg
https://i.ibb.co/8xT90rb/38.jpg
https://i.ibb.co/QDybKg4/39.jpg
https://i.ibb.co/dDMCgYg/40.jpg
https://i.ibb.co/Ss6ZMmz/41.jpg
https://i.ibb.co/8gzW39f/42.jpg
https://i.ibb.co/Qmh7Y8C/43.jpg

Инструкции по установке и использованию:

Spoiler

1. Скачиваем с сайта smart-tv-home.ru дистрибутив сервера V.9, инсталлируем его, настраиваем каталоги, останавливаем и закрываем.
Это необходимо для создания папок с правильными именами при первоначальной установке.
Если TDMC уже был установлен, то просто останавливаем и выгружаем его из памяти.
Распаковываем архив в папку сервера. Виджеты и каналы должны попасть в свои папки.
2. Запускаем сервер cервер V.4.1.5 (нажав кнопку СЕРВЕР СТАРТ)
3. Набираем IP, который он выдает, в адресной строке вашего броузера в компьютере, браузер должен выдать "Сервер готов к работе"
4. Если сервер готов, то жмем на клавиатуре Win-R, набираем команду ping (тут пишем IP адрес телевизора) и смотрим чтобы не было ошибок
5. Можно временно отключить файрвол/антивирус и проверить
6. Желательно, чтобы локальная сеть имела статические IP адреса (то есть они должны быть явно указаны в сетевых настройках компьютера,
   роутера и телевизора)
7. IP адреса рекомендуется задавать формата 192.168.1.1-192.168.1.254, иначе более 1-го виджета вы поставить не сможете (требование ТВ).
   Рекомендуется последнее число задавать больше 100, но отлично работает и с 1. Маска подсети - 255.255.255.0
   Шлюз обычно соответствует IP роутера - 192.168.1.1
8. Синхронизируем виджеты и скины.
9. После установки виджетов и скинов останваливаем сервер V.4.1.5, закрываем его, перемещаем cервер V.4.1.5 и виджеты в другую папку
(на случай пакостей разработчика), запускаем cервер V.9.
10. Заходим в настройки виджета и выбираем в самом конце пункт включения автозапуска.
11. Перезапускаем телевизор, входим в SMARTHUB и включаем автозапуск виджета в настройках SMARTHUB (синяя кнопка).
12. Синхронизируем эфирные и IPTV каналы при необходимости.
13. Скачиваем smart-tv-home.ru/files/Ace_Strea … 3.0.12.exe и устанавливаем на компьютере, регистрируемся на сайте
разработчика технологии acestream.org/ и прописываем лигин и пароль в настройках сервера TorrentStream в трее.
14. В программе TS Player в меню Инструменты -> Настройки -> (все) в поле "Цепочка вывода потока по умолчанию" прописывем строку
#std{access=http,mux=ts,dst=:8902} для вывода только в сеть или строку
#duplicate{dst=std{access=http,mux=ts,dst=:8902},dst=display} для вывода и в сеть и на экран компьютера.
15. В настройках веджета включить опцию: "Использовать вещание VLC для торрент протокола"
16. В папке архива TorrentTV лежат netplay ссылки на IPTV каналы, их можно добавлять самому и синхронизировать как IPTV каналы, запускать
TS плеер на компьютере при этом не нужно. Пункт "Торрент ТВ/видео" главного меню не включает никаких каналов, он только подключается
к сигналу от вещающего сервера на компьютере при запущенном TS плеере (запускать можно что угодно, от DVD диска, MKV файла до IPTV канала).
17. При необходимости можно использовать сервера 4.1.5, 5.5.6 или 6.4, переключив версию в настройках виджета. Старые версии обеспечивают только
доступ к сетевой папке компьютера и синхронизацию IPTV каналов, управление компьютером и запуск торрента с ними невозможен.

Инструкция по созданию FTP доступа к телевизору Samsung Smart TV.
1. Отключить автозапуск виджета в его настройках.
2. Скопировать в корень флешки содержимое папки "ROOT"
3. Вставить в USB порт телевизора флешку (кроме нее в других портах не должно быть флешек).
4. Перезапустить телевизор.
5. Запустить SmartHub. В списке виджетов должен появиться новый виджет RootingUSB.
6. Запустить его. После появления окна с текстом нажать на кнопку Enter, затем Return и запустить встроенный браузер.
7. Убедиться, что он нормально запустился. После этого можно его закрыть (кнопка Exit).
8. Зайти в телевизор по FTP. Также работает и Telnet.

Папка ROOT добавлена в архив с виджетом.

Начиная с версии 7.8 появилась возможность обновления только исполняемого кода виджета без изменения настроек и остальных виджетов.
Для этого необходим любой PHP сервер, установленный на компьютере или любом сервере в интернете. Можно использовать PHP сервер Denver,
идущий в комплекте с виджетом, он содержит файл remote-netfolder.php, со всеми необходимыми настройками для импорта-экспорта и обновления.
После установки доработанного виджета версии 7.8 необходимо запустить PHP сервер и положить в папку CONFIG файл M.JS, который необходимо
загрузить. Если необходимо загрузить исходный код версии 7.7 и ниже, нужно добавить в него следующую функцию:

MainWidgetStart = function () {
    Main.Start()
};

после этого закодировать его через Javascriptpacker.mht, входящий в комплект виджета и заменить соответсвующий блок кода в файле M.JS в
текстовом редакторе AkelPad начиная с кода

Animate={FileName

и поместить полученный файл M.JS в папку CONFIG сервера PHP
После установки виджета с загрузочным модулем он при запуске устанавливает с PHP сервера оверлей с основным модулем и в дальнейшем перезапускается уже без использования компьютера. Для следующего обновления достаточно перед запуском виджета запустить PHP сервер и положить в папку с данными новый оверлей.
Внимание !!! Незакодированный M.JS приводит к зависанию телевизора при установке !!!
Если сервер запущен и есть к нему доступ с телевизора, то при запуске виджета происходит обновление основного кода, если доступа к
серверу нет, то запускается ранее обновлённый код, хранящийся в телевизоре.
Актуальный remote-netfolder.php находжится в архиве с последней версией виджета.

Если есть ROOT доступ к телевизору то есть два варианта обновления виджета:
1. Скопировать весь виджет вместо старого в widgets\user\TheDarkSmartTV а M.js скопировать в common\TheDarkSmartTV или настроить PHP сервер и он в дальнейшем автоматом обновляться будет с PHP сервера.
2. Переименовать M.js в Main.js и скопировать в widgets\user\TheDarkSmartTV но не менятьindex.html и loader.js на новые, тогда обновлять нужно будет только таким способом.

НЕ храните доработанный виджет и сервер 4.1.5 на компьютере при запущенном сервер V.5. Он находит доработанный виджет на компьютере и передаёт информацию о нём разработчику. В нём могут быть заложены вредоносные функции, о которых неоднократно предупреждал разработчик.
Сервер V.4.1.5, входящий в данный комплект, декомпилирован, тщательно протестирован на предмет багов, не имеет ограничений по дате работоспособности, не вредит пользователям и не отсылат никакую информацию разработчику.

Оставляя незаполненными Имя и Пароль пользователя в виджете, вы полностью обезопасите себя от контроля разработчика во время работы виджета. (не относится к серверу v.5)

В доработанном виджете при использовании на нескольких устройствах для входа в сетевую папку "smart-tv-home.ru"
необходимо ввести в настройках виджета альтернативный MAC-адрес на всех устройствах, кроме основного,
равным MAC-адресу основного устройства. MAC-адрес должен вводится символами "0123456789ABCDEFabcdef", полностью совпадать
с MAC-адресом основного устройства (в том числе порегистру букв). При этом все устройства с одинаковым MAC-адресом должны
находиться в одной подсети, т.е. иметь один внешний IP-адрес, иначе разработчик вас забанит.
Включайте использование альтернативного MAC-адреса только после его ввода !
ВНИМАНИЕ !!! Функцию ввода альтернативного MAC-адреса вы используете на свой страх и риск. Малейшая ошибка во введённом MAC-адресе или несовпадение внешних IP-адресов устройств приведут к потере доступа к сетевой папке "smart-tv-home.ru" !!!

В доработанной версии добавлены большая коллекция красивых иконок для многих украинских и российских
телеканалов, большая коллекция ссылок на бесплатные украинские и российские IPTV телеканалы.
На большинство IPTV телеканалов введено несколько альтернативных адресов, переключать которые можно кнопкой "<-".

Ссылки на иконки IPTV каналов и яндекс-коды уже прописаны в netplay файлах, для эфирных каналов
иконки и яндекс-коды и код региона нужно присвоить вручную в настройках виджета, тогда в виджете будет доступна
телепрограмма.

Данные доработки не нарушают авторских прав разработчика, так как программа является полностью бесплатной, а её использование здесь - некоммерческим.
Многие обратили внимание, что виджет V.4.1.4 перестал работать 1 октября 2012. Дело в том, что разработчик встроил в него баг, ограничивающий работу по дате и забыл про это, обновление вышло только после массовых жалоб пользователей. В версии 4.1.6 эта строчка выглядит так:

if (arr != null) Main.isAudioError = (((arr.month + 1) >= 10) && ((arr.year - 2001) == 11)) || (((arr.month + 1) <= 3) && ((arr.year - 2001) == 12))

Начиная с версии виджета 5.0.4 разработчик убрал баги по дате. Соответственно отпала необходимость в проверке правильности установки даты/времени телевизора. Версиия 6.3.3 содержала ошибку, в результате которой в 2014 году часы на экране показывали 00:00, и хотя я заренее предупредил об этом разработчика, он не поверил мне и не удосужился её исправить. К тому-же исходник оригинального виджета зашифрован, и неизвестно что придёт в голову разработчику в дальнейшем в него встроить, боюсь даже предположить. Поэтому я решил выложить исправленную версию с открытым кодом для свободного доступа.

Все, кто желает, могут помочь в наполнении плейлистов кодами и иконками каналов Яндекса.
Шаблон иконки имеет имя Logo_for_SimpleTV.psd (в архиве с сервером).

Инструкция по созданию и настройке альтернативного сервера на роутерах Zyxel Keenetic с USB портом:

Spoiler

Делаем загрузочной флешку или внешний жесткий диск (ВЖД) для OPKG так :
https://forum.keenetic.net/topic/4299-entware/.
Далее заходим на роутер  по SSH с помощью программы PUTTY, которую можно скачать здесь -
https://putty.org.ru/download.html
и разворачиваем сервер:
opkg install nginx curl php7-cli php7-fastcgi php7-mod-curl php7-mod-iconv
по сети заходим на флешку или ВЖД в папку share и копируем сюда папку www из архива виджета.
Далее в папке etc/nginx правим в блокноте файл fastcgi_params и должен выглядеть так:

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;
#fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME       $document_root$fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;
fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

там же файл nginx.conf правим так:

user  nobody;
worker_processes  1;
#error_log  /opt/var/log/nginx/error.log;
#error_log  /opt/var/log/nginx/error.log  notice;
#error_log  /opt/var/log/nginx/error.log  info;
#pid        /opt/var/run/nginx.pid;
events {
    worker_connections  2048;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  /opt/var/log/nginx/access.log main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    server {
        listen       82;
        server_name  localhost;
        #charset koi8-r;
        #access_log  /opt/var/log/nginx/host.access.log;
        location / {
            root   /opt/share/www;
            index  index.php index.html index.htm;
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /opt/share/nginx/html;
        }
        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   127.0.0.1;
        #}
        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root           /opt/share/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
}

создадим файл автозапуска в блокноте и сохраняем с кодировкой utf-8 S79fcgi в папке etc/init.d таким:

#!/bin/sh
PATH=/opt/sbin:/opt/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT=9000
BIN=/opt/bin/php-fcgi
start() {
        $BIN -b $PORT &
}
stop() {
        killall php-fcgi
}
case $1 in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
                stop
                start
        ;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        ;;
esac

Не забываем, что файл должен иметь атрибут исполнения, делаем так в SSH `chmod +x /opt/etc/init.d/S79fcgi`
в папке www создадим проверочный скрипт с именем info.php в блокноте:

<?php phpinfo(); ?>

Всё, сервер готов на 82 порту. Для запуска перезагружаем роутер или в SSH вводим команды:
/opt/etc/init.d/S79fcgi start
/opt/etc/init.d/S80nginx start
Для проверки вызываем проверочный скрипт в браузере http://ваш ip роутера:82/info.php и должно выйти так:

http://picua.org/img/2018-07/04/1ce190v5lupgu8r4cry52s9t9.png

и обязательно ниже должен быть раздел curl

http://picua.org/img/2018-07/04/567l0v60rljf053k4e3qh2fci.png

Если отобразилось как надо, то делаем последнюю проверку на запуск программы:
http://ваш ip роутера:82/getremotepage.php?path=https://m.tv.yandex.ru/1095/channels/837
Если программа вышла первого канала, то можно забить в настройках виджета альтернативный сервер:
ваш ip роутера:82 например 192.168.1.1:82
Готово.

Самые последнии доработки всегда можно погуглить по тегам "Доработанный виджет TheDark SmartTV"

ВНИМАНИЕ !!! НЕ РЕКОМЕНДУЕТСЯ здесь писать под тем-же ником, что и на сайте разработчика,
он банит по IP адресу на своём сайте очень злобно всех с теми же никами, кто осмелился здесь даже вопросы задавать
ИЛИ ПИШИТЕ МНЕ В ПРИВАТ !!!

Помните: вы используете доработанный виджет TheDark SmartTV на свой страх и риск навсегда потерять доступ
к порталу smart-tv-home.ru !!!

Раскодировать исходник доработанного виджета можно здесь : jsbeautifier.org/?without-codemirror
На некоторых моделях телевизоров нужно использовать только закодированный исходник, кодировать тут: dean.edwards.name/packer/  там-же можно и декодировать, но не очень читабельно.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500

402

Re: Доработанный виджет TheDark SmartTV от Hacker0777

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

403

Re: Доработанный виджет TheDark SmartTV от Hacker0777

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

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

404

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Hacker0777 пишет:

В оригинальном мультизагрузка производится с сайта для VIP пользователей одним запросом

У меня VIP нет, я имел в виду, что было некоторое время назад. Пусть хоть после полной загрузки обновит.

405

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Хорошо, прикручу завтра.

P.S. Получилось лучше, чем я ожидал. Ждите обновления.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

406

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Обновление
Скачать V.7.7.07.Test
Виджет обновлять полностью, так как добавлены иконки в Главное меню..
Исправлено множество глюков, но не всё. Тестируйте, сообщайте.

Да, всё забываю сказать, что нашему серверу интернет не нужен ни в момент старта, ни потом, хотя пароль он может и спросить.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: firedrake, cren111, al751, Tiramisu4

407

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Hacker0777 пишет:

Обновление
Скачать V.7.7.07.Test
Виджет обновлять полностью, так как добавлены иконки в Главное меню..
Исправлено множество глюков, но не всё. Тестируйте, сообщайте.

m3u8 так и не работает  :(

SAMSUNG UE-40EH5307

408 (2016-05-10 17:40:46 отредактировано zebra_r6)

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Поставил 07. Иконки в главном меню на любителя и они то появляются то пропадают почему то. Моё мнение, без иконок было более стильно. С программой  баг, в списке каналов в левом окне где список передач, передачи отображаются с самого начала дня, а не с текущей передачи. Вернулся на 06.  И еще у некоторых каналов текущая передача отображается, а список передач пустой, но так было и в предыдущих версиях.

UE40ES6557

409

Re: Доработанный виджет TheDark SmartTV от Hacker0777

zebra_r6 пишет:

С программой  баг, в списке каналов в левом окне где список передач, передачи отображаются с самого начала дня, а не с текущей передачи.

Такое случается со всеми каналами, после обновления панели любым способом (например, выйти из списка каналов в меню и зайти обратно)

410

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Tiramisu пишет:
zebra_r6 пишет:

С программой  баг, в списке каналов в левом окне где список передач, передачи отображаются с самого начала дня, а не с текущей передачи.

Такое случается со всеми каналами, после обновления панели любым способом (например, выйти из списка каналов в меню и зайти обратно)

У  меня такое началось только после установки 07 версии, раньше всегда список передач отображался начиная с текущей.

UE40ES6557

411

Re: Доработанный виджет TheDark SmartTV от Hacker0777

оба бага нашёл и исправил, в следующем обновлении будет. m3u8 пока побороть не удаётся.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

412

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Мучал тут Denwer, так вот, проще всего решить все проблемы с русскими буквами - изменить “AddDefaultCharset windows-1251″ на “AddDefaultCharset utf-8″ в httpd.conf (%serverroot%\usr\local\apache\conf\). Все перекодировки при этом нужно отключить.

413

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Tiramisu пишет:

Мучал тут Denwer, так вот, проще всего решить все проблемы с русскими буквами - изменить “AddDefaultCharset windows-1251″ на “AddDefaultCharset utf-8″ в httpd.conf (%serverroot%\usr\local\apache\conf\). Все перекодировки при этом нужно отключить.

Денвер уже лет пять как мёртв, используйте Open Server - open-server.ru/

414

Re: Доработанный виджет TheDark SmartTV от Hacker0777

кто нибудь может в двух словах перечислить основные улучшения в новой 8й версии ??
есть ли смысл переходить на новый код ???

я модифицировал mod V.7.7.05

сейчас переносить свои изменения в последнюю V.7.7.07.Test - задолбаешься (скрипт ещё не доделан).

Из того что я переделываю, изменяю и мысли:

1. разобраться в имеющемся yandex epg не получилось - нахрен исключён весь этот геморрой и написан свой код получающий epg в готовом виде с собственного сервера. На сервере по cron несколько раз в день запускается php парсер который парсит EPG данные с сайта ntv+ и генерирует итоговый js файл содержащий массив всех необходимых данных, по всем каналам.
Никаких загрузок EPG не происходит, всё работает сразу после запуска виджета.

Никаких настроек и указания номеров каналов не требуется. (и не потребуется в дальнейшем) Есть некоторая заморочка с смещением времени epg - решено по быстрому вставкой смещения по своему часовому поясу прямо в js код.

Заморочки с яндексом - абсолютно тупиковая ветвь, надо использовать свой сервер EPG.
Парсить какой то источник как сделал я и генерить js или брать готовую чужую epg например тут _ttp://www.teleguide.info/download/new3/xmltv.xml.gz (этот готовый источник обнаружил случайно, уже после того как парсер ntv+ написал)

Изначально была попытка получать EPG идущий со спутника, но как оказалось инженеры samsung те ещё мудаки, потому что только мудакам могла придти в голову идея о том что получить доступ к epg для виджетов нужно только к текущему показываемому каналу. (те без переключения канала данные epg не получить).

2. надо абсолютно менять логику указания иконок телеканалов, набивание массива с номерами это такой же тупняк и геморрой как и с яндекс  EPG. Нужно просто сделать автоматическое указание ссылки на иконку канала исходя из его title.
В идеальном случае было бы указывать src="/папка иконок/{title}.png", возможно с приведением title к транслиту (если кирилица файловой системой не поддерживается)/
Всё что нужно будет в этом случае для поддержки нового канала это просто добавлять соответствующую иконку в папку с иконками, никакого гемора с заполнением массива.

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

3. Изменён интерфейс и логика навигации по избранным телеканалам.
пока есть косяки и потому код не выкладываю

По этому поводу есть вопрос:

При переключении каналов через общий список каналов при повторном заходе в список каналов текущий включённый телеканал находится в начале списка и выделен (и это удобно).
При выборе телеканала из избранного при повторном запуске избранного выделения текущего канала не происходит что крайне неудобно.

Так вот вопрос это у всех так ?? так и было задумано ?? Или это какой то косяк у меня ???


общий вывод по исходнику:
автор написал функциональный (за что ему большое спасибо), но крайне монструозный скрипт усложнив всё до безобразия(вероятно со временем) и теперь разобраться во всём этом тот ещё кошмар и ужас, со всех сторон лезут грабли, баги и тормоза.
Если и делать функции универсальными, то так чтобы в них поступал идентификатор чётко определяющий какой из элементов интерфейса генерируется сейчас.
Все отображаемые окна и меню, в не зависимости от вложенности надо выводить с уникальным id, тогда  достаточно будет элементарной проверки для определения текущего состояния.

- изначально не разделены html, js и частично css
- есть проблемы со скоростью исполнения функций
- дублирование, есть троекратные вызовы одних и тех же функций с теми же параметрами (решается кэшированием)
- нет чёткой системы идентификации окон, меню и их видимости (тут универсальность функций - абсолютное зло)
- устроен какой то АДъ с функциями навешанными на кнопки пульта
Вместо того чтобы сделать одно указание кнопки и в зависимости от текущего состояния менять её функциональность, сделано "тритыщи" состояний с десятком вариантов на каждую из кнопок в каждом из состояний....

уж лучше на jquery изначально всё писал, было бы менее монструозно в итоге и работало бы значительно шустрее ...

Надеюсь автор прочтёт и осознает в какие условия он сам себя загнал.
Со временем на поддержку такого скрипта будет нужно всё больше и больше времени, а на развитие его будет оставаться всё меньше и меньше.

Спасибо сказали: ufodriver, Forum-TV2

415

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Это ты ещё не видел оригинального исходника, в который налеплены гроздья липовых переменных и функций и где имена функций сами являются переменными и формируются в зависимисоти от точки вызова функции  :D
Всё было сделано для того, чтобы запутать тех, кто захочет модифицировать виджет. Мне удалось сохранить его в более-менее презентабельном виде для модификации.
Менять механизм его работы смысла особого нет, проще написать заново с нуля так как ты предложил. Но с учётом того, что и у автора начались материальные проблемы с абонентами, а виджетов уже развелось как собак нерезанных, то в этом тоже нет смысла. Проще поддерживать на плаву то, что имеется, добавляя время от времени что-нибудь новенькое.
по поводу Избранного, там я уже много чего доработал, нужно ещё чуть чуть подправить, выделение текущего канала сделаю.
В версии 8 особо ничего нового нет, только ещё больше запутан исходник. Я уже повыдёргивал самое интересное, потихоньку вытащу всё.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

416

Re: Доработанный виджет TheDark SmartTV от Hacker0777

boris2121 пишет:

я модифицировал mod V.7.7.05

сейчас переносить свои изменения в последнюю V.7.7.07.Test - задолбаешься (скрипт ещё не доделан).

Если использовать систему контроля версий, например git, то проблем возникнуть не должно - там не так уж много изменений.

Hacker0777 пишет:

Это ты ещё не видел оригинального исходника, в который налеплены гроздья липовых переменных и функций и где имена функций сами являются переменными и формируются в зависимисоти от точки вызова функции  :D

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

Hacker0777 пишет:

оба бага нашёл и исправил, в следующем обновлении будет.

И когда мы им сможем насладиться?

417 (2016-05-12 15:00:28 отредактировано ufodriver)

Re: Доработанный виджет TheDark SmartTV от Hacker0777

брать готовую чужую epg например тут _ttp://www.teleguide.info/download/new3/xmltv.xml.gz (этот готовый источник обнаружил случайно, уже после того как парсер ntv+ написал)

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

LE40C750 UE32ES5507

418

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Hacker0777 пишет:

Это ты ещё не видел оригинального исходника

видел, ещё до того как твой мод нашёл ))
Распаковывал и деобфусцировал оригинал только из за того что хотел сделать ровно те же самые изменения что делаю сейчас с модом.

Но вот то что там имена переменных и функций похерены это да - проблема, в моде значительно информативнее, хотя всё равно приходится иногда методом тыка нужные участки кода искать )))

Менять механизм его работы смысла особого нет, проще написать заново с нуля так как ты предложил.

в части основного функционала и интерфейса, да - беспорно, проще совсем заново написать

но вот некоторые функции в особенности с js парсингом EPG поканально и отображением иконок каналов (из массива) нужно разбираться раз и навсегда решая эту проблему, тк это издевательство над здравым смыслом

419

Re: Доработанный виджет TheDark SmartTV от Hacker0777

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

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

420

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Tiramisu пишет:

Если использовать систему контроля версий, например git, то проблем возникнуть не должно - там не так уж много изменений.

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

git не панацея, я уже однажды пытался перенести свои изменения в 07 версию, но в итоге виджет тупо не стартанул, где то накосячил при переносе ...

421

Re: Доработанный виджет TheDark SmartTV от Hacker0777

в Totall Commander встроено отличное средство для сравнения текста, я именно им и пользуюсь, им же можно перекидывать отличия из одного текста в другой.

но в итоге виджет тупо не стартанул, где то накосячил при переносе ...

запускай в эмуляторе 2013, он номер строки с ошибкой показывает

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

422

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Totall Commander

тоже пользуюсь но есть куда более удобный для кода инструментарий

например плагин compare для родного notepad++ или WinMerge - на мой взгляд самый удобный вариант ))

423 (2016-05-13 12:28:32 отредактировано boris2121)

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Перенёс свои изменения в V.7.7.07.Test
правда пока опять таки в js выдранный из виджета, те без комментов - так было проще.
Вылезли правда какие то дополнительные глюки, которых ранее не было, но это уже мелочи ...

Вот так у меня выглядит избранное:
s011.radikal.ru/i315/1605/82/17258b5ca8bb.jpg
s018.radikal.ru/i511/1605/2d/ac97b857d9b4.jpg
s015.radikal.ru/i330/1605/87/77959cccfaec.jpg

Кнопками влево, в право переключается отображаемая категория избранного, на следующую или пред идущую.
На мой взгляд это самый наглядный и удобный вариант из всех возможных.

Вывод иконки раздела в избранном пришлось упразднить - зачем экранные площади так попусту тратить

Начала выводится на экран какая то ошибка по поводу "ошибки при нажатии клавиши", вопрос в том как отследить где именно возникает эта ошибка ??
В браузере всё просто - firebug в консоль номер строки выводит, как заставить thedark на телевизоре вывести ошибку и номер строки в консоль ??

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

Спасибо сказали: Hacker07771

424

Re: Доработанный виджет TheDark SmartTV от Hacker0777

Благодаря идее boris2121 я переработал логику движения курсора и листания страниц в проводнике. Теперь можно задавать граничную позицию курсора относительно границы окна от 0 до 6, в результате курсор будет делать отступ от границ окна на это значение вплоть до достижении границы списка элементов. При значении '0' курсор движется до самого конца окна как сейчас, при N значении происходит смещение списка за N позиций от границы окна.
Завтра будет обновление.

Samsung UE55D7000/UE55H8000/UE55F9080/UE65F9090/SEK-2500/SEK-3500
Спасибо сказали: al7511

425 (2016-05-15 22:54:13 отредактировано boris2121)

Re: Доработанный виджет TheDark SmartTV от Hacker0777

rgho.st/8HdWqHjYQ
только виджет 7.707 mod, модифицированный мною
рассчитан в общем то на тех кто смотрит sat tv
iptv и плейлисты тоже работают, но я их особо не тестировал, запускал всего пару раз ...

- сильно изменены функции на кнопках пульта
всё завязано на 5 поз, джой ...
Всё редактировалось в js, вероятно если попытаться настроить кнопки через виджет результат будет абсолютно непредсказуемый ))))
- переписал функции EPG
- минимизировал дёргание tv плагинов отвечающих за время
- изменена навигация по избранному
- внедрено кэширование тайтлов и EPG каналов в избранном и списке каналов
время жизни кэша до 100 сек, раз в 10 минут глобальная чистка кэша


Теперь каналы листаются практически мгновенно
статистика
s019.radikal.ru/i614/1605/aa/cb82135ef9d7.png
слева - так было до оптимизации, справа - так стало
(дорвался до дебаггера висящего на 8888 порту эмулятора 2014 VB 5.1)

Измененена функция сохранения в избранное
убрана перенумерация (я уже говорил что с перенумерацией потом tv каналы не работают)
Именно номер отображаемый в списке используется для переключения на канал, так что делать перенумерацию в избранном не имеет никакого смысла пока не будет изменена функция переключения на выбранный телеканал.

зачем вообще вся эта фильтрация устроена (закомментено) ?? Не понимаю ...
Ну если уж не нужны какие то данные, то просто не выводите их потом при получении, а сохранять надо все, тк многие из них нужны для использования sat tv

Tools.ArrayString = function(arr) {
    var b = "";
    var ind = 0;
    var isSkip = false;
    for (var i in arr) {
        for (var c in arr[i]) {
/*if (arr[i][c] == null) continue;
if (c == "type" && arr[i][c] == "Channel") isSkip = true;
if (isSkip && c == "url") continue;
if (c == "start") continue;
if (c == "stop") continue;
if (c == "length") continue;
if (c == "msg") continue;
if (c == "length") continue;
if (c == "description") continue;
if (c == "tvtype") continue;
if (c == "urlReal") continue;
if (c == "mode") continue;
if (c == "modesize") continue;
if (c == "islive") continue;
if (c == "state") continue;
if (c == "timetotal") continue;
if (c == "isnetplay") continue;
if (c == "flag") continue;
if (c.substring(0, 7) == "program") continue;
if (c == "index") {
    arr[i][c] = ind;
    continue
} */
b = b + c + "=" + arr[i][c] + "\n"
        }
/*        b = b + "index=" + ind + "\n";
        flag = false;
        ind++;
        isSkip = false; */
        b = b + Tools.NewSection + "\n"
    }
    return b
};
Спасибо сказали: Hacker0777, firedrake, Forum-TV3

426 (2016-05-15 22:49:49 отредактировано boris2121)

Re: Доработанный виджет TheDark SmartTV от Hacker0777

кстате нашёл где в эмуляторах хранятся данные виджетов
2013

/home/smarttv/.metadata/TheDarkSmartTV

в 2014

/home/smarttv/CSEmulator/WManager/manager/Common/TheDarkSmartTV

учитывая что в эмуляторах ещё и дебаггер на 8888 порту висит, a 2014 ещё и ошибки и номер строки выводит если скрип подправить ))

для дебага надо заменить в скрипте все

catch (e) {

на

catch (e) { console.error(e); 
Спасибо сказали: Tiramisu, Hacker0777, firedrake3