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

52 (2014-01-28 15:56:11 отредактировано janche)

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

pingi, какая у тебя версия виджета? Если одна из последних, то вот:

remote-netfolder.php
<?php

//  ================================
//      (c) TheDark Design
//      http://smart-tv-home.ru
//    --------  UTF ВЕРСИЯ  ----------
//  ================================

// Для подключения Сетевой папки находящейся на своем сайте/сервере
// нужно в корневую папку сервера положить файл GetSharedMedia.php
// там же создаем папку SharedMedia, в которую кладем папки с файлами


define("NetServerName","Сетевая папка");
define("SharedMediaDir","Сетевая папка");
define("isEncodePath",false);
define("isEncodeFilenames",false);


switch (strtolower($_GET['cmd'])) {
    case "filelist":
        header('isUnixServer: 1');
        header('Content-type: text/html; charset=UTF-8');
        $path = $_GET['path'];
        if (isEncodePath) $path = iconv("UTF-8","windows-1251", $path);
        $path = GetPath($path);
        if ($path==null) break;
        $path = $path."/";
        $files = GetDirFileArray2($path,true,false);                  // папки
        $msg = "";
        if ($files!=="") {
            foreach ($files as $f) {
                $msg = $msg.$f."\t\r\n";
            }    
        }
        $files = GetDirFileArray2($path,false,true);                  // файлы
        if ($files!=="") {
            foreach ($files as $f) {
                if ($f=="index.htm") continue;
                $msg = $msg.$f."\t".GetFilesize2($path.$f)."\r\n";
            }    
        }
        if (isEncodeFilenames) $msg = iconv("windows-1251","UTF-8", $msg);
        echo $msg;
        break;
    case "getfile":
        // полный путь
        $path = $_GET['path'];
        if (isEncodePath) $path = iconv("UTF-8","windows-1251", $path);
        $arr = parse_url($path);
        $path = GetPath(substr($arr[path],1));
        if ($path==null) break;
        GoToUrl2("http://".$arr[host]."/".$path);
        break;
    default:
        echo "Server OK... Cmd empty!\t<br>";
        break;
}


function GetPath($path) {
    if ($path=="") return null;
    $a = explode("/",$path);                                        // защита
    if ($a[0]!=NetServerName) return null;
    foreach($a as $e) {
        if ($e=="." || $e=="..") return null;
    }
    $a = array_splice($a,1);
    $path = implode($a,"/");
    return SharedMediaDir."/".$path;
}


function GetDirFileArray2($path,$isDirs,$isFiles,$ext="") {
    $arr="";
    clearstatcache();
    if (!is_dir($path)) return "";
      if (!($dh = opendir($path))) return "";
       while (($FileName = readdir($dh)) !== false) { 
        $f = is_dir($path.$FileName);
        if (!$isDirs && $f) continue;
        if (!$isFiles && !$f) continue;
        if ($FileName=="." || $FileName=="..") continue;
        if ($ext!="") { if (!preg_match("/\.".$ext."$/i",$FileName)) continue; };
        $arr[] = $FileName;
    }
    closedir($dh);
    if (is_array($arr)) sort($arr);
    return $arr;
}

function GetFilesize2($FileName) {
    try {
        clearstatcache();
        if (!file_exists($FileName)) return 0;
        return @filesize($FileName)*1;
    }
    catch(Exception $e) {
        return 0;
    }
}

function isFileExists2($path) {
    clearstatcache();
    return file_exists($path);
}

function GoToUrl2($url) {
    Header("Location: ".$url);
}

?>

Файл должен называться remote-netfolder.php и находиться в корне сервера www.
Там же должна находиться папка с именем "Сетевая папка".
Не забудьте выставить ей права 0777.
В этой папке можно разместить симлинки на расшариваемые папки.

Samsung UE46-D6100SW

53

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

Реализовал пожелания по настройке каналов. Полный релиз не делал, только заменяемые файлы.
Скачать V.6.4.4.3

Исправлена ошибка

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

54

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

Не воспроизводит ничего, даже файлы, пишет:
ОШИБКА ВОСПРОИЗВЕДЕНИЯ: TypeError - Animate.CancelAnimation is not a function

Samsung UE46-D6100SW

55

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

Animate.CancelAnimation();
-удалите эту строку, я пропустил.

