Difference between revisions of "Automatic proxy setting for regify client"
Jump to navigation
Jump to search
Line 6: | Line 6: | ||
* We suggest to save this as ''setRegifyProxy.vbs'' or similar directly to the desktop. The .vbs extension allows execution by simple doubleclick. | * We suggest to save this as ''setRegifyProxy.vbs'' or similar directly to the desktop. The .vbs extension allows execution by simple doubleclick. | ||
* You are allowed to adapt this script to your needs. | * You are allowed to adapt this script to your needs. | ||
+ | * If you like to edit, we strongly suggest to use an editor that is able to edit vbs files (like PSPad or Notepad++ etc.) | ||
== The script == | == The script == |
Revision as of 10:28, 30 October 2013
It allows to automatically set the proxy server settings of the regify client depending on the current active IP address.
Remarks
- You need to configure this script at the first lines.
- Dont forget to set LocalNet to the beginning of the network that needs proxy (eg "10.1.1" or "192.168" etc.).
- We suggest to save this as setRegifyProxy.vbs or similar directly to the desktop. The .vbs extension allows execution by simple doubleclick.
- You are allowed to adapt this script to your needs.
- If you like to edit, we strongly suggest to use an editor that is able to edit vbs files (like PSPad or Notepad++ etc.)
The script
In order to set the regify client proxy settings regarding the current IP address, the following VBScript may get used:
' Save as "setRegifyProxy.vbs" or similar Dim LocalNet, Proxy, ProxyUser, ProxyPass, INIFile, Loud ' --------- Start Config --------- LocalNet = "192.168.12" Proxy = "shuttle.lu.regify.com:3128" ' Name:Port ProxyUser = "pUser" ProxyPass = "pPass" Loud = True ' If some message appears or not (True/False) ' --------- End Config --------- Dim NIC1, Nic, StrIP, CompName, Ini, NewIni, ValueExp, Mode Dim objFSO, copyFile, vSystemDrive ' Get some RegExp engine Set objRegEx = New RegExp objRegEx.IgnoreCase = False objRegEx.Global = True ValueExp = ".*\r\n" ' Get regify client ini file Set WshShell = WScript.CreateObject("Wscript.Shell") vAPPDATA = WshShell.ExpandEnvironmentStrings("%APPDATA%") INIFile = vAPPDATA & "\regify\regify_client.ini" ' Get IP Address of current active NIC Set NIC1 = GetObject("winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration") For Each Nic in NIC1 If Nic.IPEnabled Then StrIP = Nic.IPAddress(i) ' Set WshNetwork = WScript.CreateObject("WScript.Network") ' CompName= WshNetwork.Computername ' Get Computername Exit For End If Next If StrIP = "" Then MsgBox("Can not get any enabled IP address!") Wscript.Quit End If Ini = LoadStringFromFile(INIFile) If Ini = "" Then MsgBox("Can not load regify client INI file! [" & INIFile & "]") Wscript.Quit End If NewIni = Ini If Left(StrIP, Len(LocalNet)) = LocalNet Then ' Intranet -> Set Proxy (old INI format) Mode = "intranet + proxy" objRegEx.Pattern = "ProxyServer =" & ValueExp NewIni = objRegEx.Replace(Ini, "ProxyServer = " & Proxy & vbCrLf) objRegEx.Pattern = "ProxyUsername =" & ValueExp NewIni = objRegEx.Replace(NewIni, "ProxyUsername = " & ProxyUser & vbCrLf) objRegEx.Pattern = "ProxyPassword =" & ValueExp NewIni = objRegEx.Replace(NewIni, "ProxyPassword = " & ProxyPass & vbCrLf) ' Intranet -> Set Proxy (new INI format) objRegEx.Pattern = "proxyServer =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyServer = " & Proxy & vbCrLf) objRegEx.Pattern = "proxyUsername =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyUsername = " & ProxyUser & vbCrLf) objRegEx.Pattern = "proxyPassword =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyPassword = " & ProxyPass & vbCrLf) Else ' Not Intranet, remove Proxy (old INI format) Mode = "internet, no proxy" objRegEx.Pattern = "ProxyServer =" & ValueExp NewIni = objRegEx.Replace(Ini, "ProxyServer =" & vbCrLf) objRegEx.Pattern = "ProxyUsername =" & ValueExp NewIni = objRegEx.Replace(NewIni, "ProxyUsername =" & vbCrLf) objRegEx.Pattern = "ProxyPassword =" & ValueExp NewIni = objRegEx.Replace(NewIni, "ProxyPassword =" & vbCrLf) ' Not Intranet, remove Proxy (new INI format) objRegEx.Pattern = "proxyServer =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyServer =" & vbCrLf) objRegEx.Pattern = "proxyUsername =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyUsername =" & vbCrLf) objRegEx.Pattern = "proxyPassword =" & ValueExp NewIni = objRegEx.Replace(NewIni, "proxyPassword = "& vbCrLf) End If If (NewIni <> Ini) Then ' Save changes SaveStringToFile INIFile, NewIni If Loud = True Then MsgBox("regify Client proxy settings have been changed (" & Mode & ")") End If Else ' Nothing has changed If Loud = True Then MsgBox("regify Client proxy settings already ok (" & Mode & ")") End If End If ' ---------- Helping functions ------------ Const fsoForReading = 1 Const fsoForWriting = 2 Function LoadStringFromFile(filename) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(filename, fsoForReading) LoadStringFromFile = f.ReadAll f.Close End Function Sub SaveStringToFile(filename, text) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(filename, fsoForWriting) f.Write text f.Close End Sub