Поехали!

Последнее моё устройство на работу проходило так:
– Вот компьютер, обживай.
– А можно свой USB-винт воткнуть?
– Можно. (Windows: – Бомк!)
– Я готов!

Наступило светлое будущее, когда флешки есть у всех (у кого нет ноутбуков). Соответственно, давно в хождении portable-программы – вплоть до операционных систем, – и даже я в последние несколько месяцев ударился в кочевую жизнь. Поделюсь опытом с точки зрения веб-программиста, которому приходится много ползать по Интернету.

Браузеры
Firefox давно существует в инкарнации portable. Один нюанс: если часто приходится мигрировать между локалками с разными настройками прокси, переключение между ними быстро утомляет. На великолепно реализованное решение на­ткнулся неожиданно: плагин FoxyProxy разруливает запросы к серверам на основе шаблонов, позволяя двумя клавишами добавить локальные сайты (внутрисетевые и тестовые на localhost’е), а собственно настройки под разные сетки при этом обеспечиваются PAC-файлом (Proxy Auto Configuration) – несложным JavaScript'ом. Вписываете в него локалки и соответствующие прокси – и забываете. В случае нужды, FoxyProxy также позволяет использовать Tor.
Opera тоже существует в портативном варианте, называемом Opera@USB или Opera@U3 – в версии для флешек U3. На сайте www.opera-usb.com доступны версии 9 и 8.
Самое удивительное, что IE также можно носить с собой – а следовательно, держать несколько версий сразу (чего так не хватало при проверке сайтов) . Чудо названо общественностью Standalone IE, его историю и технологию изготовления можно почитать по ссылкам со статьи об MSIE в Википедии, скачать же – с сайта разработчиков. В версиях 5 и 5.5 не работает меню закладок, а все версии обрабатывают конструкции типа <!--[if IE 6]> в соответствии с версией, установленной в ОС.

Почта
С переходом к кочевой жизни про The Bat! пришлось забыть. Почта была успешно перегнана в Portable Thunderbird (со всё того же www.portableapps.com). Былое недоверие к этому почтовику не оправдалось – все возможности, которые я использовал в Мышке, не месте, а механизм расширений позволяет настроить интерфейс и добавить, например, поддержку GnuPG (плагин Enigmail).

SSH и прочее
Для SSH под Windows есть PuTTY. К несчастью, он хранит настройки в реестре – но это исправлено в PuTTY Portable (опять же, на portableapps.com). Там же можно найти WinSCP Portable, «опортативленный» графический редактор GIMP и даже OpenOffice.org.
Отлично носятся с собой Total Commander (после запуска утилиты tc2usb; для просмотра картинок можно использовать плагин Imagine) и редактор Vim; упомянутые мной в «МБ» TrueCrypt и KeePass, ICQ-клиент Miranda и mIRC. Полагаю, все знают про набор веб-разработчика Denwer, а для разработки на Python существует Portable Python.

Туннелинг
К несчастью, вопрос прокси не снимается одним только использованием FoxyProxy и PAC. Есть вероятность попадания в локалку, где через прокси не заработает FTP, SSH или POP3 или ещё что-нибудь жизненно необходимое – а заработает только банальный сёрфинг по вебу. В таком случае придётся многоступенчато извращаться и загонять запрещённый трафик в ложе HTTP. Для этого будет нужен собственный сервер в вольном Интернете, на котором не запрещено открывать произвольные порты.
Если сервер под *NIX, пользуйтесь httptunnel (там же ищите клиент под Windows) и squid. Принцип работы этой связки следующий:
1. squid настраивается на прослушивание произвольного порта, например 8023 (только для localhost);
2. на сервере запускается hts -F localhost:8023 8888, желательно при этом файрволом закрыть порт 8888 для посторонних – на всякий случай;
3. у себя запускаете htc -F 2323 -P PROXY:8000 REMOTE:8888, где PROXY:8000"" заменяете на IP и порт прокси, а REMOTE"" – на IP вашего сервера;
4. в нужных программах указываете соединение через прокси localhost:2323.
Httptunnel отправляет трафик любого вида на squid, но при этом не работает связь через два порта, поэтому FTP придется переключить в пассивный режим и указать прокси как «HTTP, понимающий FTP». Если программа не желает понимать «проксей», можно запустить для неё отдельную пару htc-hts, вывод которой направлять прямо на нужный сервер вместо squid, а программу натравливать непосредственно на localhost.

Если сервер под Windows, можно использовать HTTPort:
1. на сервере устанавливается HTTHost, настраивается открываемый порт и IP, с которого разрешено подключаться (можно также назначить пароль на подключение);
2. у себя устанавливаете HTTPort, в нём указываете прокси, включаете режим «Remote host», задаёте свой сервер. Включаете режим SOCKS, а для программ, которые не имеют поддержки SOCKS-прокси, можно направлять определённые порты на определённые серверы.
По сути, вы запускаете у себя SOCKS-прокси, который позволяет перенаправлять любой трафик (POP3 и т.п.). Если, например, на вашем прокси запрещён даже SSL для браузеров, то придётся и их заставить работать через SOCKS с помощью FreeCap. В нём указываете прокси localhost:1080.
Для HTTPort есть открытые HTTHost’ы, но скорость соединения через них оставляет желать лучшего.
В качестве туннеля можно также использовать Tor (он умеет открывать SOCKS-прокси), но скорость также не будет впечатляющей.


Рекомендуем почитать: