Релизы
Каждая помеченная сборка gtcnsl с проверенными загрузками под каждую архитектуру.
$ curl -fsSL https://dl.gtcnsl.ru/v1.3.0/gtcnsl-v1.3.0-linux-amd64 -o /usr/local/bin/gtcnsl && chmod +x /usr/local/bin/gtcnsl
✓Каждый ассет проверяется контрольной суммой SHA-256.
v1.3.0
2026-07-18
latest
- Gitea 1.27.x и Runner 2.x официально поддерживаются, сверены end-to-end — и `secrets rotate SECRET_KEY --reencrypt` теперь отказывается запускаться на миноре Gitea, для которого gtcnsl не сверил свою криптографию.
- Безопасная ротация `SECRET_KEY` теперь охватывает и инстансы с `SECRET_KEY_URI`: gtcnsl резолвит ключ точно так же, как это делает сама Gitea при старте, а ротация держит файл за URI синхронизированным, вместо того чтобы молча расходиться с ним.
- `gtcnsl runner adopt` берёт существующий Gitea Actions Runner под управление, никогда не перерегистрируя его — раннер-близнец `gitea adopt`.
- Состояние раннера — `.runner`, `config.yaml`, его systemd-юнит — теперь путешествует вместе с `gtcnsl backup`/`restore`, так что потеря файла больше не означает новый регистрационный токен.
- Полноценные команды `gtcnsl gitea upgrade`/`runner upgrade`, и неудачный апгрейд Gitea теперь автоматически восстанавливает предыдущий бинарник, вместо того чтобы оставить хост без него.
- Регистрационным токенам раннера больше не обязательно попадать в argv процесса: `runner register`/`reconfigure --token-file <path>` читает токен из файла.
v1.2.1
2026-07-12
- Прогресс скачивания больше не заливает ssh-сессии, CI-логи и TUI: троттлинг у источника, редкие обычные строки вне терминала, одна обновляемая на месте строка в TUI.
v1.2.0
2026-07-12
- Безопасная ротация `SECRET_KEY`: `secrets rotate SECRET_KEY --reencrypt` перешифровывает все зашифрованные строки БД — секреты Actions, сиды 2FA, auth-заголовки вебхуков, LDAP bind-пароли — на новый ключ, с бэкапом и автоматическим откатом. Ротация, которой в самом Gitea нет до сих пор (go-gitea/gitea#16832).
- Предохранитель: простой `secrets rotate SECRET_KEY` теперь жёстко останавливается до любых изменений, вместо того чтобы молча осиротить зашифрованные данные, а `--dry-run` заранее показывает, что именно затронет миграция.
- `doctor` теперь предупреждает о пустом `SECRET_KEY` — Gitea в этом случае шифрует публичным ключом, зашитым в её собственные исходники, то есть данные фактически не защищены.
v1.1.2
2026-07-08
- Исправлено: health-check'и работают на инстансах «только по логину» (`REQUIRE_SIGNIN_VIEW`) — liveness теперь через неаутентифицированный `/api/healthz`.
v1.1.1
2026-07-08
- Исправлено: health-check'и на установках со встроенным Let's Encrypt больше не дают ложный отказ — `secrets rotate`, `config apply` и обновления на месте снова работают на ACME-хостах.
v1.1.0
2026-07-08
- Наведите `gitea install` на хост с уже работающей Gitea — и это будет обновление на месте: живые пути определяются сами, данные не переносятся, рукописный юнит сохраняется байт-в-байт.
- `gtcnsl gitea adopt` берёт ручную установку под управление, не перенося никакие данные: секреты — из `app.ini` в `secrets.ini`, права — потуже, плюс шаблон для декларативного цикла.
- Профили сервинга при установке: HTTP за прокси (по умолчанию), прямой HTTPS со встроенным Let's Encrypt или ваш собственный сертификат.
- `gtcnsl gitea enable-https` переключает живую HTTP-установку на HTTPS — и автоматически откатывается к рабочему конфигу, если что-то пошло не так.
- Doctor теперь ловит классическую бомбу замедленного действия: конфиг https на :443, чей юнит на самом деле не может забиндить порт.
v1.0.0
2026-07-02
- Первый стабильный релиз — CLI и структура на диске теперь под гарантией совместимости по SemVer (COMPATIBILITY.md).
- `gtcnsl backup` / `restore` — снимок установки Gitea и откат безопасным самооткатывающимся потоком.
- Исполнитель раннера `dind-rootless` — раннер в rootless-контейнере, без бинаря на хосте.
- Самообновление подписывающего ключа: верификация загрузок работает при ежегодном продлении ключа Gitea.
- Исправлено: обновление на месте `gitea install --to` теперь перезапускается на новый бинарь.
v0.6.3
2026-05-30
- Надёжное зеркалирование релизов на download-хост
v0.6.1
2026-05-30
- Исправлен шаг зеркалирования релиза на download-хост