Как использовать прокси SOCKS с конфеткой?

Попробуйте это:

perl -e 's/foo/bar/g;' -pi `egrep -l 'foo' $(find -type f)`

Это ищет регулярное выражение и возвращается на именах файлов, где это найдено. Затем Perl будет воздействовать только на те файлы.

12
27.10.2016, 21:01
6 ответов

tsocks приложение может socksify любые приложения

tsocks app args
3
27.01.2020, 19:54
  • 1
    Потрясающий, это уже доступно в репозиториях Fedora по умолчанию - через Google, я просто нашел 'socksify' (dante клиент носков), который не доступен - и не работает над Fedora 17 при компиляции из источника. IP –  maxschlepzig 21.07.2012, 21:36
  • 2
    Как использовать его точно? –  Chani 25.11.2014, 10:58
  • 3
    tsocks является устаревшим, последнее обновление вернулось к 2002. Это не может socksify конфетка/завихрение в наше время. Использовать dante вместо этого. Его команда socksify app args, похожий с tsocks. (и как то же как tsocks.conf для команды tsocks, Вам также нужен socks.conf для команды socksify). Однако к socksify yum, Я повторно управляю ответом @Klaus. Измените/etc/yum.conf, лучше. –  Bruce 19.01.2018, 23:17

Как указано enzitib,tsocks может использоваться для использования прокси SOCKS с yum.

Чтобы быть более подробным, можно использовать его как это:

$ export TSOCKS_CONF_FILE=$HOME/.tsocks.conf
$ cat .tsocks.conf
server = 127.0.0.1
server_port = 1080
$ tsocks yum ...

По умолчанию tsocks использует версию 4 SOCKS - но можно настроить 5 с помощью 'server_type' директивы. Для опций пользователя/пароля существуют директивы 'default_user'/'default_pas и переменные среды TSOCKS_USERNAME/TSOCKS_PASSWORD.

7
27.01.2020, 19:54

Proxychaines также хороший вариант для Вас!

сначала загрузите его и установите Вашу информацию о носках в proxychains.conf файл и входит proxyxhanes перед любой командой, что Вы хотите прокси носков использования!

1
27.01.2020, 19:54

Добавьте эту строку к /etc/yum. conf и убедитесь, что используете ожидаемый протокол (не http):

...    
proxy=socks5h://localhost:1080
...
1
27.01.2020, 19:54

Добавьте эту строку в /etc/yum.conf (идея пришла из сообщения от DaPillow)

proxy=socks5://ip:port

В случае необходимости разрешения имени хоста через прокси, благодаря Дэнни из комментариев это бы сработало:

proxy=socks5h://ip:port

Это сработало на мне, используя yum 3.4.3 на Fedora 21.

16
27.01.2020, 19:54

Я использую CentOS6.x с yum -3.2.29 -81, curl/libcurl 7.19.7 -53 и имею ту же проблему. У меня есть серверы yum за брандмауэром, и я хочу использовать yum поверх настройки прокси-сервера SOCKS5 с использованием ssh. В идеале я хочу сделать это, не требуя tsocks, proxychains или любых других утилит «socksification».

Я устанавливаю соединение SOCKS5 с помощью:

ssh -D 40000 dmz-server

Я порылся в исходниках yum python и увидел, что они используют pycurl, который обертывает libcurl (также обратите внимание, что все переменные среды прокси --http _proxy, HTTP _PROXY, все _proxy, ВСЕ _ПРОКСИ и т. д. --были изначально не определены ). Кроме того, я убедился, что ~/.curlrc был пуст, поэтому результаты моего теста не испортились.

Я хотел посмотреть, смогу ли я заставить curl разговаривать через прокси socks5:

curl --socks5 127.0.0.1:40000 http://some-server/some-url

успешно вернул удаленную веб-страницу, так что это был хороший знак, --показывающий, что libcurl может использовать прокси-серверы SOCKS5. Однако определение переменной окружения

http_proxy=socks5://127.0.0.1:40000 

не хватило:

http_proxy=socks5://127.0.0.1:40000 curl http://some-server/some-url

не удалось.

В этот момент я переключился на использование тестовой программы Python test.py:

import pycurl
import sys
sys.stderr.write("Testing %s\n" % pycurl.version)
c = pycurl.Curl()
c.setopt(c.URL, 'http://some-server/some-url')
c.setopt(c.WRITEFUNCTION, sys.stdout.write)
c.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)
c.perform()
c.close()

Теперь бегом

./test.py

не удастся получить, но работает

http_proxy=socks5://127.0.0.1:40000./test.py

будет успешно получать http ://какой-то -сервер/некоторый -url . Так что мне кажется, что эта (по общему признанию древняя )комбинация yum/libcurl, поставляемая с CentOS6, неправильно устанавливает тип прокси в libcurl. Я думаю, что происходит то, что PROXYTYPE по умолчанию использует стандартный HTTP-прокси вместо идентификации socks5 :// схемы в URL-адресе, указанном в переменной окружения http _proxy .

В любом случае,следующий патч к /usr/lib/python2.6/site -packages/urlgrabber/grabber.py помог мне получить доступ к http :// репозиториям yum через прокси-сервер SOCKS5. Внутри PyCurlFileObject #_установите _opts (self, opts={} ), добавьте:

if self.scheme == 'http':
  proxy = os.getenv('http_proxy') or os.getenv('HTTP_PROXY') or os.getenv('all_proxy') or os.getenv('ALL_PROXY')
  if proxy and proxy.find("socks5://") != -1:
    self.curl_obj.setopt(pycurl.PROXYTYPE, pycurl.PROXYTYPE_SOCKS5)

вокруг строки 1205, прямо перед

# ssl options
if self.scheme == 'https':

С этим изменением

http_proxy=socks5://127.0.0.1:40000 yum install <package_name>

успешно подключается ко всем моим репозиториям http :// yum по другую сторону брандмауэра через ssh-прокси SOCKS5.

Конечно, можно экспортировать переменную окружения http _proxy внутри оболочки, чтобы не указывать ее перед каждым вызовом yum .

5
27.01.2020, 19:54

Теги

Похожие вопросы