К содержимому
gtcnsl
EN RU

Релизы

Каждая помеченная сборка gtcnsl с проверенными загрузками под каждую архитектуру.

// Последний релиз
v1.6.0 latest
2026-08-10

Установить последний одной командой

Что изменилось →
$ curl -fsSL https://dl.gtcnsl.ru/v1.6.0/gtcnsl-v1.6.0-linux-amd64 -o /usr/local/bin/gtcnsl && chmod +x /usr/local/bin/gtcnsl
Каждый ассет проверяется контрольной суммой SHA-256.
v1.6.0 2026-08-10
latest
  • Gitea Actions Runner 3.x — проверенная цель: v3.1.0 прошёл полную контейнерную матрицу, включая dind-rootless-образ и новый лок «один процесс на `.runner`» из ≥ 3.0.
  • `runner register --force` поверх работающего демона снова безопасен — сервис останавливается до удаления старой регистрации, и лок `.runner.lock` из ≥ 3.0 больше не может оставить хост незарегистрированным.
  • Генерация базового `config.yaml` следует за переименованием в апстриме: `config generate` на раннере ≥ 3.1.0, устаревший `generate-config` на более старых бинарниках — выбор происходит автоматически по установленной версии.
  • Руководство по апгрейду описывает три изменения Runner 3.x, которые живут в ваших workflow, а не в gtcnsl: cache v2 включён по умолчанию, хостовые флаги `container.options` требуют привилегированного режима, `::set-env::`/`::add-path::` требуют opt-in `ACTIONS_ALLOW_UNSECURE_COMMANDS`.
v1.5.0 2026-08-06
  • openSUSE Leap 16 присоединяется к поддерживаемой матрице как первое zypper-семейство — `internal/pkgmgr` получил `FamilySUSE` с явным `zypper refresh`, обязательным из-за отключённого по умолчанию autorefresh в репозиториях.
  • Alpine Linux присоединяется к поддерживаемой матрице в виде MVP только для host-mode, на новом бэкенде OpenRC за init-агностичной абстракцией `service.Manager` — контейнерные executor'ы раннера честно отказывают вместо падения на полпути.
  • Загрузки больше не зависают навсегда: 30-секундный stall-watchdog повторяет зависшее соединение (до 3 попыток) с докачкой по байтовым диапазонам, а клиенты загрузки/обнаружения версий теперь принудительно работают по HTTP/1.1 после того, как зависание HTTP/2 за Cloudflare вызвало реальный прод-инцидент.
  • Экран операции TUI теперь показывает живой спиннер и прогресс в процентах вместо тишины, а Esc на выполняющейся операции честен — предлагает отменить её или скрыть экран — вместо того чтобы делать вид, что вышел, пока операция продолжает работать под капотом.
v1.4.0 2026-08-04
  • `gtcnsl` без аргументов теперь открывает не голое меню, а живой дашборд — статус установки Gitea/раннера и состояние конфига видны сразу.
  • Пять новых дистрибутивов присоединяются к поддерживаемой матрице одним релизом — AlmaLinux 9/10, Rocky 10, Ubuntu 22.04 LTS и 26.04 LTS, — тестовая контейнерная матрица выросла с трёх образов до восьми благодаря новому диспетчеру `pkgmgr.Family`, для которого добавление следующего дистрибутива — изменение в две строки.
  • Скриншоты TUI на сайте теперь генерируются из byte-for-byte golden-дампов реального терминала, так что сайт больше не может незаметно разойтись с тем, что на самом деле рисует `gtcnsl`.
v1.3.2 2026-07-23
  • HTTPS-установки задают LOCAL_ROOT_URL — чинит ssh-пуши на Gitea 1.27+
  • Бэкапы работают на хостах только с раннером
v1.3.1 2026-07-23
  • Релизный workflow теперь проверяет собственные входные данные
v1.3.0 2026-07-18
  • 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-хост