Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.52 KB | None | 0 0
  1. @ECHO OFF
  2. FOR /F %%I IN ("%0") DO SET BATDIR=%%~dpI ::Set run-location.
  3. mode con cols=150 lines=50 >nul
  4.  
  5. openfiles > NUL 2>&1
  6. if %ERRORLEVEL% EQU 0 goto choice
  7. echo You need to run this script as Administrator.
  8. pause
  9. exit
  10.  
  11. :choice
  12. echo SELECT:
  13. echo [1] Add rules.
  14. echo [2] Remove rules.
  15. echo [3] Show installed rules.
  16. echo [4] Show network location.
  17. echo [5] Change network location.
  18. echo [6] OPENVPN Autostart service.
  19. echo [7] Info
  20. echo [8] Exit.
  21. echo ==========================
  22. echo.
  23. set /P c=
  24. if /I "%c%" EQU "1" goto :install
  25. if /I "%c%" EQU "2" goto :remove
  26. if /I "%c%" EQU "3" goto :installedrules
  27. if /I "%c%" EQU "4" goto :shownetworklocation
  28. if /I "%c%" EQU "5" goto :changenetworklocation
  29. if /I "%c%" EQU "6" goto :openvpnauto
  30. if /I "%c%" EQU "7" goto :info
  31. if /I "%c%" EQU "8" goto :exit
  32. pause
  33. cls
  34. goto :choice
  35.  
  36.  
  37. :install
  38. set /p Torrentpath= Input path to torrentclient (example: C:\Program Files (x86)\uTorrent\uTorrent.exe)
  39. netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)" >nul
  40. if %errorlevel%== 0 (
  41. echo Rules already installed.
  42. echo.
  43. ) ELSE (
  44. netsh advfirewall firewall add rule name="Torrentclient - Block incoming (Without vpn)" dir=in action=block program="%Torrentpath%" profile=private,domain >nul
  45. netsh advfirewall firewall add rule name="Torrentclient - Block outgoing (Without vpn)" dir=out action=block program="%Torrentpath%" profile=private,domain >nul
  46. echo Rules installed.
  47. )
  48. pause
  49. cls
  50. goto :choice
  51.  
  52.  
  53. :remove
  54. netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)" >nul
  55. if %errorlevel%== 1 (
  56. echo Rules already removed.
  57. echo.
  58. ) ELSE (
  59. netsh advfirewall firewall delete rule name="Torrentclient - Block incoming (Without vpn)" >nul
  60. netsh advfirewall firewall delete rule name="Torrentclient - Block outgoing (Without vpn)" >nul
  61. echo Rules removed.
  62. )
  63. pause
  64. cls
  65. goto :choice
  66.  
  67.  
  68. :installedrules
  69. netsh advfirewall firewall show rule name="Torrentclient - Block incoming (Without vpn)"
  70. netsh advfirewall firewall show rule name="Torrentclient - Block outgoing (Without vpn)"
  71. pause
  72. cls
  73. goto :choice
  74.  
  75.  
  76. :shownetworklocation
  77. for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles" ^| FIND "{"') do set var=%%~nxa&goto :done
  78. :done
  79. reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles\%var%" /v Category | find "0x1">nul
  80. if %ERRORLEVEL% EQU 0 echo Your network is set to Private.
  81. if %ERRORLEVEL% EQU 1 echo Your network is set to Domain or public. The vpn-rules requires a private network.
  82. pause
  83. cls
  84. goto :choice
  85.  
  86.  
  87. :changenetworklocation
  88. for /f "delims=" %%a in ('reg query "HKEY_LOCAL_MACHINE\software\microsoft\windows nt\currentversion\networklist\Profiles" ^| FIND "{"') do set var=%%~nxa&goto :done
  89. :done
  90. Reg Add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\%var%" /V Category /t REG_DWORD /d 1 /f
  91. echo Your network is set to Private, restart your computer.
  92. pause
  93. cls
  94. goto :choice
  95.  
  96.  
  97. :openvpnauto
  98. SC QUERY Openvpnservice > NUL
  99. IF ERRORLEVEL 1060 (
  100. ECHO OPENVPN SERVICE IS NOT INSTALLED.
  101. pause
  102. exit
  103. ) ELSE (
  104. SC Config "Openvpnservice" start= AUTO > NUL
  105. )
  106.  
  107.  
  108. IF EXIST "%ProgramFiles%\OpenVPN\config\" (
  109. echo EXISTS > NUL
  110. ) ELSE (
  111. ECHO ERROR CAN'T FIND OPENVPN-DIRECTORY
  112. pause
  113. exit
  114. )
  115.  
  116.  
  117. IF EXIST "%ProgramFiles%\OpenVPN\config\*.ovpn" (
  118. GOTO MAKEAUTH
  119. ) ELSE (
  120. ECHO ERROR NO OPENVPN CONFIGURATION FILES. (.ovpn)
  121. pause
  122. exit
  123. )
  124.  
  125.  
  126. :MAKEAUTH
  127. cls
  128. set /p usern= Input your vpn username:
  129. set /p passw= input your vpn password:
  130. cls
  131. echo Username:%usern% Password:%passw% is this correct? [Y] [N]
  132. set /P c=
  133. if /I "%c%" EQU "Y" goto :MAKEFILEA
  134. if /I "%c%" EQU "N" goto :MAKEAUTH
  135. cls
  136.  
  137. :MAKEFILEA
  138. cls
  139. echo %usern% > "%ProgramFiles%\OpenVPN\config\auth.txt"
  140. echo %passw% >> "%ProgramFiles%\OpenVPN\config\auth.txt"
  141. set ThisScriptsDirectory=%~dp0
  142. set PowerShellScriptPath=%ThisScriptsDirectory%ovpn_auth.ps1
  143. PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""%PowerShellScriptPath%""' -Verb RunAs}";
  144.  
  145. echo OPENVPN is now running as autostart service. Restart your computer.
  146. pause
  147. cls
  148. goto :choice
  149.  
  150.  
  151. :info
  152. echo This script set firewall rules to force torrent traffic to go through vpn-connection.
  153. echo For this to work your network location needs to be private.
  154. pause
  155. cls
  156. goto :choice
  157.  
  158.  
  159. :exit
  160. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement