Это современный веб-интерфейс для проекта goida-vpn-configs.
Сайт автоматически парсит актуальные конфигурации (V2Ray / VLESS / Hysteria / Trojan / VMess / Reality / Shadowsocks), генерирует удобные ссылки для копирования, QR-коды и предоставляет исчерпывающие инструкции по настройке.
- 🌍 Мультиязычность (i18n): Полная поддержка 8 языков (Русский, English, Français, Polski, Українська, Беларуская, Deutsch, Казахский) с сохранением выбора пользователя.
- 📱 PWA Ready: Сайт является прогрессивным веб-приложением. Его можно установить на смартфон или ПК, он поддерживает кэширование и работает в офлайн-режиме быстрее.
- 🔄 Динамические конфигурации: Данные о конфигах и времени их обновления подтягиваются в реальном времени из внешнего репозитория.
- ⚡ Автоматизация ссылок: Автоматический поиск и обновление прямых ссылок на VPN-клиенты (v2rayNG, Throne) и системные компоненты (VC Runtimes) на базе GitHub API и comss.ru.
- 🌗 Поддержка тем: Полноценная темная и светлая темы с автоматическим определением предпочтений системы.
- 🔍 SEO Оптимизация: Автоматическая генерация
sitemap.xmlиrobots.txt, правильные мета-теги и канонические ссылки. - 🛡️ Безопасность: Модальные окна подтверждения для внешних ссылок и загрузок файлов.
Кодовая база спроектирована по канонам разработки на Flask с использованием фабрики приложений (Application Factory), разделением роутинга на синие страницы (Blueprints) и инкапсуляцией логики в слой сервисов (Services). Все исходные файлы проекта перенесены в папку source.
goida-vpn-site/
├── source/ # Папка с исходными файлами проекта
│ ├── app/ # Основной пакет веб-приложения
│ │ ├── __init__.py # Фабрика приложений (create_app), регистрация Blueprints
│ │ ├── config.py # Глобальные настройки, SEO-дефолты, fallback-ссылки и источники
│ │ ├── utils.py # Утилиты генерации robots.txt, sitemap.xml и нормализации URL
│ │ ├── routes/ # Контроллеры и маршрутизация (Blueprints)
│ │ │ ├── views.py # Рендеринг основного UI (главная страница `/`)
│ │ │ ├── api.py # API эндпоинты с кэшированием (скачивания, статистика, VC++)
│ │ │ └── seo.py # SEO и PWA-файлы (sitemap, robots, sw.js, manifest)
│ │ ├── services/ # Бизнес-логика и сбор данных из внешних источников
│ │ │ ├── vpn.py # Скрапинг VPN-конфигураций и времени их обновлений
│ │ │ ├── github.py # Работа с GitHub API (загрузка бейджей, ссылки, статистика)
│ │ │ └── vc_runtime.py # Парсинг VC++ Redistributable с comss.ru
│ │ ├── templates/ # HTML-шаблоны (Jinja2)
│ │ │ ├── base.html # Основной лэйаут с Alpine.js (модалки, темы, меню)
│ │ │ ├── index.html # Точка сборки главной страницы
│ │ │ └── components/ # Модульные компоненты UI (header, footer, hero, tabs, bypass, video, instructions)
│ │ └── static/ # Статические ресурсы фронтенда
│ │ ├── css/ # Tailwind CSS стили (tailwind.css, tailwind.input.css)
│ │ ├── js/ # Скрипты (i18n.js, statistics.js, update-download-links.js, link-confirmation.js)
│ │ ├── i18n/ # Переводы (translations.json на 5 языках)
│ │ ├── images/ # Картинки, фавиконы, QR-коды и папка badges/
│ │ ├── manifest.webmanifest # Манифест PWA-приложения
│ │ └── sw.js # Сервис-воркер PWA-кэширования
│ ├── build.py # Скрипт сборки статического HTML/JSON сайта и деплоя в Pages
│ ├── main.py # Точка входа для локального запуска сервера (Flask / Waitress)
│ ├── tailwind.config.js # Конфигурация сканирования контента Tailwind CSS
│ ├── package.json # Зависимости Tailwind (JIT/CLI компилятор)
│ └── requirements.txt # Зависимости Python-приложения
- Backend: Python 3.10+, Flask, Waitress, Requests, BeautifulSoup4.
- Frontend: TailwindCSS (CLI), Alpine.js, FontAwesome, Vanilla JS.
- Интернационализация: Собственная JS-реализация на базе JSON-файла переводов.
- PWA: Service Workers, Web App Manifest.
- CI/CD: GitHub Actions +
build.pyдля автоматического деплоя в веткуgh-pages.
- Python 3.10+
- Node.js (только если планируете изменять CSS)
- Клонируйте репозиторий:
git clone https://github.com/AvenCores/goida-vpn-site.git
cd goida-vpn-site- Настройте виртуальное окружение:
python -m venv .env
# Windows:
.env\Scripts\activate
# Linux/macOS:
source .env/bin/activate
# Установите зависимости:
pip install -r source/requirements.txt- Сборка стилей (опционально):
cd source
npm install
npm run build:css- Режим отладки (со всеми заглушками API):
Сайт будет доступен на
python source/main.py --debug
http://localhost:5000с включенным автоперезагрузчиком при изменении кода. - Режим продакшена (через Waitress):
python source/main.py
- Простая локальная компиляция (по умолчанию):
или с явным указанием флага:
# Перейдите в папку source, так как скрипты завязаны на относительные пути cd source python build.py
Результат компилируется в папкуpython build.py --build-only
source/dist/. - Компиляция и деплой на GitHub Pages:
(Требуется наличие
python build.py --deploy
MY_TOKENилиGITHUB_TOKENв переменных окружения).
- Обновление конфигураций VPN: Все конфигурации подтягиваются динамически. Любые изменения вносите напрямую в исходный репозиторий
AvenCores/goida-vpn-configs. - Редактирование локализации: Для изменения текстов, добавления новых строк или исправления перевода редактируйте файл перевода:
source/app/static/i18n/translations.json. - Изменение дизайна и стилей: После изменения шаблонов или файла
source/app/static/css/tailwind.input.cssперейдите в папкуsourceи запустите сборку стилей черезnpm run build:css.
Сайт полностью автономен и обновляется через CI/CD:
- По расписанию (каждый час): Запускается GitHub Action, который через
build.pyстягивает свежие ссылки, собирает актуальную статистику репозитория конфигураций и компилирует свежую статическую версию. - При пуше изменений: Автоматически запускается процесс деплоя сгенерированного билда в ветку
gh-pages.
Лицензия GPL-3.0 — подробности в файле LICENSE.
- SBER:
2202 2050 1464 4675
