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 09: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