# RSYNC & proxy

## keyF2

Проблема такова: система Gentoo 1.4 (stage3+бинарники с родного диска). Выхожу в и-нет из под прокси (squid). из открытых портов там только HTTP (3128). с установкой пакетов проблем не возникает (export http_proxy="http://x.x.x.x:3128/" && emerge package-name), а вот синхронизировать Portage не получается. В учебнике по Portage (с этого сайта) нашел такую штуку, что если сидишь под проксей HTTP-шной можно сделать export rsync_proxy="proxy-host:3128" и все будет работать. но не пашет. при запуске emerge rsync выдает 

>>> starting rsync with rsync://rsync.gentoo.org/gentoo-portage...

и висит пока не отрубишь по Ctrl-C. кто-нить встречался с такой проблемой?

----------

## ebrostig

I'm sorry for posting this in English, but I think I understand your problem and have a solution. Please ignore if I'm totally off and maybe someone else could translate into russian?

The environment variable for the rsync proxy needs to be in upper case to work:

export RSYNC_PROXY=....

and not

export rsync_proxy=....

Erik

----------

## keyF2

 *ebrostig wrote:*   

> 
> 
> export RSYNC_PROXY=....
> 
> and not
> ...

 

thanks, that was a solution!  :Smile:  but now "emerge sync" prints this:

```

>>> starting rsync with rsync://rsync.gentoo.org/gentoo-portage...

bad response from proxy - HTTP/1.0 403 Forbidden

rsync: failed to connect to x.x.x.x: Success

rsync error: error in socket IO (code 10) at clientserver.c(83)

 

>>> Starting retry 1 of 3

```

does it means that my proxy don't support rsync? what rsync is in general (may be some URLs about it?)?[/code]

----------

## Zoltan

Я так понимаю что rsync использует метод CONNECT http proxy. На некоторых прокси он бывает запрещен. Чтобы проверить, надо сделать так:

```
telnet x.x.x.x 3128

CONNECT www.gentoo.org:80 HTTP/1.0

<нажать Enter>

<нажать Enter еще раз>
```

в ответ дожно выдаться

```
HTTP/1.0 200 Connection established
```

.

Если выдалось что-то другое, то CONNECT запрещен, и rsync работать не будет. Вроде есть какой-то webrsync, то есть обновление через wget, но я и нем ничего не знаю.

Кстати, в отличие от http_proxy, RSYNC_PROXY надо устанавливать без префикса "http://", а просто "host:port".

----------

## keyF2

 *Zoltan wrote:*   

> Я так понимаю что rsync использует метод CONNECT http proxy. На некоторых прокси он бывает запрещен.
> 
> 

 

если сделать все как ты говоришь, выдает такую вот штуку....

```

HTTP/1.0 403 Forbidden

Server: Squid/2.4.STABLE7

Mime-Version: 1.0

Date: Fri, 09 Jan 2004 10:38:16 GMT

Content-Type: text/html

Content-Length: 693

Expires: Fri, 09 Jan 2004 10:38:16 GMT

X-Squid-Error: ERR_ACCESS_DENIED 0

X-Cache: MISS from x.x.x.x

X-Cache-Lookup: NONE from x.x.x.x:3128

Proxy-Connection: close

```

значит закрыто, а жаль  :Sad: 

 *Zoltan wrote:*   

> Кстати, в отличие от http_proxy, RSYNC_PROXY надо устанавливать без префикса "http://", а просто "host:port".

 

да у меня так и стоит, без префиксов... все равно не выходит...  :Sad: 

 *Zoltan wrote:*   

> Вроде есть какой-то webrsync, то есть обновление через wget, но я и нем ничего не знаю.
> 
> 

 

ладно, спасибо за наводку, буду искать в этом направлении.... может еще кто-нить подкинет идей как обойтись без "чистого" rsync?

----------

## Alehur

В настройках сквида в разрешенных портах есть rsync`овский? 873 кажется.

----------

## keyF2

 *Alehur wrote:*   

> В настройках сквида в разрешенных портах есть rsync`овский? 873 кажется.

 

ну видимо нащ админ его закрыл, а я с ним не настолько в  хороших отношениях чтобы он для меня сделал исключение и открыл его обратно  :Smile:  но так или иначе emerge-webrsync работает  :Smile:  так что проблема решилась...

Zoltan - TNX!

----------

## svyatogor

Для таких случаев есть emerge-webrsync - работает чисто через 80 порт.

----------

