embeddevio c4661c9db9 test(#20): регрессионные тесты потокобезопасности (#54) и BaseException/TOCTOU (#55)
Новый файл backend/tests/test_store_concurrency.py:

* N потоков × M upsert с чтениями → 0 ошибок, rules == audit_rows == N*M;
* чтение во время открытой транзакции другого потока не видит незафиксированных
  строк (ждёт коммита);
* чтение во время падающего apply не видит состояния, которое будет откачено
  (AC «не частично применённая конфигурация»);
* BaseException (KeyboardInterrupt/SystemExit/CancelledError) из Applier →
  revert вызван, failed в audit_log, БД восстановлена;
* два конкурентных set_geoip_schedule → связная цепочка old→new в журнале.

На коде до правки все 7 тестов падают; после — проходят.

Refs #20, Refs #54, Refs #55
2026-10-28 21:12:35 +03:00
2026-10-16 22:45:47 +03:00
2026-10-16 22:45:47 +03:00

awg-dash

awg-dash 🚀

awg-dash — это легковесная и удобная веб-панель (Dashboard) для визуального управления сервером Amnezia WireGuard (AWG). Она позволяет создавать, удалять и просматривать конфигурации пользователей в один клик через современный веб-интерфейс, защищенный от блокировок.

License: MIT GitHub Stars


✨ Особенности / Features

  • 🛠️ Полная поддержка Amnezia WireGuard: Тонкая настройка параметров обфускации (Jc, Jmin, Jmax, S1, S2, H1, H2, H3, H4) прямо из панели.
  • 👥 Управление пользователями: Создание, удаление, временная заморозка и управление лимитами пиров (клиентов).
  • 📊 Мониторинг в реальном времени: Графики потребления трафика, статус подключения клиентов и общая нагрузка на сервер.
  • 📱 QR-коды и конфиги: Мгновенная генерация QR-кодов и скачивание .conf файлов для импорта в официальное приложение Amnezia.
  • 🔒 Безопасность: Авторизация по паролю/токену, поддержка сессий и возможность работы за обратным прокси (Nginx, Caddy).
  • 🐳 Docker-first: Быстрый запуск одной командой через Docker Compose.

🛠️ Технологический стек / Tech Stack

  • Backend: Node.js (Express) / Python (FastAPI) / Go (выберите нужное)
  • Frontend: Vue.js / React / Простой HTML+JS (выберите нужное)
  • База данных: SQLite / JSON-file (минималистично, без тяжелых БД)
  • Ядро: Amnezia WireGuard (модифицированная утилита wg)

🚀 Быстрый старт / Quick Start

Способ 1: Через Docker Compose (Рекомендуемый)

  1. Клонируйте репозиторий:
    git clone https://github.com
    cd awg-dash
    
S
Description
awg-dash 🚀
Readme MIT 537 KiB
Languages
Python 85.4%
Shell 12.3%
Makefile 2.3%