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:
1 parent
938dfe15e7
commit
26be464f2b
5 files changed
+67
-3
No files matched your search
@@ -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/
|
||||||
|
|||||||
@@ -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` для дополнительной информации.
|
||||||
|
|
||||||
## 📄 Лицензия
|
## 📄 Лицензия
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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)"'
|
||||||
|
|
||||||
@@ -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"
|
||||||
Reference in new issue
Block a user