feat(bash): добавлена поддержка приватных переменных окружения

Зачем: разделение публичных и приватных переменных окружения для безопасного хранения API ключей.
Что: создан шаблон .env.secrets.example, обновлен .bashrc для загрузки ~/.env.secrets, добавлено исключение в .gitignore, обновлена документация.
Проверка: cp bash/.env.secrets.example ~/.env.secrets, source ~/.bashrc, echo $CONTEXT7_API_KEY.
This commit is contained in:
ddadmin committed 2026-02-21 18:40:52 +03:00
1 parent 938dfe15e7
commit 26be464f2b
5 files changed
+67 -3

No files matched your search

+3
View File
@@ -1,5 +1,8 @@
.DS_Store .DS_Store
# Secrets
.env.secrets
# Opencode local files # Opencode local files
opencode/.config/opencode/package.json opencode/.config/opencode/package.json
opencode/.config/opencode/node_modules/ opencode/.config/opencode/node_modules/
+20 -3
View File
@@ -91,13 +91,28 @@ stow bash tmux vim zed opencode
Для полной настройки создайте: Для полной настройки создайте:
- `~/.bash_prompt` — кастомный prompt - `~/.bash_prompt` — кастомный prompt
- `~/.custom_env` — переменные окружения - `~/.custom_env` — публичные переменные окружения (рекомендуется: симлинк на `dotfiles/bash/.custom_env`)
- `~/.bash_aliases` — персональные алиасы - `~/.bash_aliases` — персональные алиасы
- `~/.env.secrets` — приватные переменные окружения (API ключи)
## 🔑 Переменные окружения ## 🔑 Переменные окружения
Создайте файл `~/.custom_env` и добавьте необходимые API ключи: ### Публичные переменные
Файл `bash/.custom_env` содержит публичные настройки (функции proxy и т.д.).
Рекомендуется создать симлинк:
```bash
ln -s /path/to/dotfiles/bash/.custom_env ~/.custom_env
```
### Приватные переменные (секреты)
1. Скопируйте шаблон:
```bash
cp bash/.env.secrets.example ~/.env.secrets
```
2. Отредактируйте и добавьте API ключи:
```bash ```bash
# Context7 API (https://context7.com) # Context7 API (https://context7.com)
export CONTEXT7_API_KEY="your_context7_api_key_here" export CONTEXT7_API_KEY="your_context7_api_key_here"
@@ -106,7 +121,9 @@ export CONTEXT7_API_KEY="your_context7_api_key_here"
export ZAI_API_KEY="your_zai_api_key_here" export ZAI_API_KEY="your_zai_api_key_here"
``` ```
См. `.env.example` для шаблона. Файл `~/.env.secrets` автоматически подгружается при старте shell.
См. `.env.example` для дополнительной информации.
## 📄 Лицензия ## 📄 Лицензия
+5
View File
@@ -136,6 +136,11 @@ if [ -f ~/.custom_env ]; then
source ~/.custom_env source ~/.custom_env
fi fi
# Приватные переменные окружения (секреты)
if [ -f ~/.env.secrets ]; then
source ~/.env.secrets
fi
# Opencode MCP конфигурация (добавьте в ~/.custom_env): # Opencode MCP конфигурация (добавьте в ~/.custom_env):
# export CONTEXT7_API_KEY="ваш_ключ_от_context7" # export CONTEXT7_API_KEY="ваш_ключ_от_context7"
# export ZAI_API_KEY="ваш_ключ_от_z.ai" # export ZAI_API_KEY="ваш_ключ_от_z.ai"
+25
View File
@@ -0,0 +1,25 @@
# --- Proxy Settings ---
# Переменные для прокси по умолчанию (если нужно, чтобы он был включен всегда)
# export HTTP_PROXY="http://127.0.0.1:10809"
# export HTTPS_PROXY="http://127.0.0.1:10809"
# Удобные функции-переключатели для терминала
proxy_on() {
export HTTP_PROXY="http://hproxy.local:12334"
export HTTPS_PROXY="http://hproxy.local:12334"
export ALL_PROXY="socks5://hproxy.local:12334"
export NO_PROXY="hproxy.local,localhost,127.0.0.1"
echo "✅ Proxy enabled. Checking route..."
# Подставляем результат выполнения curl прямо в строку
echo "🌍 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}
proxy_off() {
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
echo "❌ Proxy disabled. Checking route..."
echo "🏠 Current IP: $(curl -s --max-time 3 https://ifconfig.me)"
}
# Заодно можно добавить алиас, чтобы быстро чекать IP в любой момент без переключения
alias myip='echo "IP: $(curl -s --max-time 3 https://ifconfig.me)"'
+14
View File
@@ -0,0 +1,14 @@
# Приватные переменные окружения
# Скопируйте этот файл в ~/.env.secrets и заполните значения
# Context7 API (https://context7.com)
# Используется для поиска документации библиотек
export CONTEXT7_API_KEY="your_context7_api_key_here"
# Z.AI API (https://z.ai)
# Используется для:
# - LLM доступа
# - Поиска в интернете (web-search-prime)
# - Чтения веб-страниц (web-reader)
# - Чтения GitHub репозиториев (zread)
export ZAI_API_KEY="your_zai_api_key_here"