Я устанавливаю macports на Mac OS X и для извлечения двоичных файлов из репозитория используется протокол rsync. К сожалению, хранилище недоступно при прямом подключении с моей машины. Поэтому я запустил локальную прокси-программу (поддерживает http, https, ftp и socks) и теперь пытаюсь выяснить, как перенаправить соединение rsync через мой прокси. Есть кто-нибудь, кто знает об этом? Ура,
2 ответа
man rsync
твой друг.
Вы можете установить соединение через веб-прокси, установив для переменной среды RSYNC_PROXY пару host-name:port, указывающую на ваш веб-прокси. Обратите внимание, что конфигурация вашего веб-прокси должна поддерживать прокси-подключения к порту 873.
Таким образом, предполагая, что ваш прокси находится на порте 3128, RSYNC_PROXY=localhost:3128
должен делать то, что вам нужно.
Если вы используете squid для своего веб-прокси, добавьте две центральные линии в squid.conf (/etc/squid/squid.conf в большинстве систем unix или /opt/local/etc/squid/squid.conf в MacPorts):
acl SSL_ports port 443
acl SSL_ports port 873 # ADD THIS FOR RSYNC ACCESS
acl Safe_ports port 873 # ADD THIS FOR RSYNC ACCESS
acl CONNECT method CONNECT
Затем из оболочки (если это работает, вы можете посмотреть, как настроить ее постоянно), введите:
export RSYNC_PROXY=proxyhost:proxyport
Если ваш прокси-сервер требует пароль:
export RSYNC_PROXY=username:password@proxyhost:proxyport
Если вышеописанное невозможно установить, вы также можете попробовать это. Это требует, чтобы у вас был доступ через ssh к серверу, который может действовать как прокси.
export RSYNC_CONNECT_PROG='ssh tunnelhost nc %H 873'
На сервере ssh должен быть установлен «netcat», почти все это делают. Если нет, его можно установить, используя что-то похожее на:
Debian / Ubuntu:
apt-get install netcat
CentOS / RedHat
yum install nc