Files
ESH-Media/README.md

88 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ESH-Media
Десктопное приложение на Electron + React. Запускает веб-сервисы в отдельных WebContentsView, поиск и обзор фильмов через TMDB, встроенная блокировка рекламы.
## Стек
- Electron 32
- React 18 + TypeScript
- Vite
- @cliqz/adblocker-electron
## Запуск
```bash
npm install
npm run dev
```
## Сборка
```bash
# Windows (installer + zip)
npm run build:win
# Linux (AppImage + deb)
npm run build:linux
```
Артефакты в папке `release/`.
> Linux-сборку нужно запускать на Linux-машине.
## Настройка
Настройки открываются кнопкой в левом верхнем углу приложения.
### Приложения
Список сайтов, которые отображаются на главном экране в виде карточек. Для каждого можно указать:
- **Название** — отображается под иконкой
- **URL** — адрес сайта, открывается в отдельном WebContentsView
- **URL иконки** — картинка для карточки (необязательно)
- **Прокси** — использовать ли прокси для этого сайта (переключатель включается отдельно для каждого)
### Прокси
Приложение поддерживает HTTP/HTTPS/SOCKS5 прокси. Настраивается в разделе "Прокси" — указываешь хост и порт. Прокси применяется не глобально, а поприложенно: для каждого сайта в списке есть отдельный переключатель. Это позволяет, например, открывать заблокированные сайты через прокси, а остальные — напрямую.
Конфигурация прокси сохраняется в файл `~/.ESH-Media.json` и применяется при следующем запуске автоматически.
### Поиск фильмов
- **TMDB API Key** — ключ для поиска метаданных, постеров и обзора по фильтрам. Получить бесплатно на [themoviedb.org](https://www.themoviedb.org/settings/api). Поддерживаются как обычные API-ключи, так и Bearer-токены.
- **Сайты** — список фильмовых сайтов, на которых будет производиться поиск после выбора фильма из TMDB. Поддерживаются движки DLE (kinogo, lordfilm и зеркала), HDRezka, Filmix. Тип определяется автоматически по домену.
Если раздел "Сайты" пустой, приложение попробует использовать подходящие сайты из раздела "Приложения".
## Конфиг
Хранится в домашней директории пользователя: `~/.ESH-Media.json`.
```json
{
"apps": [...],
"proxy": { "host": "127.0.0.1", "port": "7890" },
"movieSites": [...],
"tmdbApiKey": "...",
"bookmarks": [...]
}
```
## Структура
```
main.js — main process
preload.js — preload / IPC bridge
index.html — точка входа основного UI
loader.html — экран загрузки
dialog-error.html — диалог ошибки
dialog-confirm.html — диалог подтверждения
src/
entries/ — entry points для Vite (loader, dialogs)
components/ — React компоненты
pages/ — страницы
styles/ — стили
```