diff --git a/.gitignore b/.gitignore index f049842..b2cd56d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ .DS_Store +# Secrets +.env.secrets + # Opencode local files opencode/.config/opencode/package.json opencode/.config/opencode/node_modules/ diff --git a/README.md b/README.md index 264c1fc..a4714eb 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,28 @@ stow bash tmux vim zed opencode Для полной настройки создайте: - `~/.bash_prompt` — кастомный prompt -- `~/.custom_env` — переменные окружения +- `~/.custom_env` — публичные переменные окружения (рекомендуется: симлинк на `dotfiles/bash/.custom_env`) - `~/.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 # Context7 API (https://context7.com) 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" ``` -См. `.env.example` для шаблона. +Файл `~/.env.secrets` автоматически подгружается при старте shell. + +См. `.env.example` для дополнительной информации. ## 📄 Лицензия diff --git a/bash/.bashrc b/bash/.bashrc index 363f4a3..0c8ea38 100644 --- a/bash/.bashrc +++ b/bash/.bashrc @@ -136,6 +136,11 @@ if [ -f ~/.custom_env ]; then source ~/.custom_env fi +# Приватные переменные окружения (секреты) +if [ -f ~/.env.secrets ]; then + source ~/.env.secrets +fi + # Opencode MCP конфигурация (добавьте в ~/.custom_env): # export CONTEXT7_API_KEY="ваш_ключ_от_context7" # export ZAI_API_KEY="ваш_ключ_от_z.ai" diff --git a/bash/.custom_env b/bash/.custom_env new file mode 100644 index 0000000..2f77729 --- /dev/null +++ b/bash/.custom_env @@ -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)"' + diff --git a/bash/.env.secrets.example b/bash/.env.secrets.example new file mode 100644 index 0000000..fd22b02 --- /dev/null +++ b/bash/.env.secrets.example @@ -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"