Давай создадим несколькими командами прокси-сервер и поделимся им знакомыми, чтобы они могли его использовать для обхода блокировок.
Сначала создадим юзера и отключим ему шелл (ведь нам нужно лишь пробросить порт, в шелле необходимости нет):
Далее откроем порт, который будет светить наружу:
Вместо 58923 можно указать любую цифру от 1 до 65535.
Лучше, конечно, запускать эту команду сразу через tmux/screen, т.к. после закрытия консоли сервис отвалится.
Приведу на всякий случай пример с tmux:
Всё, серверная часть готова.
Но имей в виду, что в такой конфигурации порт 58923 будет доступен для всех и без авторизации!
Linux:
MacOS:
Windows:
Пути к бинарному файлу ес-но могут отличаться. Будет создан новый профиль браузера proxy-profile. Если необходим уже существующий - укажи его имя вместо proxy-profile.
Но лучше поставить расширение FoxyProxy и иметь быструю возможность включать и выключать проксю (и не одну) не залезая каждый раз в дебри настроек.
Настройка сервера
На сервере нам необходим лишь OpenSSH из сервисов.Сначала создадим юзера и отключим ему шелл (ведь нам нужно лишь пробросить порт, в шелле необходимости нет):
Код:
# adduser socksuser --shell=/bin/false
Код:
# ssh -N -D 0.0.0.0:58923 socksuser@localhost
Лучше, конечно, запускать эту команду сразу через 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"
Код:
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
--user-data-dir="$HOME/proxy-profile" \
--proxy-server="socks5://ВНЕШНИЙ_IP:58923"
Код:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
--user-data-dir="%USERPROFILE%\proxy-profile" ^
--proxy-server="socks5://ВНЕШНИЙ_IP:58923"
Firefox
В отличии от Google Chrome в лисе проксик можно прописать непосредственно в настройках (раздел Network settings):
Но лучше поставить расширение FoxyProxy и иметь быструю возможность включать и выключать проксю (и не одну) не залезая каждый раз в дебри настроек.