Sergey Antropoff
2d844e603f
docs: скачивание .url/.txt/.png/.qr.txt в «Последние обновления»
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 10:29:56 +03:00
Sergey Antropoff
79a1443eec
Force download for .url/.txt/.png/.qr.txt chips
...
Browser often opens these files instead of downloading; use blob
downloads with embedded text fallbacks and canvas for PNG on file://.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 10:28:14 +03:00
Sergey Antropoff
897efedbb4
Принудительное скачивание QR из lightbox как server-user.png
...
Кнопка больше не открывает PNG во вкладке: blob/canvas download
с именем <сервер>-<пользователь>.png.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-23 10:23:16 +03:00
Sergey Antropoff
819e4837c9
docs: раздел «Последние обновления» за 2026-07-23
2026-07-23 09:42:47 +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
91942a0927
docs: упомянуть вкладки и статистику в make index
2026-07-23 09:21:24 +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
f5f2384252
Добавить make index: пересборка output/index.html из локальных экспортов
...
Отдельный playbook на localhost читает server-info.yml, обновляет
общий каталог и открывает его в браузере без обращения к VPS.
2026-07-23 08:56:04 +03:00
Sergey Antropoff
100e3cee12
fix: корректный make status при inactive и без -o
...
systemctl is-active с rc≠0 больше не дублирует inactive;
убран deprecated флаг -o.
2026-07-23 08:46:17 +03:00
Sergey Antropoff
062512121d
Улучшить вывод make status: кратко и без логов journal
...
Одна строка на хост (active/not installed, since, PID, RAM);
хост без установки больше не валит весь make.
2026-07-23 08:32:08 +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
3034be388b
docs: LIMIT при добавлении сервера и force_export в README
...
Описано, что make install LIMIT не трогает старые VPS и как принудительно
перевыпустить URL/QR через hysteria2_force_export.
2026-07-01 13:37:53 +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
01198b4f77
docs: update README for Salamander branch features
...
Mirror main documentation: install script sync, incremental update/export, uninstall, vault wiring, Makefile and role structure.
2026-07-01 13:16:38 +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
e3d3103dc2
fix: replace removed yaml callback with default + result_format
...
community.general.yaml was removed in collection 12.0; use ansible.builtin.default with result_format=yaml for Ansible 2.13+.
2026-07-01 11:09:08 +03:00
Sergey Antropoff
63b21d5df6
Align README with main branch: branches comparison, ACME renewal, switching.
...
Unified documentation structure across main and salamander branches.
2026-07-01 02:22:28 +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