- 🔍 Поиск модов по играм, категориям и тегам
- ⚡ Прямые ссылки на скачивание (без рекламы)
- 📊 Кэширование данных для максимальной скорости
- 📱 Оптимизированный JSON для мобильных приложений
- 🔒 Обход защиты с помощью bypass TLS Fingerprint
- 📚 Полная документация Swagger/OpenAPI
| Компонент | Описание |
|---|---|
| FastAPI | Высокопроизводительный API-фреймворк |
| aiohttp | Асинхронные HTTP-запросы |
| Redis | Кэширование данных и сессий |
| BeautifulSoup | Парсинг HTML контента |
| curl_cffi | Обход TLS Fingerprint защиты |
| Docker | Контейнеризация приложения |
git clone https://github.com/username/TopModsAPI.git
cd TopModsAPI
docker compose up -dpython3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
docker run -d --rm -p 127.0.0.1:32768:6379 redis
fastapi run src/main.pyПосле запуска API будет доступен на:
http://localhost:8000
Документация: http://localhost:8000/docs
| Метод | Путь | Параметры | Описание |
|---|---|---|---|
GET |
/mods |
page, game, category, title, author, date_pub_from, date_pub_to |
Получение списка модов с фильтрацией |
GET |
/mods/{mod_id} |
- | Детальная информация о моде |
GET |
/download/{code} |
- | Скачивание файла мода |
| Метод | Путь | Описание |
|---|---|---|
GET |
/games |
Список доступных игр |
import requests
# Получить список игр
response = requests.get("http://localhost:8000/api/games")
print(response.json())
# Поиск модов по фильтрам
params = {"game": "melon-playground", "title": "Hell"}
response = requests.get("http://localhost:8000/api/mods", params=params)Я использую curl_cffi для обхода защиты сайта
- Форкните репозиторий
- Создайте ветку (
git checkout -b feature/AmazingFeature) - Сделайте коммит (
git commit -m 'Add some AmazingFeature') - Запушьте изменения (
git push origin feature/AmazingFeature) - Откройте Pull Request
Этот проект распространяется под лицензией MIT - подробности см. в файле LICENSE.
