О
dlm helper — это веб-инструмент, позволяющий легко создавать, тестировать и публиковать модули поиска DLM, расширяя возможности Synology Download Manager. При использовании в сочетании с прокси-сервером DLM Webdriver DLM, созданные с помощью dlm helper могут получать доступ к веб-сайтам, которые обычно защищены от автоматических сценариев.
Установка dlm helper
Есть несколько вариантов установки dlm helper :
- Включает прокси-сервер DLM WebDriver для более универсальных DLM. Используйте Docker из командной строки, чтобы запустить dlm helper с включенным прокси-сервером WebDriver:
- Клонируйте этот репозиторий и используйте Docker Compose для установки/запуска.
git clone https://github.com/SplitCriteria/dlm-helper.git
sudo docker-compose up -d
- Перейдите по адресу
http://your.synology.ip:3000
- Используйте веб-сервер с поддержкой PHP (например, Synology Web Station); установить из командной строки ( Предупреждение : Synology Web Station может ограничить время, разрешенное во время тестирования DLM, с помощью трудоемкого парсинга веб-страниц, что может привести к ошибке через 60 секунд):
- Клонируйте файлы в корневой каталог вашего сервера.
git clone https://github.com/SplitCriteria/dlm-helper.git
- Установите зависимость PHP WebDriver (требуется Composer)
cd dlm-helper
php /your/path/to/composer.phar update
- Направьте свой веб-браузер на
http://your.synology.ip/dlm-helper/
- Если вы хотите вручную запустить прокси-сервер DLM Webdriver
- Используйте Docker Compose
sudo docker compose -f docker-compose-proxy.yml up -d
- Или запустите вручную с помощью Docker.
sudo docker network create dlm-net
sudo docker run -dp 4445:4445 --name dlm-webdriver-proxy --network dlm-net splitcriteria/dlm-webdriver-proxy
sudo docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" --name selenium-webdriver --network dlm-net selenium/standalone-chrome
Использование прокси-сервера WebDriver
Прокси-сервер DLM WebDriver позволяет модулям DLM, созданным с помощью dlm helper , получать доступ к веб-сайтам, которые обычно защищены от автоматических сценариев. DLM WebDriver Proxy не требуется для использования модулей поиска DLM, для которых при публикации не был установлен флажок Use WebDriver Proxy
. Прокси-сервер WebDriver может использоваться отдельно теми, кто хочет использовать модули поиска DLM, настроенные для прокси-сервера WebDriver, но не хочет создавать DLM с помощью dlm helper .
Создание модулей поиска DLM с помощью dlm helper
Выполните следующие действия, чтобы создать и протестировать собственный DLM:
- Перейдите в
./index.html
- Создайте новый DLM или отредактируйте ранее созданный DLM.
- Примечание. Данные хранятся в памяти вашего браузера; если вы очистите данные браузера, вы потеряете свои данные
- Заполните конфигурацию для вашего DLM
- Зайдите на сайт и выполните образец поиска.
- Скопируйте/вставьте URL-адрес результатов поиска (например,
https://some.website.com/search/?q=Search+Title
) во входные данные URL-адреса поиска помощника dlm. - Скопируйте/вставьте строку поиска из URL-адреса в поле «Текст поиска» (например,
Search+Title
»).- Примечание. Исходный код веб-сайта должен быть загружен в раздел
Source Content
. - Примечание. Многие веб-сайты защищают свой контент от автоматических сценариев. Если исходный контент не содержит текста, похожего на ваш образец поиска, вы можете попробовать установить прокси-сервер DLM WebDriver и установить флажок
Use WebDriver Proxy
в конфигурации модуля поиска.
- Используйте регулярные выражения в разделе «Шаблоны», чтобы изолировать элементы результатов поиска.
- Примечание. Вы можете включить группировку в регулярное выражение, если присутствует более одной группы, используется только первая группа.
- Примечание. Шаблон тела не является обязательным и используется для сужения исходного содержимого (например,
/<body>(.*)</body>/s
). - Примечание. Минимально необходимые шаблоны — это «Элемент», «Название» и «Загрузка».
- Убедитесь, что желаемый контент присутствует в разделе «Соответствие шаблонам».
- Нажмите кнопку «Тест», чтобы отобразить результаты выборки (результаты искусственно ограничены до 5).
- Нажмите кнопку «Опубликовать», чтобы создать/загрузить DLM.
Примечания
- Файлы DLM создаются с использованием стандарта Synology, который находится на веб-сайте Synology.
- Поддержка учетных записей (т. е. частных трекеров) не документирована (по состоянию на апрель 2023 г.), но подробности можно найти на форуме Synology.
- Внутреннее кэширование включено по умолчанию, что может вызвать проблемы при переключении на «Использовать прокси-сервер WebDriver» (т. е. во время создания/тестирования DLM вместо прокси-сервера будет использоваться старый кэшированный контент). В этом случае вы можете открыть меню «Настройки» и либо нажать «Очистить кэш», либо полностью отключить его.
Поддержка аккаунта
Теперь включена поддержка частных трекеров, для которых требуется вход в систему по имени пользователя и паролю. Однако вам придется ввести код проверки самостоятельно. Ниже приведены шаги по включению поддержки учетной записи.
- Прежде чем нажать «Опубликовать», установите флажок «Поддержка учетной записи».
- Опубликовать DLM
- Распакуйте
tar xzf your_dlm_file.dlm
- Редактировать
search.php
- Внедрите соответствующий код проверки учетной записи в функцию
VerifyAccount
. - Перепакуйте свой DLM
tar czf your_dlm_file.dlm INFO search.php
- На Synology откройте Download Station > Настройки > BT Search.
- Нажмите «Добавить» и выберите свой DLM.
- Нажмите «Изменить», чтобы добавить свое имя пользователя и пароль, затем «Проверить», чтобы убедиться, что вход в систему работает (при этом вызывается
VerifyAccount
в search.php
).
Советы
- Журналы ошибок можно найти по адресу
/var/log/downloadstation.log
- Имя пользователя/пароль для учетных записей, хешированных/сохраненных в
/usr/syno/etc/packages/DownloadStation/download/btsearch.conf
- Плагины по умолчанию расположены по адресу
/volume[X]/@appstore/DownloadStation/btsearch/plugins/
, где X — номер тома (например, 1).