nakama/PROXY_QUICKSTART.md

182 lines
5.6 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.

# ⚡ Быстрый старт: Проксирование для РФ
## ✅ Что уже работает
**Поздравляем!** Проксирование уже полностью настроено и работает автоматически.
### Что происходит автоматически:
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)