# 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 🎬