Для обхода многочисленных ограничений, которые могут быть связаны с Вашим местоположением, можно воспользоваться технологией SOCKS. Что бы убедиться, что никто не следит за вашим трафиком, можно воспользоваться Wireguard VPN.
Но иногда, VPN требует установить специальное клиентское программное обеспечение на персональный компьютер или на смартфон, на что у Вас может не быть достаточно прав. В таком случае можно воспользоваться бесплатной альтернативой прокси-туннель SOCKS 5.
В этой статье мы рассмотрим как его установить в Docker контейнере, используя так же docker-compose.
Но для начала, нужно обновить пакеты ОС.
apt update
Установим необходимые пакеты, и добавим новый репозиторий:
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Обновим пакеты с новым репозиторием:
apt update
Теперь установим сам Docker.
apt-get install docker-ce docker-ce-cli containerd.io
Проверим версию:
docker --version
Проверим статус:
systemctl status docker
Если он не запустился, то запускаем:
systemctl start docker
И добавляем в автозапуск.
systemctl enable docker
Для данного проекта нам будет достаточно версии 1.25.
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Устанавливаем права на запуск.
chmod +x /usr/local/bin/docker-compose
Проверяем как установился Docker-Compose:
docker-compose --version
Добавляем пользователя Linux в группу docker:
usermod -aG docker $USER
Создадим файл *.yaml для Docker-Compose.
Что бы ориентироваться в будущем в том что у нас установлено, создадим отдельную папку для данного проекта в каталоге /home и перейдем в него.
mkdir /home/socks5 && cd /home/socks5
Вы так же можете использовать другую директорию для размещения этого и других проектов.
Воспользуемся репозиторием для создания файла docker-compose.yaml по ссылке https://hub.docker.com/r/xkuma/socks5
Создаем файл docker-compose.yaml или docker-compose.yml,
vim docker-compose.yaml
И добавляем в него следующий код:
version: "2.1"
services:
socks5:
image: olebedev/socks5
container_name: socks5_test
environment:
- PROXY_USER=your_user
- PROXY_PASSWORD=your_pass
ports:
- 1080:1080/tcp
restart: always
Где:
container_name: название Вашего контейнера;
PROXY_USER: пользователь;
PROXY_PASSWORD: пароль к пользователю
1080:1080/tcp: порт на котором будет работать SOCKS.
Запускаем скрипт (для этого нужно находиться в директории где создан наш файл. В данном случае это /home/socks5/):
docker-compose up -d
Дожидаемся скачивания образов, и развертывания.
Проверяем:
docker-compose ps
или
docker ps
Так же это можно сделать одной командой без использования docker compose.
docker run -d -p 1080:1080 -e PROXY_USER=your_user -e PROXY_PASSWORD=your_pass -e PROXY_SERVER=0.0.0.0:1080 xkuma/socks5
Теперь для подключения можете использовать логин и пароль с портом и IP Вашего сервера.
Что бы проверить и убедиться все ли верно настроено, можем воспользоваться ниже приведенной командой на другом сервере:
curl --socks5 your_user:[email protected]:1080 https://ifconfig.io
Если все верно настроено, то в ответ мы получим IP сервера на котором размещен наш SOCKS5.
Например, для подключения SOCKS5 в Telegram вводим:
Сервер/Хост: IP:1080
Пользователь: your_user
Пароль: your_pass
В браузерах, Google Chrome или Firefox можете воспользоваться дополнительными плагинами для подключения данного SOCKS5.
Безопасного Вам серфинга.