Spaces:
Paused
Paused
Mirrowel commited on
Commit ·
618377c
1
Parent(s): 955ed9f
feat: Add setup script for API key configuration and .env file management
Browse files- setup_env.bat +121 -0
setup_env.bat
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
@echo off
|
| 2 |
+
setlocal enabledelayedexpansion
|
| 3 |
+
|
| 4 |
+
REM --- Configuration ---
|
| 5 |
+
set "ENV_FILE=.env"
|
| 6 |
+
set "DEFAULT_PROXY_KEY=VerysecretKey"
|
| 7 |
+
|
| 8 |
+
REM --- Provider Name to Variable Name Mapping ---
|
| 9 |
+
set "provider_count=0"
|
| 10 |
+
set "provider_list[1]=Gemini" & set "provider_vars[1]=GEMINI" & set /a provider_count+=1
|
| 11 |
+
set "provider_list[2]=OpenRouter" & set "provider_vars[2]=OPENROUTER" & set /a provider_count+=1
|
| 12 |
+
set "provider_list[3]=Chutes" & set "provider_vars[3]=CHUTES" & set /a provider_count+=1
|
| 13 |
+
set "provider_list[4]=Nvidia" & set "provider_vars[4]=NVIDIA_NIM" & set /a provider_count+=1
|
| 14 |
+
set "provider_list[5]=OpenAI" & set "provider_vars[5]=OPENAI" & set /a provider_count+=1
|
| 15 |
+
set "provider_list[6]=Anthropic" & set "provider_vars[6]=ANTHROPIC" & set /a provider_count+=1
|
| 16 |
+
set "provider_list[7]=Mistral" & set "provider_vars[7]=MISTRAL" & set /a provider_count+=1
|
| 17 |
+
set "provider_list[8]=Groq" & set "provider_vars[8]=GROQ" & set /a provider_count+=1
|
| 18 |
+
set "provider_list[9]=Cohere" & set "provider_vars[9]=COHERE" & set /a provider_count+=1
|
| 19 |
+
set "provider_list[10]=Bedrock" & set "provider_vars[10]=BEDROCK" & set /a provider_count+=1
|
| 20 |
+
|
| 21 |
+
|
| 22 |
+
:main
|
| 23 |
+
cls
|
| 24 |
+
echo =================================================================
|
| 25 |
+
echo Welcome to the API Key Setup for Your Proxy Server
|
| 26 |
+
echo =================================================================
|
| 27 |
+
echo.
|
| 28 |
+
echo This script will help you set up your .env file.
|
| 29 |
+
echo.
|
| 30 |
+
|
| 31 |
+
REM --- Ensure .env file exists and has PROXY_API_KEY ---
|
| 32 |
+
if not exist "%ENV_FILE%" (
|
| 33 |
+
echo Creating a new %ENV_FILE% file for you...
|
| 34 |
+
echo PROXY_API_KEY="%DEFAULT_PROXY_KEY%" > "%ENV_FILE%"
|
| 35 |
+
echo.
|
| 36 |
+
) else (
|
| 37 |
+
findstr /C:"PROXY_API_KEY=" "%ENV_FILE%" >nul
|
| 38 |
+
if errorlevel 1 (
|
| 39 |
+
echo Adding the default proxy key to your .env file...
|
| 40 |
+
echo.>> "%ENV_FILE%"
|
| 41 |
+
echo PROXY_API_KEY="%DEFAULT_PROXY_KEY%" >> "%ENV_FILE%"
|
| 42 |
+
echo.
|
| 43 |
+
)
|
| 44 |
+
)
|
| 45 |
+
|
| 46 |
+
:get_provider
|
| 47 |
+
echo -----------------------------------------------------------------
|
| 48 |
+
echo Please choose a provider to add an API key for:
|
| 49 |
+
echo -----------------------------------------------------------------
|
| 50 |
+
echo.
|
| 51 |
+
for /L %%i in (1,1,%provider_count%) do (
|
| 52 |
+
echo %%i. !provider_list[%%i]!
|
| 53 |
+
)
|
| 54 |
+
echo.
|
| 55 |
+
set /p "choice=Type the number of the provider and press Enter: "
|
| 56 |
+
|
| 57 |
+
REM --- Validate Provider Choice ---
|
| 58 |
+
set "VAR_NAME="
|
| 59 |
+
set "provider_choice="
|
| 60 |
+
if %choice% GTR 0 if %choice% LEQ %provider_count% (
|
| 61 |
+
set "VAR_NAME=!provider_vars[%choice%]!"
|
| 62 |
+
set "provider_choice=!provider_list[%choice%]!"
|
| 63 |
+
)
|
| 64 |
+
|
| 65 |
+
if not defined VAR_NAME (
|
| 66 |
+
cls
|
| 67 |
+
echo =================================================================
|
| 68 |
+
echo INVALID SELECTION! Please try again.
|
| 69 |
+
echo =================================================================
|
| 70 |
+
echo.
|
| 71 |
+
pause
|
| 72 |
+
goto :get_provider
|
| 73 |
+
)
|
| 74 |
+
|
| 75 |
+
set "API_VAR_BASE=%VAR_NAME%_API_KEY"
|
| 76 |
+
|
| 77 |
+
:get_key
|
| 78 |
+
echo.
|
| 79 |
+
echo -----------------------------------------------------------------
|
| 80 |
+
set /p "api_key=Enter the API key for %provider_choice%: "
|
| 81 |
+
if not defined api_key (
|
| 82 |
+
echo You must enter an API key.
|
| 83 |
+
goto :get_key
|
| 84 |
+
)
|
| 85 |
+
echo -----------------------------------------------------------------
|
| 86 |
+
echo.
|
| 87 |
+
|
| 88 |
+
REM --- Find the next available key number ---
|
| 89 |
+
set /a key_index=1
|
| 90 |
+
:find_next_key
|
| 91 |
+
findstr /R /C:"^%API_VAR_BASE%_%key_index% *=" "%ENV_FILE%" >nul
|
| 92 |
+
if %errorlevel% equ 0 (
|
| 93 |
+
set /a key_index+=1
|
| 94 |
+
goto :find_next_key
|
| 95 |
+
)
|
| 96 |
+
|
| 97 |
+
REM --- Append the new key to the .env file ---
|
| 98 |
+
echo Adding your key to %ENV_FILE%...
|
| 99 |
+
echo %API_VAR_BASE%_%key_index%="%api_key%" >> "%ENV_FILE%"
|
| 100 |
+
echo.
|
| 101 |
+
echo Successfully added %provider_choice% API key as %API_VAR_BASE%_%key_index%!
|
| 102 |
+
echo.
|
| 103 |
+
|
| 104 |
+
:ask_another
|
| 105 |
+
set /p "another=Do you want to add another key? (yes/no): "
|
| 106 |
+
if /i "%another%"=="yes" (
|
| 107 |
+
goto :main
|
| 108 |
+
)
|
| 109 |
+
if /i "%another%"=="y" (
|
| 110 |
+
goto :main
|
| 111 |
+
)
|
| 112 |
+
|
| 113 |
+
cls
|
| 114 |
+
echo =================================================================
|
| 115 |
+
echo Setup Complete! Your .env file is ready.
|
| 116 |
+
echo =================================================================
|
| 117 |
+
echo.
|
| 118 |
+
echo You can now run the proxy server.
|
| 119 |
+
echo.
|
| 120 |
+
pause
|
| 121 |
+
exit /b
|