Только сегодня заметил, что после внедрения автопоиска иконок после удаления иконки аналогового телеканала она продолжает отображаться, т.е. автоматом находится и подставляется, если имя канала совпадает с именем в блоке     IconChannel: {

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

56

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

Кто-нибудь из местных общается с дарком донесите до него? или может он сам заходит сюда
у него обфускатор маленько неправильно отрабатывает в index.html TextViewer_Panel.Hide остается необфусцированной

<div id="TextViewer_Panel" onclick="TextViewer_Panel.Hide();">

а в Main.js эта функция обфусцирована
влияет это только при работе с мышкой, если раньше до 6.4.4 можно было мышкой окно новостей закрыть, то теперь оно не закрывается
все это касается только оригинального виджета!

Samsung UE46ES7207U

57

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

да он сам за нами шпионит и наверно уже прочитал :)

З.Ы. Вот ржака, чувак специально от нас шифрует, а мы ему говорим: у тебя там шифруется неправильно не до конца, подправь  :D

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

58

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

Угадайте какие изменения в версии 6.4.5 от 6.4.4?
Только поломанные скины )) больше ни одного изменения!
надеюсь хоть цель у этого благая была))

Samsung UE46ES7207U

59

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

janche пишет:

pingi, какая у тебя версия виджета? Если одна из последних, то вот:

remote-netfolder.php
<?php

//  ================================
//      (c) TheDark Design
//      http://smart-tv-home.ru
//    --------  UTF ВЕРСИЯ  ----------
//  ================================

// Для подключения Сетевой папки находящейся на своем сайте/сервере
// нужно в корневую папку сервера положить файл GetSharedMedia.php
// там же создаем папку SharedMedia, в которую кладем папки с файлами


define("NetServerName","Сетевая папка");
define("SharedMediaDir","Сетевая папка");
define("isEncodePath",false);
define("isEncodeFilenames",false);


switch (strtolower($_GET['cmd'])) {
    case "filelist":
        header('isUnixServer: 1');
        header('Content-type: text/html; charset=UTF-8');
        $path = $_GET['path'];
        if (isEncodePath) $path = iconv("UTF-8","windows-1251", $path);
        $path = GetPath($path);
        if ($path==null) break;
        $path = $path."/";
        $files = GetDirFileArray2($path,true,false);                  // папки
        $msg = "";
        if ($files!=="") {
            foreach ($files as $f) {
                $msg = $msg.$f."\t\r\n";
            }    
        }
        $files = GetDirFileArray2($path,false,true);                  // файлы
        if ($files!=="") {
            foreach ($files as $f) {
                if ($f=="index.htm") continue;
                $msg = $msg.$f."\t".GetFilesize2($path.$f)."\r\n";
            }    
        }
        if (isEncodeFilenames) $msg = iconv("windows-1251","UTF-8", $msg);
        echo $msg;
        break;
    case "getfile":
        // полный путь
        $path = $_GET['path'];
        if (isEncodePath) $path = iconv("UTF-8","windows-1251", $path);
        $arr = parse_url($path);
        $path = GetPath(substr($arr[path],1));
        if ($path==null) break;
        GoToUrl2("http://".$arr[host]."/".$path);
        break;
    default:
        echo "Server OK... Cmd empty!\t<br>";
        break;
}


function GetPath($path) {
    if ($path=="") return null;
    $a = explode("/",$path);                                        // защита
    if ($a[0]!=NetServerName) return null;
    foreach($a as $e) {
        if ($e=="." || $e=="..") return null;
    }
    $a = array_splice($a,1);
    $path = implode($a,"/");
    return SharedMediaDir."/".$path;
}


function GetDirFileArray2($path,$isDirs,$isFiles,$ext="") {
    $arr="";
    clearstatcache();
    if (!is_dir($path)) return "";
      if (!($dh = opendir($path))) return "";
       while (($FileName = readdir($dh)) !== false) { 
        $f = is_dir($path.$FileName);
        if (!$isDirs && $f) continue;
        if (!$isFiles && !$f) continue;
        if ($FileName=="." || $FileName=="..") continue;
        if ($ext!="") { if (!preg_match("/\.".$ext."$/i",$FileName)) continue; };
        $arr[] = $FileName;
    }
    closedir($dh);
    if (is_array($arr)) sort($arr);
    return $arr;
}

