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