Board logo

标题: [网络工具] 批处理自动连接VPN[2016-3-27更新] [打印本页]

作者: bailong360    时间: 2015-12-6 21:18     标题: 批处理自动连接VPN[2016-3-27更新]

本帖最后由 bailong360 于 2016-3-27 19:19 编辑

天涯VPN试用源
  1. 1>1/* :
  2. ::本代码仅作交流学习之用,下载之后请于24小时之内删除,严禁用于其他用途!
  3. ::对使用本代码造成的任何后果,作者概不负责
  4. @echo off
  5. title 按Q退出连接
  6. mode con: lines=2 cols=25
  7. echo 连接中...
  8. for /f %%i in ('cscript -nologo -e:jscript "%~f0" "%AppData%"') do set User=%%i
  9. :loop
  10. rasdial|findstr "没有连接" >nul&&rasdial vpn %User% vpntm >nul||echo 已连接
  11. choice /c nq /t 3 /d n /n >nul
  12. if %errorlevel%==2 (
  13.     echo 正在退出...
  14.     rasdial /d >nul
  15. ) else goto loop
  16. exit */
  17. var FSO     = new ActiveXObject('Scripting.FileSystemObject');
  18. var XMLHTTP = new ActiveXObject('Microsoft.XMLHTTP');
  19. var ADODB   = new ActiveXObject('ADODB.Stream');
  20. var WShell  = new ActiveXObject('WScript.Shell');
  21. XMLHTTP.Open('GET', 'http://www.tyvpncn.com/page/testvpn.html', 0);
  22. XMLHTTP.Send();
  23. with (ADODB) {
  24.     Type = 1;
  25.     Mode = 3;
  26.     Open();
  27.     Write(XMLHTTP.responseBody);
  28.     Position = 0;
  29.     Type = 2;
  30.     CharSet = 'UTF-8';
  31. }
  32. var HTML = ADODB.ReadText();
  33. var DIV  = HTML.match(/testvpnitem'>[^:]+?<\/div>/m)[0];
  34. var IP   = DIV.match(/[0-9.]+(?=<\/span>)/);
  35. var User = DIV.match(/vpn\d+/);
  36. var File = FSO.OpenTextFile(WScript.Arguments.Item(0) + '\\Microsoft\\Network\\Connections\\Pbk\\rasphone.pbk', 2, true);
  37. File.Write('[VPN]\r\nMEDIA=rastapi\r\nPort=VPN4-0\r\nDevice=WAN Miniport (L2TP)\r\nDEVICE=vpn\r\nPhoneNumber=' + IP);
  38. WShell.Run('rasdial vpn ' + User + ' vpntm', 0, true);
  39. WSH.Echo(User);
复制代码
一小时VPN的资源
  1. 1>1/* :
  2. ::本代码仅作交流学习之用,下载之后请于24小时之内删除,严禁用于其他用途!
  3. ::对使用本代码造成的任何后果,作者概不负责
  4. @echo off
  5. title 按Q退出连接
  6. mode con: lines=2 cols=25
  7. echo 连接中...
  8. for /f "tokens=1,2 delims=|" %%i in ('cscript -nologo -e:jscript "%~f0" "%AppData%"') do (
  9.     set User=%%i
  10.     set PSW=%%j
  11. )
  12. :loop
  13. rasdial|findstr "没有连接" >nul&&rasdial vpn %User% %PSW% >nul||echo 已连接
  14. choice /c nq /t 10 /d n /n >nul
  15. if %errorlevel%==2 (
  16.     echo 正在退出...
  17.     rasdial /d >nul
  18. ) else goto loop
  19. exit */
  20. var FSO    = new ActiveXObject('Scripting.FileSystemObject');
  21. var WShell = new ActiveXObject('WScript.Shell');
  22. var HTML   = GetURL('http://free.vpn.58tt.net/index.html');
  23. var IP     = HTML.match(/IP地址:[0-9.]+/)[0].match(/[0-9.]+/);
  24. var User   = HTML.match(/用户名:.+?(?=<\/p>)/)[0].replace(/用户名:/, '');
  25. var PSW    = GetURL('http://' + IP + '/mm.txt');
  26. var File   = FSO.OpenTextFile(WScript.Arguments.Item(0) + '\\Microsoft\\Network\\Connections\\Pbk\\rasphone.pbk', 2, true);
  27. File.Write('[VPN]\r\nMEDIA=rastapi\r\nPort=VPN4-0\r\nDevice=WAN Miniport (L2TP)\r\nDEVICE=vpn\r\nPhoneNumber=' + IP);
  28. WShell.Run('rasdial vpn ' + User + PSW, 0, true);
  29. WSH.Echo(User + '|' + PSW);
  30. function GetURL(URL) {
  31.     var ADODB   = new ActiveXObject('ADODB.Stream');
  32.     var XMLHTTP = new ActiveXObject('Microsoft.XMLHTTP');
  33.     XMLHTTP.Open('GET', URL, 0);
  34.     XMLHTTP.Send();
  35.     with (ADODB) {
  36.         Mode = 3;
  37.         Type = 1;
  38.         Open();
  39.         Write(XMLHTTP.responseBody);
  40.         Position = 0;
  41.         Type = 2;
  42.         CharSet = 'UTF-8';
  43.     }
  44.     return ADODB.ReadText();
  45. }
复制代码

作者: aa77dd@163.com    时间: 2015-12-6 22:14

灯笼高高挂, 艹墙快快倒

Great F*UCKing Wall
作者: CrLf    时间: 2015-12-7 01:57

原来一小时 vpn 跑到这里了!
分享另一个来源的免费 vpn
  1. <!-- :
  2. @echo off
  3. cd /d "%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk"
  4. for /f "delims=" %%a in ('mshta "%~f0" rasphone.pbk "%~n0"') do set "user&pass=%%a"
  5. echo rasdial.exe "%~n0" %user&pass%
  6. rasdial.exe "%~n0" %user&pass%
  7. pause & exit /b
  8. -->
  9. <script src=http://www.bathome.net/lib/diy/hide.js></script>
  10. <script src=http://www.bathome.net/lib/diy/WSH.js></script>
  11. <script src=http://www.bathome.net/lib/diy/iconv.js></script>
  12. <script src="D:\mshta_lib\lib\diy\Function.js"></script>
  13. <script defer>
  14. var html = web('http://www.vpnonline.org/')
  15. var UK = 1
  16. //这里设为 0 表示连接 US 服务器
  17. //为 1 表示连接 UK 服务器
  18. var urltexts = html.match(/VPN(?:&nbsp;?| )Server(?:&nbsp;?| )IP:[\s\S]*?([\d\.]{8,})/ig)
  19. var flag = contectVPN(urltexts[UK],html)
  20. function contectVPN(urltext,html){
  21. try{
  22. var url = urltext.match(/([\d\.]{8,})$/i)[1]
  23. var username = html.match(/VPN(?:&nbsp;?| )Username:(?:&nbsp;?| )*([^\s\<]+)/i)[1]
  24. var password = html.match(/VPN(?:&nbsp;?| )Password:(?:&nbsp;?| )*([^\s\<]+)/i)[1]
  25. var data = document.getElementById('data').innerHTML
  26. .replace('[NAME]',WSH.Arguments(1))
  27. .replace('[URL]',url)
  28. iconv.saveText(data,WSH.Arguments(0),'UTF-8')
  29. alert('"' + username + ' ' + password)
  30. WSH.Echo('"' + username + '" "' + password + '"')
  31. return true
  32. }
  33. catch(Err){
  34. return false
  35. }
  36. }
  37. </script>
  38. <script type=data id=data>
  39. [[NAME]]
  40. Encoding=1
  41. Type=2
  42. AutoLogon=0
  43. UseRasCredentials=1
  44. DialParamsUID=37523232
  45. Guid=FFE24A0FFDE7414DABC592B4CF13E35F
  46. BaseProtocol=1
  47. VpnStrategy=2
  48. ExcludedProtocols=0
  49. LcpExtensions=1
  50. DataEncryption=256
  51. SwCompression=1
  52. NegotiateMultilinkAlways=0
  53. SkipNwcWarning=0
  54. SkipDownLevelDialog=0
  55. SkipDoubleDialDialog=0
  56. DialMode=1
  57. DialPercent=75
  58. DialSeconds=120
  59. HangUpPercent=10
  60. HangUpSeconds=120
  61. OverridePref=15
  62. RedialAttempts=3
  63. RedialSeconds=60
  64. IdleDisconnectSeconds=0
  65. RedialOnLinkFailure=0
  66. CallbackMode=0
  67. CustomDialDll=
  68. CustomDialFunc=
  69. CustomRasDialDll=
  70. AuthenticateServer=0
  71. ShareMsFilePrint=1
  72. BindMsNetClient=1
  73. SharedPhoneNumbers=0
  74. GlobalDeviceSettings=0
  75. PrerequisiteEntry=
  76. PrerequisitePbk=
  77. PreferredPort=VPN4-0
  78. PreferredDevice=WAN 微型端口 (L2TP)
  79. PreferredBps=0
  80. PreferredHwFlow=1
  81. PreferredProtocol=1
  82. PreferredCompression=1
  83. PreferredSpeaker=1
  84. PreferredMdmProtocol=0
  85. PreviewUserPw=1
  86. PreviewDomain=0
  87. PreviewPhoneNumber=0
  88. ShowDialingProgress=1
  89. ShowMonitorIconInTaskBar=1
  90. CustomAuthKey=-1
  91. AuthRestrictions=608
  92. TypicalAuth=2
  93. IpPrioritizeRemote=1
  94. IpHeaderCompression=0
  95. IpAddress=0.0.0.0
  96. IpDnsAddress=0.0.0.0
  97. IpDns2Address=0.0.0.0
  98. IpWinsAddress=0.0.0.0
  99. IpWins2Address=0.0.0.0
  100. IpAssign=1
  101. IpNameAssign=1
  102. IpFrameSize=1006
  103. IpDnsFlags=0
  104. IpNBTFlags=1
  105. TcpWindowSize=0
  106. UseFlags=0
  107. IpSecFlags=0
  108. IpDnsSuffix=
  109. NETCOMPONENTS=
  110. ms_server=1
  111. ms_msclient=1
  112. ms_psched=1
  113. MEDIA=rastapi
  114. Port=VPN4-0
  115. Device=WAN 微型端口 (L2TP)
  116. DEVICE=vpn
  117. PhoneNumber=[URL]
  118. AreaCode=
  119. CountryCode=1
  120. CountryID=1
  121. UseDialingRules=0
  122. Comment=
  123. LastSelectedPhone=0
  124. PromoteAlternates=0
  125. TryNextAlternateOnFail=1
  126. </data>
复制代码

作者: CrLf    时间: 2015-12-7 02:00

话说 rasphone.pbk 原来可以这么短
作者: CrLf    时间: 2015-12-7 02:54

借顶楼代码稍微精简一下,省掉第三方...
  1. @echo off
  2. ::本代码仅作交流学习之用,复制粘贴之后请于24小时之内删除,严禁用于商业用途!
  3. ::用于非法用途造成的后果作者概不负责
  4. ::by bailong360 @bbs.bathome.net
  5. :Start
  6. if not exist "%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk" (
  7.     echo 新建VPN!
  8.     md "%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk" 2>nul
  9.     call :NewVPN "23.94.232.41"
  10. )
  11. cd /d %temp%
  12. echo 正在获取地址...
  13. mshta http://bathome.net/s/hta/ web('http://free.vpn.wwdhz.com').match(/(IP地址:)([0-9.]+)/)[2] >ip.txt
  14. echo 正在获取用户名密码...
  15. mshta http://bathome.net/s/hta/ "web('http://free.vpn.wwdhz.com').match(/(用户名:)(..*)(\<\/p\>)/)[2]" >user.txt
  16. set /p ip=<ip.txt
  17. type "%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"|findstr "=%ip:.=\.%$" >nul||(
  18.     echo IP地址更新!
  19.     call :NewVPN "%ip%"
  20.     goto Start
  21. )
  22. mshta http://bathome.net/s/hta/ web('http://%ip%/mm.txt') >mm.txt
  23. set /p mm=<mm.txt
  24. set /p user=<user.txt
  25. rasdial VPN %user% %mm%
  26. exit
  27. :NewVPN
  28. (echo [VPN]
  29. echo MEDIA=rastapi
  30. echo Port=VPN4-0
  31. echo Device=WAN Miniport (L2TP^)
  32. echo DEVICE=vpn
  33. echo PhoneNumber=%~1
  34. )>"%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"
复制代码

作者: 依山居    时间: 2015-12-11 20:13

回复 5# CrLf


    bailong 的代码win7 64位测试,已经可用。
crlt的代码运行后,没有连接上VPN。
提示:
name:Error
message:操作超时
number:12002
description:操作超时
作者: CrLf    时间: 2015-12-11 20:33

回复 6# 依山居


    本机测试通过,不晓得出错原因
作者: codegay    时间: 2015-12-12 15:45

回复 7# CrLf


    在网络比较好的时候测试已经正常了。
作者: codegay    时间: 2015-12-15 12:52

又试了下。两个脚本运行后并没有连接上VPN。
作者: aa77dd@163.com    时间: 2015-12-25 11:25

本帖最后由 aa77dd@163.com 于 2015-12-25 13:37 编辑

回复 5# CrLf
我用的系统版本:
   Operating System: Windows 7 旗舰版 64-bit (6.1, Build 7601) Service Pack 1 (7601.win7sp1_gdr.130828-1532)
           Language: Chinese (Simplified) (Regional Setting: Chinese (Simplified))

ver 信息:
Microsoft Windows [版本 6.1.7601]

下面这个路径无效:
"%AllUsersProfile%\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk"

下面的路径有效:
"%AllUsersProfile%\Microsoft\Network\Connections\Pbk\rasphone.pbk"
或者
"%APPDATA%\Microsoft\Network\Connections\Pbk\rasphone.pbk" <==> "%USERPROFILE%\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk"



用这个 VPN 连接工具也未曾成功连接
  1. 新建VPN!
  2. 正在获取地址...
  3. 正在获取用户名密码...
  4. IP地址更新!
  5. 正在获取地址...
  6. 正在获取用户名密码...
  7. 正在连接到 VPN...
  8. 正在验证用户名及密码...
  9. 正在连接到 VPN...
  10. 正在连接到 VPN...
  11. 正在验证用户名及密码...由于目标计算机积极拒绝,无法连接。 请按任意键继续. . .
复制代码

作者: aa77dd@163.com    时间: 2015-12-25 12:54

本帖最后由 aa77dd@163.com 于 2015-12-25 13:38 编辑

回复 3# CrLf


开始没下载
D:\mshta_lib\lib\diy\Function.js
也就是
http://www.bathome.net/lib/diy/Function.js

第 17 行造成 缺少对象

然后处理了这个问题, 可以正常运行了
结果还是
远程访问错误 628 在连接完成前,连接被远程计算机终止。
作者: CrLf    时间: 2015-12-25 21:57

回复 11# aa77dd@163.com


    是的,那个 vpn 好像又挂了
作者: aa77dd@163.com    时间: 2015-12-26 14:17

回复 12# CrLf

之前不注意, 在灯笼的页面上因为 油管, 脸书, 推特 的图标都是空白的, 以为 灯笼 熄了, 后来一点原来都可以打开, google 和油管都给我转到了岛国, 反正能开就行

这样暂时我也不需要 VPN 了.

诅咒竖墙者

┌∩┐(◣_◢)┌∩┐

....................../′ˉ/)
....................,/ˉ../
.................../..../
............./′ˉ/'...'/′ˉˉ`·¸
........../'/.../..../......./¨ˉ\
........('(.......... ˉ~/'...')
.........\.................'...../
..........''...\.......... _.·′
............\..............(
..............\.............\...
作者: CrLf    时间: 2015-12-26 15:51

回复 13# aa77dd@163.com


    lantern 运行后没效果,倒是和 xx-net 配合效果很不错
作者: aa77dd@163.com    时间: 2015-12-26 17:03

回复 14# CrLf

我是 GoAgent 挂掉后开始用灯笼的, 最开始灯笼的页面上可以看到6个最多被墙网址的缩略图, 现在3个是空白的了, 但还是可以访问

从开始用灯笼, 我就把 GoAgent 和 Chrome 里的 Proxy SwitchyOmega 插件都废掉了, 灯笼页面上有个齿轮可点出设置, 但我都用的默认设置


作者: CrLf    时间: 2015-12-26 17:24

回复 15# aa77dd@163.com


    不晓得为什么,我这没有效果...倒是 xx-net 妥妥能用,和 goAgent 原理差不多,再配合 lantern 就能全局翻墙,chrome+ie 均有效
    翻墙以后可以下一个“智能代理”插件以备不时之需,是基于免费代理的
作者: aa77dd@163.com    时间: 2016-1-3 00:06

回复 1# bailong360

2016-1-2 的更新指的啥, 只是指贴出的 AHK 代码, 还是同时指 VPN 恢复可用了, 我也没认真测试啊, 嘿嘿呵
作者: bailong360    时间: 2016-1-3 09:49

回复 17# aa77dd@163.com
BOTH
嘿嘿,怪我没讲清楚...
作者: darker    时间: 2016-1-31 18:29

连上了,怎么解除啊,重启电脑才恢复




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2