function GetFilesize2($FileName) {
    try {
        clearstatcache();
        if (!file_exists($FileName)) return 0;
        return @filesize($FileName)*1;
    }
    catch(Exception $e) {
        return 0;
    }
}

function isFileExists2($path) {
    clearstatcache();
    return file_exists($path);
}

function GoToUrl2($url) {
    Header("Location: ".$url);
}

?>

Файл должен называться remote-netfolder.php и находиться в корне сервера www.
Там же должна находиться папка с именем "Сетевая папка".
Не забудьте выставить ей права 0777.
В этой папке можно разместить симлинки на расшариваемые папки.

Через putty( для роутера кинектик) ввёл команду chmod 0777, в www создал папку Сетевая папка поместил remote-netfolder.php .Ничего не вышло, что делаю не так. Подскажите какие команды нужно ввести( в линуксе ноль, сервер создавал знакомый,в ближайший месяц связи с ним не будет).Если не сложно опишите пошагово все действия,если это напрягает ,также сообщите, что бы не наделся и не ждал ответа.

60

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

Посмотрим, он говорил, что на 7 версию переход готовит, хотя доставлять всем юзерам гемор с переустановкой только для изменения имён функций это слишком...

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

61 (2014-01-30 22:42:33 отредактировано janche)

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

pingi
Невозможно расписать пошагово: у всех разные конфигурации сети, устройств, IP-адресов, путей папок и т.д.

Набери в браузере компьютера:
http://<IP-адрес устройства>/remote-netfolder.php
что выдаёт?

Прикладываю файл в "правильном" Unix-формате.

Post's attachments

remote-netfolder.php.gz 1.29 Кб, 17 скачиваний с 2014-01-30 

remote-netfolder.php.zip 1.4 Кб, 23 скачиваний с 2014-01-30 

You don't have the permssions to download the attachments of this post.
Samsung UE46-D6100SW

62

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

janche пишет:

pingi
Невозможно расписать пошагово: у всех разные конфигурации сети, устройств, IP-адресов, путей папок и т.д.

Набери в браузере компьютера:
http://<IP-адрес устройства>/remote-netfolder.php
что выдаёт?

Прикладываю файл в "правильном" Unix-формате.

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

63

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

Если запретить в браузере куки, то получаем результат такой-же, как в телевизоре.
Яндекс выдаёт страницу авторизации:

Произошла ошибка.
Чтобы авторизация на Яндексе проходила корректно, необходимо включить куки (Cookies) в настройках вашего браузера. О том, как включить куки, можно прочитать в разделе помощи Что такое cookies. Важное условие - настройки должны быть выполнены именно так, как описано на этой странице.

Вот что пишет Фиоком по этому поводу (у nStreamLmod тоже проблемы с телепрограммой):

На Яндексе сейчас используется авторизация через КУКИ и если в ТВ они не поддерживаются, то загрузка программки с другого региона блокируется.
Была уже такая проблема полгода назад . Что то подшаманили на сайте Яндекса и пропала блокировка по КУКАМ.

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

64

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

Для преодоления блокировки Яндекса необходимо в настройках телеканалов запустить:
"Номер текущего канала найти на сайте"
после этого встроенный браузет открывает программу Яндекса и видимо создаёт куки.
После этого выполнить "Найти Яндекс номера по именам каналов"
После этого телепрорамма появляется и загружается даже после перезапуска виджета.
Сегодня выложу подправленную версию.

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

65 (2014-02-02 16:15:34 отредактировано janche)

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

TheDark: "да из-за одного нехорошего человека, программа забанена для C-D" (имеется ввиду на Яндексе) *WALL*
А ещё, в версии 6.4.7 он, как я понял, прикрутил XZOOM. Hacker0777, кати ему предъяву... ;-)

Samsung UE46-D6100SW

66

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

Что касается всех этих проблем с программой передач: а почему бы не сделать просто закачку программки за один раз на неделю, как это сделано, например, в IPTV-Player? Тогда она будет доступна всегда, мгновенно, и даже в оффлайне. Бесплатные источники имеются (можно посмотреть в том же IPTV-Player).

Samsung UE46-D6100SW

67

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

