Премиальный Telegram-проект для продажи:
- VPN-подписки (Outline)
- DNS-подписки (AdGuard Home)
- P2P покупки TON за RUB
- Web Dashboard + Mini App интерфейс
- покупка VPN / DNS / PRO
- TON-платежи с кодом платежа
- проверка оплаты и выдача доступа
- P2P сценарий: RUB -> TON
- реферальная система
- админ-команды и рассылки
- статистика, пользователи, заказы
- подтверждение/отмена P2P
- API для Mini App:
GET /api/mini/bootstrapPOST /api/mini/create-paymentGET /api/mini/faq
- витрина с реальными ценами и статусами
- запуск оплаты TON и deep-link в бота
- запуск P2P сценария
- профиль, рефералка, FAQ, поддержка
- deep-link установка ключа на устройство
- Python 3.11+
- aiogram 3
- SQLAlchemy + SQLite
- FastAPI + Jinja2
- Next.js 16 + React 19
- APScheduler
- Docker / Docker Compose
bot/ # Telegram bot (handlers/services/database)
dashboard/ # FastAPI dashboard + mini API
dashboard-ui/ # Next.js mini app frontend
alembic/ # DB migrations
data/ # SQLite DB
scripts/ # service scripts
git clone https://github.com/Alex-dev-sys/vpn.git
cd vpn
pip install -r requirements.txtМинимально важно:
BOT_TOKEN=YOUR_TELEGRAM_BOT_TOKEN
ADMIN_IDS=123456789
DASHBOARD_PASSWORD=CHANGE_ME_STRONG
DATABASE_URL=sqlite+aiosqlite:///data/bot.db
TON_WALLET=YOUR_TON_WALLET
HOT_WALLET_MNEMONICS=...
VPN_PRICE_RUB=199
DNS_PRICE_RUB=149
PRO_PRICE_RUB=299
DNS_SERVER_IP=YOUR_SERVER_IP
BOT_USERNAME=your_bot_username
SUPPORT_USERNAME=your_support_username
MINI_APP_URL=https://your-domain.com
CORS_ORIGINS=https://your-domain.com
MINI_APP_STRICT_AUTH=1
SESSION_TTL_SECONDS=43200
COOKIE_SECURE=1
COOKIE_SAMESITE=laxpython -m bot.mainpython -m uvicorn dashboard.app:app --host 0.0.0.0 --port 8080cd dashboard-ui
npm install
npm run dev- Привяжите домен в
@BotFather(/setdomain). - В
.envукажите:MINI_APP_URL=https://your-domain.com
- В главном меню бота появится кнопка
🚀 Открыть Mini App.
Важно: Mini App должен быть доступен по HTTPS.
docker compose up -d --buildСервисы:
botdashboard(порт8080)
cd dashboard-ui
npm run lint
npm run buildpython -m py_compile dashboard/app.py bot/handlers/common.py
python -m pytestcurl http://127.0.0.1:8080/health/live
curl http://127.0.0.1:8080/health/ready- Никогда не коммитьте реальный
.env - Используйте сильный пароль dashboard
- Включите HTTPS для dashboard и mini app
- Ограничьте доступ к админке по IP (если возможно)
- Регулярно делайте бэкапы
data/bot.db
- Telegram initData верификация в mini API
- CSRF/сессионное усиление dashboard
- Автотесты на критичные сценарии оплаты
- Улучшение аналитики продаж и retention
Private project / internal use.