Командная утилита для управления секретами в проектах. Шифрует конфиденциальные файлы (.env, JSON, YAML и др.) с помощью GPG (планируется Vault/Bitwarden). Создаёт шаблоны .example с плейсхолдерами для безопасной совместной работы.
Хранение секретов (API-ключи, пароли) в открытом виде рискованно. Secret шифрует файлы, генерирует примеры и упрощает обмен ключами, предотвращая утечки в Git без лишней сложности.
- 🔑 Инициализация: Генерация GPG-ключа и настройка секретных файлов.
- 🔒 Шифрование/Расшифровка: Поддержка
.env, JSON, YAML, TOML, INI; пакетные операции. - 📝 Шаблоны: Авто-создание
.exampleс<placeholder>. - 🔑 Ключи: Экспорт, импорт, удаление, проверка.
- 🌐 Кросс-платформа: Linux, macOS, Windows.
- 🚧 Расширяемость: Бэкенды (GPG сейчас, Vault/Bitwarden скоро).
Для работы программы требуется установленная утилита GPG (GNU Privacy Guard):
# Ubuntu/Debian
sudo apt update && sudo apt install gnupg
# Fedora/RHEL/CentOS
sudo dnf install gnupg2
# Arch Linux/Manjaro
sudo pacman -S gnupg
# Solus
sudo eopkg install gnupg
# Void Linux
sudo xbps-install gnupg
# Gentoo
sudo emerge --ask app-crypt/gnupg
# NixOS
nix-env -i gnupg# Homebrew
brew install gnupg
# MacPorts
sudo port install gnupg2- Скачайте Gpg4win
- Или используйте Chocolatey:
choco install gpg4win
- Или Scoop:
scoop install gpg
curl -sSL https://raw.githubusercontent.com/Avdushin/secret/main/install.sh | bash- Скачайте релиз с GitHub (e.g.,
secret-0.0.1-linux-amd64). chmod +x <file> && mv <file> /usr/local/bin/secret.
Для Windows: Скачайте .exe и добавьте в PATH.
git clone https://github.com/Avdushin/secret.git
cd secret
make build| Команда | Описание |
|---|---|
secret init |
Инициализация: создаёт ключ и конфиг. |
secret encrypt |
Шифрует все файлы, создаёт .gpg и .example. |
secret decrypt <file.gpg> |
Расшифровка файла. |
secret check |
Проверяет ключ проекта. |
secret check --all |
Показывает все доступные GPG ключи. |
secret export -o dir |
Экспорт ключей. |
secret import <dir> |
Импорт ключей. |
secret version |
Показ версии. |
Подробности в docs/examples.md.
# Экспорт ключей проекта (в .secrets/backup/)
./secret export
# Экспорт в конкретную директорию
./secret export -o ~/backups/myapp-keys
# Импорт ключей проекта (автопоиск в текущей директории)
./secret import
# Импорт из конкретной директории
./secret import .secrets/backup/
./secret import --dir ~/backups/myapp-keys
# Удаление ключа проекта (с подтверждением и бэкапом)
./secret delete-key
# Принудительное удаление без подтверждения
./secret delete-key --forceВ .secret/config.yaml:
backend: gpg
gpg_key: <ID>
secret_files:
- .env
- config.jsonРедактируйте для кастомизации.
- Требования: Go 1.20+.
- Makefile:
make build(сборка),make test(тесты),make release(все платформы). - Структура: Команды —
internal/commands/, бэкенды —internal/backends/.
Детали в docs/dev/Makefile.md.
2025 © AVDUSHIN