Если она с Яндекса закачивается, то проблемы будут те-же самые.
И проблемы с Яндекс программой были ещё пол года назад до загрузки программы, так что я тут не причём.
А зум у него какой-то кривой, не для всех видео доступен, так что предьявить ему нечего :)

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

68 (2014-02-02 17:12:00 отредактировано janche)

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

Hacker0777 пишет:

Если она с Яндекса закачивается, то проблемы будут те-же самые.

Программы передач можно скачать не только с Яндекса - есть сторонние сервисы, например, вот:

www.teleguide.info/download/new3/jtv.zip
www.gotview.ru/programs/tv.rar
www.vipiko.tv/get?cur-jtv-zip

Используется устоявшийся формат "jtv" - существуют наработанные средства и библиотеки для работы с ним.

И ещё у mail.ru есть сервис "телепрограмма", и даже более развитый чем у Яндекса.
SMS с напоминаниями о начале передачи присылает. Я пользуюсь - удобно.
Вот бы ещё вывод на TV прикрутить - было б супер.

Samsung UE46-D6100SW

69

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

Доработанный виджет TheDark SmartTV V.6.4.5.1
Если возникает проблема с получением телепрограммы, необходимо в настройках телеканалов запустить:
"Номер текущего канала найти на сайте". Откроется браузер с телепрограммой, его необходимо закрыть и после этого телепрограмма будет считываться без проблем.

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

70

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

Дарк негодует:

да из-за одного нехорошего человека, программа забанена для C-D
и помните все кто пользуется поддельными версиями виджета этого слабоумного хакера - это вы ЛИЧНО виноваты что сотни тысяч человек остались без программы передач. о чем предупреждали несколько недель назад!

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

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

71

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

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

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

72

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

cadnegad пишет:

Смотрел олимпиаду с зумом (режим 0), в таком режиме не видно оценок судей внизу экрана, хотелось подвинуть экран вверх. Насколько я понимаю это позволяет сделать кастомный зум, верно?

Так это же позволяет сделать и доработанный виджет, причём уже давно: выбираем режим XZOOM --> нажимаем Enter -->  стрелками подстраиваем размер изображения --> ещё раз нажимаем Enter. Что бы каждый раз не подстраивать, можно канал добавить в избранное, и там запомнятся его нестандартные размеры.

Samsung UE46-D6100SW

73

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

В 6.4.8 оригинальном заметил глюк что при движении мышкой по экрану перестала появляться панель управления
оказалось Dark забыл убрать условие

|| Display.isObjectVisibile("Password_Panel") 

надеюсь он прочитает и поправит

Samsung UE46ES7207U

74

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

В настройкав выбрал время показа инфо панели 7 секунд..но большие значки убираются раньше (по умолчанию через 3 секунды) Можно сделать чтобы они синхронно убирались вместе с инфо панелью? И если можно добавить функцию показа в инфо панели что будет следом идти за идущей телепередачей? Спасибо.

D серия, E серия, H серия

75

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

В следующей версии большие значки будут убираются через три секунды или вместе с информационной панелью, если время её отображения будет до 3 секунд включительно.
Там же будет исправлен поиск на Ютубе.

Обновлен релиз 6.4.8.1

58. Режим "Форсировать получение телепрограммы" в настройках "Телеканалы и Программа передач".

"Форсировать получение телепрограммы" - для телевизоров серий D и Е, на которых есть проблема с получением телепрограммы. При включенной опции
при старте виджета запускается браузер с телепрограммой, его нужно закрыть кнопкой "Return" и затем открыть любой из пунктов "Список каналов",
после этого телепрограмма загрузится и будет доступна для всех телеканалов.

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

76

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

Не нашел специализирующей темы, поэтому заранее извиняюсь.
Такая ситуация: установил TheDarkServer  но не получаются синхронизировать выдает ошибку "Не удалось подключиться к серверу. Попробуйте позже.ERROR_DEVELOPMENT_002"
Начал грешить на сеть антивирусы и фаерволы, но ошибка повторилась даже когда я все отключил.
Для теста решил запустить другой сервер SmartInstaller_1.0 и синхронизация прошла успешно.
Виджет нужен только для просмотра трансляции сопкаста. Телевизор f6540
Никто не сталкивался с такой проблемой?