Files
ESH-Media/QUICKSTART.md
eshmeshek ecb5e7e49f init: media-center v2
Rewrite of ESH-Media v1 with separated main/renderer/shared architecture
(vite-plugin-electron, React 18, react-router-dom). Includes NeDB storage,
electron-store config, proxy manager with FoxyProxy/uBlock extensions,
custom server-checked updater, NSIS installer.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 23:49:43 +03:00

236 lines
6.0 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.

# Quick Start Guide
Быстрый старт для Media Center v2
## 1. Установка
```bash
# Клонировать или перейти в директорию проекта
cd media_center_v2
# Установить зависимости
npm install
```
## 2. Запуск в режиме разработки
```bash
npm run dev
```
Это запустит приложение в режиме разработки с hot reload.
## 3. Первый запуск
После запуска приложения:
1. **Главная страница** откроется автоматически с карточками сайтов
2. **Прокси** запустится автоматически (если настроен)
3. **Попробуйте поиск**: введите название фильма в поисковую строку
## 4. Тестирование поиска
1. В верхней части окна введите "Стражи галактики"
2. Нажмите "Найти"
3. Дождитесь результатов со всех сайтов
4. Кликните на понравившийся результат
## 5. Сборка установщика
```bash
# Для Windows
npm run package:win
# Для macOS
npm run package:mac
# Для Linux
npm run package:linux
```
Установщик будет в папке `release/`.
## Структура файлов
### Важные файлы для начала:
- `config/sites.json` - настройки сайтов
- `search-scripts/` - скрипты поиска для каждого сайта
- `src/shared/types.ts` - TypeScript типы
- `src/shared/constants.ts` - константы (URL сервера, порты и т.д.)
### Изменение настроек:
**Сервер конфигураций:**
```typescript
// src/shared/constants.ts
export const DEFAULT_CONFIG_SERVER_URL = 'https://your-server.com/api';
```
**Порт прокси:**
```typescript
// src/shared/constants.ts
export const DEFAULT_PROXY_PORT = 10808;
```
**Путь к InvisibleManXRay:**
```typescript
// src/shared/constants.ts
export const INVISIBLE_MAN_CLI_PATH = 'invisibleManXRay';
```
## Добавление нового сайта
### Шаг 1: Создать скрипт поиска
Скопируйте `search-scripts/SCRIPT_TEMPLATE.js``search-scripts/mysite.js`
```javascript
async function search(query, siteUrl, useProxy, axios, cheerio, proxyConfig) {
const response = await axios.get(`${siteUrl}/search?q=${query}`);
const $ = cheerio.load(response.data);
const results = [];
$('.movie').each((i, el) => {
results.push({
name: $(el).find('.title').text(),
url: siteUrl + $(el).find('a').attr('href'),
image: $(el).find('img').attr('src')
});
});
return results;
}
```
### Шаг 2: Добавить в конфигурацию
Отредактируйте `config/sites.json`:
```json
{
"id": "mysite",
"name": "My Site",
"url": "https://mysite.com",
"logo": "https://mysite.com/favicon.ico",
"enabled": true,
"useProxy": false,
"searchScript": "mysite.js"
}
```
### Шаг 3: Перезапустить приложение
```bash
npm run dev
```
## Отладка
### Открыть DevTools
Нажмите `F12` в приложении
### Проверить логи
**Main process (терминал):**
```
[Proxy STDOUT]: ...
Found 5 results from Kinogo
```
**Renderer process (DevTools Console):**
```javascript
console.log('Search results:', results);
```
### Проверить ошибки скриптов
После выполнения поиска проверьте консоль на наличие сообщений вида:
```
Error searching Kinogo: timeout
```
## Частые проблемы
### 1. Прокси не запускается
**Проблема:** `Proxy failed to start`
**Решение:**
- Убедитесь, что InvisibleManXRay установлен
- Проверьте путь в `src/shared/constants.ts`
- Запустите вручную в терминале: `invisibleManXRay run`
### 2. Поиск не возвращает результаты
**Проблема:** `No results found`
**Решение:**
- Проверьте доступность сайта в браузере
- Откройте DevTools и проверьте ошибки в консоли
- Убедитесь, что скрипт поиска корректен
### 3. Ошибка компиляции TypeScript
**Проблема:** `TS2345: Argument of type...`
**Решение:**
```bash
# Очистить и переустановить зависимости
rm -rf node_modules
npm install
```
### 4. Vite не запускается
**Проблема:** `Port 3000 is already in use`
**Решение:**
- Остановите другие процессы на порту 3000
- Или измените порт в `vite.config.ts`:
```typescript
server: {
port: 3001,
},
```
## Полезные команды
```bash
# Установка зависимостей
npm install
# Разработка
npm run dev
# Сборка
npm run build
# Создание установщика (Windows)
npm run package:win
# Очистка
rm -rf dist/ release/ node_modules/
npm install
```
## Следующие шаги
1. Прочитайте [README.md](./README.md) для полной документации
2. Изучите [REQUIREMENTS.md](./REQUIREMENTS.md) для детальных требований
3. Прочитайте [SEARCH_SCRIPTS.md](./SEARCH_SCRIPTS.md) для создания своих скриптов
4. Проверьте примеры скриптов в `search-scripts/`
## Поддержка
Если возникли проблемы:
1. Проверьте логи в терминале и DevTools
2. Прочитайте документацию
3. Создайте Issue на GitHub с описанием проблемы
---
**Готово!** Теперь вы можете начать работу с Media Center 🎬