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

6.0 KiB
Raw Blame History

Quick Start Guide

Быстрый старт для Media Center v2

1. Установка

# Клонировать или перейти в директорию проекта
cd media_center_v2

# Установить зависимости
npm install

2. Запуск в режиме разработки

npm run dev

Это запустит приложение в режиме разработки с hot reload.

3. Первый запуск

После запуска приложения:

  1. Главная страница откроется автоматически с карточками сайтов
  2. Прокси запустится автоматически (если настроен)
  3. Попробуйте поиск: введите название фильма в поисковую строку

4. Тестирование поиска

  1. В верхней части окна введите "Стражи галактики"
  2. Нажмите "Найти"
  3. Дождитесь результатов со всех сайтов
  4. Кликните на понравившийся результат

5. Сборка установщика

# Для 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 сервера, порты и т.д.)

Изменение настроек:

Сервер конфигураций:

// src/shared/constants.ts
export const DEFAULT_CONFIG_SERVER_URL = 'https://your-server.com/api';

Порт прокси:

// src/shared/constants.ts
export const DEFAULT_PROXY_PORT = 10808;

Путь к InvisibleManXRay:

// src/shared/constants.ts
export const INVISIBLE_MAN_CLI_PATH = 'invisibleManXRay';

Добавление нового сайта

Шаг 1: Создать скрипт поиска

Скопируйте search-scripts/SCRIPT_TEMPLATE.jssearch-scripts/mysite.js

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:

{
  "id": "mysite",
  "name": "My Site",
  "url": "https://mysite.com",
  "logo": "https://mysite.com/favicon.ico",
  "enabled": true,
  "useProxy": false,
  "searchScript": "mysite.js"
}

Шаг 3: Перезапустить приложение

npm run dev

Отладка

Открыть DevTools

Нажмите F12 в приложении

Проверить логи

Main process (терминал):

[Proxy STDOUT]: ...
Found 5 results from Kinogo

Renderer process (DevTools Console):

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...

Решение:

# Очистить и переустановить зависимости
rm -rf node_modules
npm install

4. Vite не запускается

Проблема: Port 3000 is already in use

Решение:

  • Остановите другие процессы на порту 3000
  • Или измените порт в vite.config.ts:
server: {
  port: 3001,
},

Полезные команды

# Установка зависимостей
npm install

# Разработка
npm run dev

# Сборка
npm run build

# Создание установщика (Windows)
npm run package:win

# Очистка
rm -rf dist/ release/ node_modules/
npm install

Следующие шаги

  1. Прочитайте README.md для полной документации
  2. Изучите REQUIREMENTS.md для детальных требований
  3. Прочитайте SEARCH_SCRIPTS.md для создания своих скриптов
  4. Проверьте примеры скриптов в search-scripts/

Поддержка

Если возникли проблемы:

  1. Проверьте логи в терминале и DevTools
  2. Прочитайте документацию
  3. Создайте Issue на GitHub с описанием проблемы

Готово! Теперь вы можете начать работу с Media Center 🎬