88 lines
3.9 KiB
Markdown
88 lines
3.9 KiB
Markdown
# 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/ — стили
|
||
```
|