Sergey Antropoff
ee52f3485c
Принудительное скачивание QR из lightbox как server-user.png
...
Кнопка больше не открывает PNG во вкладке: blob/canvas download
с именем <сервер>-<пользователь>.png.
2026-07-23 10:23:16 +03:00
Sergey Antropoff
8feb56c51d
make index и install/update: единый стиль страниц серверов и каталога
...
Пересборка HTML серверов из server-info.yml; сетка карточек и вид
как у главной. Тот же pipeline после install/update/export.
2026-07-23 09:35:47 +03:00
Sergey Antropoff
af9862e966
Убрать подсказку закрытия из lightbox
2026-07-23 09:31:20 +03:00
Sergey Antropoff
9e8b514034
Сетка карточек на странице сервера и крупный QR в lightbox
...
Карточки как в глобальном индексе; QR заполняет доступную
площадь модального окна через container queries.
2026-07-23 09:25:22 +03:00
Sergey Antropoff
dea3c77b2e
Вкладки серверов и страница статистики в output/index.html
...
По умолчанию — Статистика: доступность TCP, IP, пользователи,
матрица присутствия. Серверы открываются отдельными вкладками.
2026-07-23 09:21:04 +03:00
Sergey Antropoff
6cd3f323d6
Сделать lightbox на всю высоту экрана с небольшими отступами
...
Панель занимает 100dvh минус 1rem сверху/снизу; QR растягивается
в оставшееся пространство.
2026-07-23 09:16:45 +03:00
Sergey Antropoff
bf88a9e0de
Увеличить QR в lightbox на 30% (до ~728px)
2026-07-23 09:13:58 +03:00
Sergey Antropoff
18b4368d49
Ограничить lightbox QR высотой экрана с отступами сверху/снизу
2026-07-23 09:13:00 +03:00
Sergey Antropoff
a3516f67f1
Увеличить QR в lightbox до ~560px
2026-07-23 09:11:14 +03:00
Sergey Antropoff
56ef543e9a
Добавить кнопку скачивания QR в lightbox
...
Файл сохраняется как <сервер>-<пользователь>.png.
2026-07-23 09:09:12 +03:00
Sergey Antropoff
9862954305
Добавить lightbox для QR-кодов в HTML-каталогах
...
Клик по QR открывает крупный просмотр с подписью; закрытие по Esc,
кнопке и клику на фон. В global и server index.
2026-07-23 09:07:23 +03:00
Sergey Antropoff
d4dc25cdd3
Обновить bundled install_server.sh с официального get.hy2.sh
...
Синхронизация локальной копии после проверки SHA256.
2026-07-23 09:02:06 +03:00
Sergey Antropoff
8ba1c6c45f
fix: пропускать sync install_server.sh при сетевой ошибке
...
Если get.hy2.sh недоступен (таймаут без VPN), используется локальная
копия в roles/hysteria2/files/; падение только если её нет.
2026-07-01 14:06:46 +03:00
Sergey Antropoff
83b47dbc30
fix: пересборка output/index.html при uninstall с LIMIT
...
Второй play перенесён на hysteria2_servers с run_once на localhost,
чтобы LIMIT не пропускал пересборку. Пустой index.html удаляется.
2026-07-01 13:31:28 +03:00
Sergey Antropoff
4b5a1ef51f
Полная очистка при uninstall: VPS и output/<server>/
...
Скрипт --remove снимает только бинарник и systemd; Ansible дочищает конфиг,
пользователя, ufw, пакеты и всегда удаляет локальную папку экспорта.
2026-07-01 13:28:59 +03:00
Sergey Antropoff
bdc316efac
fix: run only uninstall tasks, not full role on make uninstall
...
Tagging the whole role with uninstall caused install/configure/update/export to run first. Use include_role tasks_from uninstall.yml; add safe defaults for uninstall variables.
2026-07-01 13:20:17 +03:00
Sergey Antropoff
0745fdce2c
feat: incremental user passwords and export on update
...
Preserve passwords from server-info.yml and vault; generate only for new users; remove deleted users from output; re-export URL/QR only when password, domain, port, obfs or files changed.
2026-07-01 13:06:33 +03:00
Sergey Antropoff
5e42d60778
feat: complete uninstall cleanup on server and local output
...
Remove binary, config, masq, system user, ufw rules, and apt packages from VPS; delete output/<server>/ by default and rebuild global index.html via localhost play.
2026-07-01 12:56:20 +03:00
Sergey Antropoff
b9e622e5c2
feat: bundle and sync official Hysteria2 install script locally
...
Store install_server.sh in role files, compare SHA256 with get.hy2.sh on the control node before install/update, refresh the bundled copy when upstream changes, then copy and run it on VPS.
2026-07-01 12:00:37 +03:00
Sergey Antropoff
2f88108a8d
fix: disable become on localhost play and drop deprecated facts
...
Use now() for export timestamps and ansible_facts['system'] for browser detection. Set become: false on the localhost play to avoid sudo on local fact gathering.
2026-07-01 11:56:18 +03:00
Sergey Antropoff
4242093ca1
fix: generate VPN passwords without pwgen, set EDITOR=nano
...
Use Ansible password lookup on the control node so install works before packages are installed on VPS and without pwgen on macOS. Export EDITOR=nano in Makefile for vault-edit.
2026-07-01 11:43:34 +03:00
Sergey Antropoff
0aec9e6e54
Add Salamander obfs branch: replace masquerade with packet obfuscation.
...
- ACME TLS challenge on 443 (no port 80 or nginx decoy)
- Auto-generate and persist obfs password per server
- Update client export, HTML catalog, and vault examples
- Document Salamander vs main and ACME auto-renewal in README
2026-07-01 02:17:22 +03:00
Sergey Antropoff
6f96a26bed
Initial commit: Ansible role for Hysteria2 VPN server deployment.
...
Includes install/update/uninstall playbooks, Makefile, vault-based SSH credentials, per-server and global HTML export with QR codes.
2026-07-01 02:02:58 +03:00