Сей журнал создан для технических записок, касающихся моей работы и интересов в сфере ПО и ЭВМ. Все записи по возможности обновляются.

суббота, 25 апреля 2009 г.

Жизнь через прокси

Выношу в отдельный пост советы по работе с особенно непрозрачными прокси-серверами.

  • SSH через прокси (Tunneling SSH over an HTTP-Proxy Server).
    Ниже пример для джентоводов, остальные заменят две первые команды установкой аналогичных пакетов в своем любимом дистрибутиве.
    # echo 'net-misc/corkscrew' >> /etc/portage/package.keywords/all.keywords
    # emerge -av corkscrew netcat
    $ cd ~/.ssh && wget http://www.mtu.net/~engstrom/downloads/ssh-proxy
    $ chmod a+x ssh-proxy
    $ echo -e 'Host *\n  ProxyCommand $HOME/.ssh/ssh-proxy -p http.proxy.ru:8080 %h %p' >> ~/.ssh/config
    
  • Доступ к репозитариям svn, git, hg, Rsync.
    Для Rsync все просто: достаточно добавить в /etc/profile строку export RSYNC_PROXY="proxy.host.ru:8080".
    Для Mercurial тоже несложно: редактируем ~/.hgrc
    [http_proxy]
    host = proxy.host.ru:8080

    В случае subversion сложнее. Если нет никакой возможности повлиять на админов прокси (чаще всего это squid с дефолтным конфигом), то придется выкручиваться. Можно поменять порт или протокол (например, заменить на https, см. подробнее FAQ).
    Для git существует множество рецептов в сети (в том числе использование proxychains). Кардинальный путь решения проблемы с прокси — использование socat. Рецепт для git, более гибкая модификация для git и svn.
    Можно еще тупо соединяться через ssh (git clone ssh://...).
  • Обход фильтрации контента.
    Про это в сети написано очень много. Если прокси настроен тупо, можно просто заменить имя хоста IP-адресом. Когда сработает, можете смело считать админа... лекгомысленным человеком =) В противном случае надо в сети искать доступные сервисы по форвардингу контента, маскировке URL и анонимайзеры. Например PHProxy. Или сделать такой самому, а можно и через тот же ssh-тоннель, раз уж доступна удаленная машина ;)
Automatically set proxies based on network.
Создаем /etc/proxy.d/192.168.0.111:
export RSYNC_PROXY="proxy.host.ru:8080"
export http_proxy="proxy.host.ru:8080"
export https_proxy="proxy.host.ru:8080"
export ftp_proxy="proxy.host.ru:8080"
export no_proxy="127.0.0.1,localhost"

среда, 8 апреля 2009 г.

УРЛы

Большие УРЛы

Наткнулся на забавный сайт: Freaking Huge URL Generator. И стало любопытно, а каков, собственно, реальный предел на длину УРЛа?

Мне почему-то казалось, что он весьма невелик, где-то в районе 1024 символов (подумал 256, показалось маловато). Черт знает, почему я так думал. Однако freakinghugeurl.com выдает иной раз более 5000 символов, но такая ссылка на русскую Википедию не работает. Зато из 1677 символов — вполне.

Исчерпывающий ответ нагуглился вот в сюда: Какой максимальной длины может быть URL?
Для желающих поэкспериментировать: Подсчет количества символов онлайн.

Читаемые УРЛы

Enlarge your URLs! Спасиббы, Johan.

Кто такой

Моя фотография
Москва, Москва, Russia
Дипломированный астроном, закончил аспирантуру Специальной Астрофизической Обсерватории РАН. Москвич

Ярлыки