913f833b8cf2c2c0e9c19295f4b0a5190a033fcf
🎵 Quixotic - YouTube to MP3 Telegram MiniApp
Telegram miniapp для поиска музыки на YouTube и конвертации в MP3.
Возможности
- 🔍 Поиск видео на YouTube
- 🎵 Конвертация в MP3 с помощью FFmpeg
- 📱 Telegram Web App интерфейс
- 💾 SQLite база данных
- 📊 История поиска
- 🤖 Telegram Bot интеграция
Установка
1. Клонирование и установка зависимостей
git clone <repository-url>
cd quixotic
yarn install
2. Установка FFmpeg
macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update
sudo apt install ffmpeg
Windows: Скачайте с ffmpeg.org
3. Создание Telegram бота
- Напишите @BotFather в Telegram
- Создайте нового бота:
/newbot - Получите токен бота
- Настройте Web App:
/newapp
4. Настройка окружения
cp .env.example .env
Отредактируйте .env:
TELEGRAM_BOT_TOKEN=your_bot_token_here
WEB_APP_URL=https://your-domain.com
PORT=3000
Запуск
Разработка
yarn dev
Продакшн
yarn start
Структура проекта
quixotic/
├── src/
│ ├── server.js # Express сервер
│ ├── bot.js # Telegram бот
│ ├── youtube.js # YouTube API
│ └── database.js # SQLite база данных
├── public/
│ ├── index.html # Web App интерфейс
│ ├── style.css # Стили
│ └── script.js # JavaScript
├── database/ # SQLite файлы
├── downloads/ # MP3 файлы
└── package.json
API Endpoints
POST /api/search- Поиск видеоPOST /api/convert- Конвертация в MP3GET /downloads/:filename- Скачивание файловGET /health- Проверка здоровья
База данных
SQLite с таблицами:
users- пользователи Telegramsearch_history- история поискаdownloads- загруженные файлы
Деплой
Heroku
- Установите Heroku CLI
- Создайте приложение:
heroku create quixotic-app
- Установите buildpacks:
heroku buildpacks:add --index 1 https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git
heroku buildpacks:add --index 2 heroku/nodejs
- Настройте переменные:
heroku config:set TELEGRAM_BOT_TOKEN=your_token
heroku config:set WEB_APP_URL=https://quixotic-app.herokuapp.com
- Деплой:
git push heroku main
VPS (Ubuntu)
# Обновление системы
sudo apt update && sudo apt upgrade -y
# Установка Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Установка FFmpeg
sudo apt install ffmpeg -y
# Клонирование проекта
git clone <repository-url>
cd quixotic
yarn install
# Настройка PM2
sudo npm install -g pm2
pm2 start src/server.js --name quixotic
pm2 startup
pm2 save
# Nginx (опционально)
sudo apt install nginx -y
# Настройте reverse proxy на порт 3000
Мониторинг
# Логи сервера
pm2 logs quixotic
# Статус
pm2 status
# Перезапуск
pm2 restart quixotic
Лицензия
MIT License
Description
Languages
TypeScript
65.8%
CSS
13.9%
HTML
13.3%
JavaScript
5.2%
Dockerfile
1.1%
Other
0.7%