Zrobiłem to w C#, ale filozofia jest taka sama, pisząc do rejestru, więc poniższe instrukcje można ekstrapolować do komendy liniowej. Należy zrobić trzy rzeczy:
Napisz do rejestru “HKCU\Microsoft\Windows\CurrentVersion\Internet Settings”, na ProxyEnable: 1 do włączenia, 0 do wyłączenia
Napisz do Rejestru “HKCU \Microsoft \Windows\CurrentVersion\Internet Settings”, na ProxyServer: xxx.xxx.xxx.xxxx:yyyyy (xxx… jest IP, yy… jest port)
Po wykonaniu kroków 1 i 2 będziesz miał napisane do rejestracji aktywacji serwera proxy oraz IP i portu, ale jeśli otworzysz przeglądarkę zauważysz, że to nie wystarczy, nie możesz jeszcze nawigować. Trzeci krok polega na zmianie rejestru w zakresie ustawień połączeń:
“Software\Microsoft\u00261 Okna\CurrentVersion\Internet Settings\Connections\” na “DefaultConnectionSettings\”.
Zauważ, że choć (przynajmniej dla W7) w tym rejestrze są 204 bajty, wystarczy zmodyfikować bajt 8 (9. ponieważ bajt 0 jest pierwszy). Wartość bajtu 8 zawiera nie tylko informacje o włączeniu/wyłączeniu proxy, ale także o innych funkcjach:
//09 when only 'Automatically detect settings' is enabled
//03 when only 'Use a proxy server for your LAN' is enabled
//0B when both are enabled
//05 when only 'Use automatic configuration script' is enabled
//0D when 'Automatically detect settings' and 'Use automatic configuration script' are enabled
//07 when 'Use a proxy server for your LAN' and 'Use automatic configuration script' are enabled
//0F when all the three are enabled.
//01 when none of them are enabled.
W moim przypadku “Ustawienia automatycznego wykrywania” są zawsze włączone, więc przełączam wartość bajtu 8 z 09 na 0B i odwrotnie, aby włączyć lub wyłączyć proxy.