|
Загрузка файлов напрямую |
|
|
Есть возможность указать браузеру использовать .pac файл. Файл этот предназначен для тонкой настройки использования прокси.
Предоставляемые возможности весьма широки, наиболее интересными в нашем случае представляется возможность анализа url (это то, что в адресной строке у браузера). Это даёт возможность исключить (или наоборот, включить) использование прокси (т.е. toonel) для того или иного сервера или, анализируя расширение файла, указывать браузеру не использовать (или использовать) toonel.
Итак, поставим задачу - исключить использование прокси для файлов, которые уже сжаты, например, архиватором RAR. Расширение у этих файлов .rar, если это однотомный архив, либо .rar, .r00, .r01, .r02 и т.д. для многотомных архивов.
Сам по себе .pac файл - это текстовый файл, маленькая программка на JavaScript. Если браузеру указать использовать .pac файл, то для каждого ресурса (странички, картинки, файла и пр.) он будет выполнять функцию под названием FindProxyForURL из указанного .pac файла.
Для создания простого .pac файла не требуется никаких навыков в программировании, только точное исполнение нижеприведенной инструкции.
Итак, открываем какой-нибудь текстовый редактор попроще (для Windows - Notepad, ни в коем случае не Word, т.к. это должен быть простой текстовый файл) и вставляем следующий код: Код:
function FindProxyForURL(url, host) { if( shExpMatch(url, "*.rar") ) { return "DIRECT"; }
return "PROXY 127.0.0.1:8080"; }
разбор функции: 1-я строчка - название функции FindProxyForURL. url - это переменная, наша строка для анализа. Например, если нам нужно загрузить текущую версию toonel, то строчка будет http://www.toonel.net/generic/005050/toonel.jar - это видно в адресной строке браузера при загрузке файла toonel.jar 2-я строчка переводится так - "если url заканчивается на .rar, то переходим к следующей строчке, иначе следующую строчку пропускаем". 3-я строчка - возвращаем указание браузеру использовать прямое (DIRECT) соединение, т.е. не использовать прокси. На этом выполнение функции заканчивается и всё, что написано ниже, выполняться не будет. 4-я строчка - если url заканчивается как-либо иначе, то возвращаем указание браузеру использовать прокси 127.0.0.1 порт 8080.
Сохраняем этот файл где-нибудь на диске и назовём его, скажем, nozip.pac. Следующий шаг - указать браузеру использовать этот файл. Для этого идем в настройки браузера, там, где указывается использование прокси. Ставим галку "use automatic configuration script" (или похоже) и в строке вводим путь к нашему файлу.
Для Opera это может выглядить так: Код:
c:\toonel\nozip.pac
Для FireFox: Код:
file://с:/toonel/nozip.pac
Для IE: Код:
file://с:/toonel/nozip.pac
Некоторые браузеры требуют, чтобы их закрыли и запустили опять. Теперь можно загрузить какой-нибудь .rar файл из интернета и убедиться, что файл загружается напрямую, минуя toonel.
Чтобы таким же образом обрабатывать не только первый том в архиве (.rar), но и последующие (.r00 т.д.), необходимо дополнить наш .pac файл.
Открываем его в текстовом редакторе и исправляем, чтобы он выглядел следующим образом: Код:
function FindProxyForURL(url, host) { if( shExpMatch(url, "*.rar") ) { return "DIRECT"; } if( shExpMatch(url, "*.r00") ) { return "DIRECT"; }
return "PROXY 127.0.0.1:8080"; }
То есть мы просто добавили проверку для расширения .r00 сразу же после проверки .rar. Таким же образом добавляются другие расширения - .exe, .zip и т.д.:
Код:
function FindProxyForURL(url, host) { if( shExpMatch(url, "*.rar") ) { return "DIRECT"; } if( shExpMatch(url, "*.r00") ) { return "DIRECT"; } if( shExpMatch(url, "*.zip") ) { return "DIRECT"; } if( shExpMatch(url, "*.exe") ) { return "DIRECT"; }
return "PROXY 127.0.0.1:8080"; }
Если есть навыки программирования - рекомендуется почитать о .pac файлах, что они могут и что не могут - например, раньше на их основе делали блокировку рекламы.
Другим способом загрузки каких-либо файлов минуя toonel является использование Proxomitron в паре с toonel.
|