Lifehack

Автоматическое переключение прокси

OperaВ прошлый раз я писал о том, как можно настроить прокси сразу во всех браузерах. Там была такая фраза: “Процедура смены прокси: приходим домой – раскоментируем первую строку, на работу – комментируем. Да и скриптик для это несложно написать.” Ну вот собственно я и написал:

#!/bin/bash
 
if /sbin/iwconfig 2>/dev/null | grep "wlan0.*home"
then
cp /home/arti/proxy.pac.home /home/arti/proxy.pac
elif /sbin/iwconfig 2>/dev/null | grep "wlan0.*work"
then
cp /home/arti/proxy.pac.work /home/arti/proxy.pac
else
cp /home/arti/proxy.pac.home /home/arti/proxy.pac
fi

home – название сети дома, work – на работе.

Ну а для полного счастья вызов скрипта добавляется в cron с периодичностью в 1 минуту:

* * * * * /home/arti/bin/setupProxy.sh

Настройка прокси во всех браузерах одновременно

InternetМне по долгу службы часто приходится менять настройки прокси на своем ноутбуке: дома прокси нет, на работе один прокси, в универе – другой. Ну а то, что я пользуюсь несколькими браузерами, и централизованное место установки прокси в KDE у них не уважается только усугубляет положение. Постоянно залазить в одни и те же настройки, менять исключения и т.п. – надоедает довольно быстро. Решил я от этого избавиться и нашел довольно симпатичный способ – может кому-то тоже пригодится.

Наверное многие замечали в настройках прокси почти любой программы поле “Автоматическая конфигурация прокси” куда просили ввести адрес скрипта конфигурации. Как оказалось, этот скрипт – PAC-файл (proxy auto-config) просто функция на JavaScript, что позволяет довольно просто и удобно вводить гибкие правила и исключения для прокси.

Вот пример простой настройки:

function FindProxyForURL(url, host) {
// Эта строка для домашнего интернета
//	return "DIRECT";
 
// Все остальное для рабочего
// Local
	if (shExpMatch(url,"*://localhost/*") || shExpMatch(url,"*.localhost/*") || shExpMatch(url,"*.lo/*")) {
		return "DIRECT";
	}
// Work
	if (shExpMatch(url,"*://work.kz/*")) {
		return "DIRECT";
	}
	return "PROXY 12.34.56.78:9000";
}

Скрипт помещается в любое место и в поле “Автоматическая конфигурация прокси” во всех программах вводится полный путь к нему. Например, /home/arti/proxy.pac.

Процедура смены прокси: приходим домой – раскоментируем первую строку, на работу – комментируем. Да и скриптик для это несложно написать. Точно работает в Linux и должно работать в Windows.

Читать дальше >