Andrey Kondratev 57f0519a32 ts
2025-08-27 18:57:09 +05:00
ts
2025-08-27 18:57:09 +05:00
ts
2025-08-27 18:57:09 +05:00
ts
2025-08-27 18:57:09 +05:00
2025-08-27 18:37:44 +05:00
2025-08-27 18:37:44 +05:00
2025-08-27 18:37:44 +05:00
2025-08-27 18:37:44 +05:00
ts
2025-08-27 18:57:09 +05:00
2025-08-27 18:37:44 +05:00
ts
2025-08-27 18:57:09 +05:00
ts
2025-08-27 18:57:09 +05:00
ts
2025-08-27 18:57:09 +05:00

🎵 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 бота

  1. Напишите @BotFather в Telegram
  2. Создайте нового бота: /newbot
  3. Получите токен бота
  4. Настройте 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 - Конвертация в MP3
  • GET /downloads/:filename - Скачивание файлов
  • GET /health - Проверка здоровья

База данных

SQLite с таблицами:

  • users - пользователи Telegram
  • search_history - история поиска
  • downloads - загруженные файлы

Деплой

Heroku

  1. Установите Heroku CLI
  2. Создайте приложение:
heroku create quixotic-app
  1. Установите buildpacks:
heroku buildpacks:add --index 1 https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git
heroku buildpacks:add --index 2 heroku/nodejs
  1. Настройте переменные:
heroku config:set TELEGRAM_BOT_TOKEN=your_token
heroku config:set WEB_APP_URL=https://quixotic-app.herokuapp.com
  1. Деплой:
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
No description provided
Readme 612 KiB
Languages
TypeScript 65.8%
CSS 13.9%
HTML 13.3%
JavaScript 5.2%
Dockerfile 1.1%
Other 0.7%