nakama/PROXY_QUICKSTART.md

182 lines
5.6 KiB
Markdown
Raw Normal View History

2025-11-03 20:35:01 +00:00
# ⚡ Быстрый старт: Проксирование для РФ
## ✅ Что уже работает
**Поздравляем!** Проксирование уже полностью настроено и работает автоматически.
### Что происходит автоматически:
1. ✅ API запросы к e621 и gelbooru идут через ваш сервер
2. ✅ URL изображений автоматически конвертируются в прокси-URL
3. ✅ Изображения загружаются через ваш сервер
4. ✅ Кэширование на 24 часа для оптимизации
### Никаких дополнительных действий не требуется! 🎉
---
## 🚀 Проверка работы
### 1. Запустите проект
```bash
# Backend
cd backend
npm start
# Frontend (в другом терминале)
cd frontend
npm run dev
```
### 2. Откройте приложение
```
http://localhost:5173
```
### 3. Протестируйте поиск
1. Перейдите в раздел "Поиск" (🔍)
2. Выберите режим "Furry" или "Anime"
3. Введите любой тег (например: `cat`, `wolf`, `anime`)
4. Изображения загрузятся через прокси ✅
### 4. Проверьте в DevTools
Откройте DevTools (F12) → Network:
- URL изображений должны начинаться с `/api/search/proxy/`
- Статус: `200 OK`
- Заголовок: `Cache-Control: public, max-age=86400`
---
## 🌍 Деплой для пользователей из РФ
### Важно:
**Разместите сервер ВНЕ РФ** для надежного доступа к e621 и gelbooru.
### Рекомендуемые платформы:
#### Railway (Европа/США) ⭐
```bash
# 1. Создайте проект на railway.app
# 2. Подключите GitHub репозиторий
# 3. Railway автоматически задеплоит
```
#### Heroku
```bash
heroku create nakama-space
git push heroku main
```
#### DigitalOcean
```bash
# App Platform → Create App → Connect GitHub
# Регион: NYC, Amsterdam, или Singapore
```
---
## 📊 Мониторинг
### Проверка логов
```bash
# Backend логи
cd backend
npm start
# Ищите:
# ✅ "Ошибка проксирования изображения" - если есть проблемы
```
### Метрики
Отслеживайте:
- Скорость загрузки изображений
- Процент успешных запросов
- Объем трафика
---
## 🛠️ Настройка (опционально)
### Изменить время кэширования
`backend/routes/search.js`:
```javascript
// Строка 52
res.setHeader('Cache-Control', 'public, max-age=86400'); // 24 часа
// Измените 86400 на нужное значение в секундах
```
### Изменить таймаут загрузки
`backend/routes/search.js`:
```javascript
// Строка 47
timeout: 30000 // 30 секунд
// Измените на нужное значение в миллисекундах
```
### Добавить домены
`backend/routes/search.js`:
```javascript
// Строки 24-33
const allowedDomains = [
'e621.net',
'static1.e621.net',
'gelbooru.com',
// ... добавьте ваши домены
];
```
---
## 🧪 Тестирование из РФ
### Попросите друга из РФ:
1. Открыть ваше приложение (без VPN)
2. Выполнить поиск
3. Проверить, что изображения загружаются
### Если не работает:
- ✅ Проверьте, что сервер вне РФ
- ✅ Проверьте логи на ошибки
- ✅ Убедитесь, что сервер имеет доступ к e621/gelbooru
- ✅ Проверьте firewall настройки
---
## 📚 Дополнительная документация
- [PROXY_INFO.md](PROXY_INFO.md) - Подробная техническая документация
- [CHANGELOG_PROXY.md](CHANGELOG_PROXY.md) - Список изменений
- [DEPLOYMENT.md](DEPLOYMENT.md) - Инструкции по деплою
- [SETUP.md](SETUP.md) - Настройка проекта
---
## ❓ Частые вопросы
**Q: Нужно ли что-то менять на фронтенде?**
A: Нет, всё работает автоматически.
**Q: Будут ли изображения медленнее грузиться?**
A: Первая загрузка может быть чуть медленнее, но благодаря кэшированию последующие загрузки будут быстрыми.
**Q: Безопасно ли это?**
A: Да, используется whitelist доменов и все запросы проверяются.
**Q: Сколько это будет стоить?**
A: Зависит от трафика. Бесплатные тиры (Railway, Vercel) должны хватить для старта.
**Q: Можно ли использовать CDN?**
A: Да! Рекомендуется использовать Cloudflare перед вашим сервером для оптимизации.
---
## 🎉 Готово!
Ваш NakamaSpace теперь доступен пользователям из РФ без VPN!
**Наслаждайтесь!** 🚀
---
**Нужна помощь?** Создайте issue на GitHub или обратитесь к [PROXY_INFO.md](PROXY_INFO.md)