Chaining proxy (ssh)
В своё время не мог найти информацию, как сделать цепочку из нескольких прокси, поэтому держите небольшой мануал.
Пусть первую прокси нам предоставит tor, так и напишем в консоль
tor
Видим, что запущен сокс листенер на стандартном порту 9050
Opened Socks listener connection (ready) on 127.0.0.1:9050
Затем добавляем в нашу цепочку второе звено, которое мы сделаем из ssh-доступа:
ssh -o ProxyCommand='nc -X4 -x 127.0.0.1:9050 %h %p' -D 0.0.0.0:8899 root@11.111.111.11
8899 - порт, на котором будет новый листенер этой цепочки;
root и 11.111.111.11 - пользователь и ip нашего ssh;
Вводим пароль от пользователя root иии..
Мы сделали цепочку из двух проксей, где первое звено - тор, второе - ssh, к которому мы подключились через тор. Адрес нашей финальной прокси: 127.0.0.1:8899
Далее в эту цепь можно по аналогии бесконечно добавлять новые звенья.
Можно опять засунуть туда тор, запущенный с новым конфигом torrc:
SOCKSPort 8877 Socks5Proxy 10.0.0.1:8899
где 8877 - новый конечный порт цепочки
а чтобы запустить tor с кастомным конфигом torrc используем ключ -f
tor -f /path/to/torrc
Либо можно добавить еще одну ssh-прокси
ssh -o ProxyCommand='nc -X4 -x 127.0.0.1:8899 %h %p' -D 0.0.0.0:8877 root@22.222.222.22
P.S. Если вдруг вам зачем-то нужно будет это все автоматизировать, то можно юзать sshpass, чтобы не вводить пароль от ssh вручную.
P.P.S. Чтобы убить плохой процесс тора, пишем сперва
lsof -i tcp:9050
чтобы узнать PID процесса tor, и затем убиваем его командой
kill 85065