@echo off setlocal EnableDelayedExpansion title DigiMit - A Postal Hub - HOSTS FILE CONFIGURATION :: ================================================================== :: DigiMit - A Postal Hub :: India Post & IPPB Hosts File Configuration Script :: Features: Auto-Elevation, Safe Backup, IP Verification, DNS Flush :: ================================================================== :: Check for administrative privileges net session >nul 2>&1 if %errorlevel% neq 0 ( echo. echo ====================================================== echo Requesting Administrative Privileges... echo ====================================================== powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs" exit /b ) color 0A cls echo ==================================================================== echo DigiMit - A Postal Hub echo INDIA POST / IPPB HOSTS FILE CONFIGURATION echo ==================================================================== echo. :: Path to hosts file set "HOSTS_FILE=%SystemRoot%\System32\drivers\etc\hosts" :: Generate reliable locale-independent timestamp for backup for /f "tokens=*" %%a in ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') do set "TIMESTAMP=%%a" if "%TIMESTAMP%"=="" set "TIMESTAMP=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%" set "BACKUP_FILE=%HOSTS_FILE%_backup_%TIMESTAMP%.bak" echo [*] Creating backup of hosts file... copy /Y "%HOSTS_FILE%" "%BACKUP_FILE%" >nul if %errorlevel% equ 0 ( echo [+] Backup successfully created at: %BACKUP_FILE% ) else ( echo [!] WARNING: Failed to create backup file! ) echo. :: Section Marker Header in hosts file find /i "# ===== Added by DigiMit - A Postal Hub =====" "%HOSTS_FILE%" >nul 2>&1 if %errorlevel% neq 0 ( echo.>>"%HOSTS_FILE%" echo # ===== Added by DigiMit - A Postal Hub on %TIMESTAMP% =====>>"%HOSTS_FILE%" ) set "ADDED_COUNT=0" set "SKIPPED_COUNT=0" echo [*] Processing Host Entries: echo -------------------------------------------------------------------- :: Add/Verify Entries call :AddHost "172.16.20.40" "dpdcpfjc.fsi.indiapost.gov.in" call :AddHost "172.18.68.34" "dpdcpflmis.fsi.indiapost.gov.in" call :AddHost "45.127.75.252" "app.indiapost.gov.in" call :AddHost "169.148.142.41" "accounts.mgovcloud.in" call :AddHost "169.148.142.38" "mail.mgovcloud.in" call :AddHost "169.148.142.38" "workplace.mgovcloud.in" call :AddHost "169.148.142.38" "mail.gov.in" call :AddHost "172.23.228.110" "cbslb001.ippb.in" echo -------------------------------------------------------------------- echo. echo [*] Flushing DNS Resolver Cache... ipconfig /flushdns >nul echo [+] DNS Cache flushed successfully. echo. echo ==================================================================== echo SUMMARY: %ADDED_COUNT% new entries added, %SKIPPED_COUNT% existing entries verified. echo All entries processed successfully! echo ==================================================================== echo. pause exit /b :AddHost set "IP=%~1" set "HOST=%~2" :: Check if exact IP + Host pair already exists findstr /i /c:"%IP% %HOST%" "%HOSTS_FILE%" >nul 2>&1 if %errorlevel% equ 0 ( echo [EXISTS] %IP% %HOST% set /a SKIPPED_COUNT+=1 ) else ( :: Check if host exists with a different IP findstr /i /c:"%HOST%" "%HOSTS_FILE%" >nul 2>&1 if !errorlevel! equ 0 ( echo [WARN] %HOST% exists with another IP. Appending %IP%... ) echo %IP% %HOST%>>"%HOSTS_FILE%" echo [ADDED] %IP% %HOST% set /a ADDED_COUNT+=1 ) exit /b