Aug
21
git через прокси | 21 August 2009, 20:33

Часто оно не работает. Здесь предложен вариант отличающийся от классического, без использования proxychains


Чрезвычайно полезная штука о которой найти где-то чтото – просто нереально. Да, можно извращаться с proxychains и им подобным, но зачем если есть переменная окружения GIT_PROXY_COMMAND

Исследуя инет-ресурсы я нашла оригинальный способ использовать ее и решить проблему – спомощью простенькой программы socket и скрипта.

Как пишет разработчик, программа socket:

“implements an interface to TCP sockets at shell level. Client and server sockets can be used from shell scripts or interactively.”

Т.е. программа предоставляет интерфейс доступа к tcp-сокетам для консоли(шелла), и том числе и интерактивно.

Что же нужно сделать?

Во-первых, создать скрипт. Пример:

#! /bin/bash
(echo “CONNECT $1:$2 HTTP/1.0″; echo; cat ) | socket 10.0.0.1 3128 | (read a; read a; cat )

Здесь 10.0.0.1 – адрес прокси, 3128 – порт прокси. Сохраняем скрипт как /bin/proxy_git.sh

Во-вторых, нам нужна собственно программа socket. В репозитарии Gentoo чего-то ее не нашла, видимо, сейчас этот ebuild не в основном дереве, а в оверлее. Но полезную программу скачать можно тут: http://www.jnickelsen.de/socket/socket-1.5.tar.gz
Распаковывает архив, запускаем традиционные make и make install.

tar -xzvf socket-1.5.tar.gz
cd socket-1.5
make
sudo make install

Не забываем добавить каталог /usr/local/bin в переменную окружения PATH, либо сразу копируем прогу в /usr/bin.

Теперь в-третьих.
Прописываем в ~/.bashrc (можно и в локальной сессии вводить эту строчку)

export GIT_PROXY_COMMAND=/bin/proxy_git.sh

Теперь запускаем git clone и наслаждаемся наблюдая как качается репозитарий… :)

[singlepic id=264 w=628 float=center]

Удачи!!! :)

21 August 2009, 20:33  
Рубрика: journal, softoкопательство  |  
Метки:   |  

Листинги патчей ;)


Хотите пропатчить? ;)

Вы должны быть залогинены что бы оставить патч.


  karina ©
2007-2010