Создаем socks прокси-сервер с помощью openssh

Давай создадим несколькими командами прокси-сервер и поделимся им знакомыми, чтобы они могли его использовать для обхода блокировок.

Настройка сервера

На сервере нам необходим лишь OpenSSH из сервисов.

Сначала создадим юзера и отключим ему шелл (ведь нам нужно лишь пробросить порт, в шелле необходимости нет):

# adduser socksuser --shell=/bin/false

Далее откроем порт, который будет светить наружу:

# ssh -N -D 0.0.0.0:58923 socksuser@localhost

Вместо 58923 можно указать любую цифру от 1 до 65535.

Лучше, конечно, запускать эту команду сразу через tmux/screen, т.к. после закрытия консоли сервис отвалится.
Приведу на всякий случай пример с tmux:

# tmux new-session -d -s "socksserver" "ssh -N -D 0.0.0.0:58923 socksuser@localhost" && tmux a

Всё, серверная часть готова.

Но имей в виду, что в такой конфигурации порт 58923 будет доступен для всех и без авторизации!

Настраиваем клиенты

Тут всё просто. Почти в любой современной программе есть настройки proxy. Необходимо найти настройку с SOCKS5 и вписать туда внешний адрес твоего сервера и порт 58923. Либо вообще настроить прозрачный socks-прокси для всей системы глобально.

Google chrome

Простой способ

Можно установить расширение SwitchyOmega, добавить туда настройки прокси и использовать его по мере необходимости.

Сложный способ

В Google Chrome можно указать настройки прокси и без расширения, через аргумент командной строки –proxy-server. Приведу примеры запуска Google Chrome для Linux/MacOS/Windows.

Linux:

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="socks5://ВНЕШНИЙ_IP:58923"

MacOS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="socks5://ВНЕШНИЙ_IP:58923"

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="socks5://ВНЕШНИЙ_IP:58923"

Пути к бинарному файлу ес-но могут отличаться. Будет создан новый профиль браузера proxy-profile. Если необходим уже существующий - укажи его имя вместо proxy-profile.

Firefox

В отличии от Google Chrome в лисе проксик можно прописать непосредственно в настройках (раздел Network settings):

Но лучше поставить расширение FoxyProxy и иметь быструю возможность включать и выключать проксю (и не одну) не залезая каждый раз в дебри настроек.