Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- FOR /F %%I IN ("%0") DO SET BATDIR=%%~dpI ::Set run-location.
- mode con cols=150 lines=50 >nul
- openfiles > NUL 2>&1
- if %ERRORLEVEL% EQU 0 goto choice
- echo You need to run this script as Administrator.
- pause
- exit
- :choice
- echo SELECT:
- echo [1] Add rules.
- echo [2] Remove rules.
- echo [3] Show installed rules.
- echo [4] Show network location.
- echo [5] Change network location.
- echo [6] OPENVPN Autostart service.
- echo [7] Info
- echo [8] Exit.
- echo ==========================
- echo.
- set /P c=
- if /I "%c%" EQU "1" goto :install
- if /I "%c%" EQU "2" goto :remove
- if /I "%c%" EQU "3" goto :installedrules
- if /I "%c%" EQU "4" goto :shownetworklocation
- if /I "%c%" EQU "5" goto :changenetworklocation
- if /I "%c%" EQU "6" goto :openvpnauto
- if /I "%c%" EQU "7" goto :info
- if /I "%c%" EQU "8" goto :exit
- pause
- cls
- goto :choice
- :install
- set /p Torrentpath= Input path to torrentclient (example: C:\Program Files (x86)\uTorrent\uTorrent.exe)
- netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)" >nul
- if %errorlevel%== 0 (
- echo Rules already installed.
- echo.
- ) ELSE (
- netsh advfirewall firewall add rule name="Torrentclient - Block incoming (Without vpn)" dir=in action=block program="%Torrentpath%" profile=private,domain >nul
- netsh advfirewall firewall add rule name="Torrentclient - Block outgoing (Without vpn)" dir=out action=block program="%Torrentpath%" profile=private,domain >nul
- echo Rules installed.
- )
- pause
- cls
- goto :choice
- :remove
- netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)" >nul
- if %errorlevel%== 1 (
- echo Rules already removed.
- echo.
- ) ELSE (
- netsh advfirewall firewall delete rule name="Torrentclient - Block incoming (Without vpn)" >nul
- netsh advfirewall firewall delete rule name="Torrentclient - Block outgoing (Without vpn)" >nul
- echo Rules removed.
- )
- pause
- cls
- goto :choice
- :installedrules
- netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)"
- netsh advfirewall firewall show rule name="Torrentclient - Block outgoing (Without vpn)"
- pause
- cls
- goto :choice
- :shownetworklocation
- for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles" ^| FIND "{"') do set var=%%~nxa&goto :done
- :done
- reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles\%var%" /v Category | find "0x1">nul
- if %ERRORLEVEL% EQU 0 echo Your network is set to Private.
- if %ERRORLEVEL% EQU 1 echo Your network is set to Domain or public. The vpn-rules requires a private network.
- pause
- cls
- goto :choice
- :changenetworklocation
- for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles" ^| FIND "{"') do set var=%%~nxa&goto :done
- :done
- Reg Add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\%var%" /V Category /t REG_DWORD /d 1 /f
- echo Your network is set to Private, restart your computer.
- pause
- cls
- goto :choice
- :openvpnauto
- SC QUERY Openvpnservice > NUL
- IF ERRORLEVEL 1060 (
- ECHO OPENVPN SERVICE IS NOT INSTALLED.
- pause
- exit
- ) ELSE (
- SC Config "Openvpnservice" start= AUTO > NUL
- )
- IF EXIST "%ProgramFiles%\OpenVPN\config\" (
- echo EXISTS > NUL
- ) ELSE (
- ECHO ERROR CAN'T FIND OPENVPN-DIRECTORY
- pause
- exit
- )
- IF EXIST "%ProgramFiles%\OpenVPN\config\*.ovpn" (
- GOTO MAKEAUTH
- ) ELSE (
- ECHO ERROR NO OPENVPN CONFIGURATION FILES. (.ovpn)
- pause
- exit
- )
- :MAKEAUTH
- cls
- set /p usern= Input your vpn username:
- set /p passw= input your vpn password:
- cls
- echo Username:%usern% Password:%passw% is this correct? [Y] [N]
- set /P c=
- if /I "%c%" EQU "Y" goto :MAKEFILEA
- if /I "%c%" EQU "N" goto :MAKEAUTH
- cls
- :MAKEFILEA
- cls
- echo %usern% > "%ProgramFiles%\OpenVPN\config\auth.txt"
- echo %passw% >> "%ProgramFiles%\OpenVPN\config\auth.txt"
- set ThisScriptsDirectory=%~dp0
- set PowerShellScriptPath=%ThisScriptsDirectory%ovpn_auth.ps1
- PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs}";
- echo OPENVPN is now running as autostart service. Restart your computer.
- pause
- cls
- goto :choice
- :info
- echo This script set firewall rules to force torrent traffic to go through vpn-connection.
- echo For this to work your network location needs to be private.
- pause
- cls
- goto :choice
- :exit
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement