@echo off setlocal enabledelayedexpansion REM --- Configuration --- set "ENV_FILE=.env" set "DEFAULT_PROXY_KEY=VerysecretKey" REM --- Provider Name to Variable Name Mapping --- set "provider_count=0" set "provider_list[1]=Gemini" & set "provider_vars[1]=GEMINI" & set /a provider_count+=1 set "provider_list[2]=OpenRouter" & set "provider_vars[2]=OPENROUTER" & set /a provider_count+=1 set "provider_list[3]=Chutes" & set "provider_vars[3]=CHUTES" & set /a provider_count+=1 set "provider_list[4]=Nvidia" & set "provider_vars[4]=NVIDIA_NIM" & set /a provider_count+=1 set "provider_list[5]=OpenAI" & set "provider_vars[5]=OPENAI" & set /a provider_count+=1 set "provider_list[6]=Anthropic" & set "provider_vars[6]=ANTHROPIC" & set /a provider_count+=1 set "provider_list[7]=Mistral" & set "provider_vars[7]=MISTRAL" & set /a provider_count+=1 set "provider_list[8]=Groq" & set "provider_vars[8]=GROQ" & set /a provider_count+=1 set "provider_list[9]=Cohere" & set "provider_vars[9]=COHERE" & set /a provider_count+=1 set "provider_list[10]=Bedrock" & set "provider_vars[10]=BEDROCK" & set /a provider_count+=1 :main cls echo ================================================================= echo Welcome to the API Key Setup for Your Proxy Server echo ================================================================= echo. echo This script will help you set up your .env file. echo. REM --- Ensure .env file exists and has PROXY_API_KEY --- if not exist "%ENV_FILE%" ( echo Creating a new %ENV_FILE% file for you... echo PROXY_API_KEY="%DEFAULT_PROXY_KEY%" > "%ENV_FILE%" echo. ) else ( findstr /C:"PROXY_API_KEY=" "%ENV_FILE%" >nul if errorlevel 1 ( echo Adding the default proxy key to your .env file... echo.>> "%ENV_FILE%" echo PROXY_API_KEY="%DEFAULT_PROXY_KEY%" >> "%ENV_FILE%" echo. ) ) :get_provider echo ----------------------------------------------------------------- echo Please choose a provider to add an API key for: echo ----------------------------------------------------------------- echo. for /L %%i in (1,1,%provider_count%) do ( echo %%i. !provider_list[%%i]! ) echo. set /p "choice=Type the number of the provider and press Enter: " REM --- Validate Provider Choice --- set "VAR_NAME=" set "provider_choice=" if %choice% GTR 0 if %choice% LEQ %provider_count% ( set "VAR_NAME=!provider_vars[%choice%]!" set "provider_choice=!provider_list[%choice%]!" ) if not defined VAR_NAME ( cls echo ================================================================= echo INVALID SELECTION! Please try again. echo ================================================================= echo. pause goto :get_provider ) set "API_VAR_BASE=%VAR_NAME%_API_KEY" :get_key echo. echo ----------------------------------------------------------------- set /p "api_key=Enter the API key for %provider_choice%: " if not defined api_key ( echo You must enter an API key. goto :get_key ) echo ----------------------------------------------------------------- echo. REM --- Find the next available key number --- set /a key_index=1 :find_next_key findstr /R /C:"^%API_VAR_BASE%_%key_index% *=" "%ENV_FILE%" >nul if %errorlevel% equ 0 ( set /a key_index+=1 goto :find_next_key ) REM --- Append the new key to the .env file --- echo Adding your key to %ENV_FILE%... echo %API_VAR_BASE%_%key_index%="%api_key%" >> "%ENV_FILE%" echo. echo Successfully added %provider_choice% API key as %API_VAR_BASE%_%key_index%! echo. :ask_another set /p "another=Do you want to add another key? (yes/no): " if /i "%another%"=="yes" ( goto :main ) if /i "%another%"=="y" ( goto :main ) cls echo ================================================================= echo Setup Complete! Your .env file is ready. echo ================================================================= echo. echo You can now run the proxy server. echo. pause exit /b