opened image

Как установить SOCKS5 в Docker

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

В этой статье мы рассмотрим как его установить в Docker контейнере, используя так же docker-compose.
 

Установим Docker. 

Но для начала, нужно обновить пакеты ОС. 
 

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

 


Как установить SOCKS5 в Docker - 1Проверим статус:

 

 

 

 

systemctl status docker

 


Как установить SOCKS5 в Docker - 2
Если он не запустился, то запускаем:

 

 

 

 

systemctl start docker

 


И добавляем в автозапуск.

 

 

 

 

systemctl enable docker

 


Как установить SOCKS5 в Docker - 3

 

 

 

Установим Docker-Compose


Для данного проекта нам будет достаточно версии 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

 


Как установить SOCKS5 в Docker - 4
Добавляем пользователя 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

 


Как установить SOCKS5 в Docker - 5
Так же это можно сделать одной командой без использования 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:your_pass@192.168.0.100:1080 https://ifconfig.io

 


Если все верно настроено, то в ответ мы получим IP сервера на котором размещен наш SOCKS5.


Например, для подключения SOCKS5 в Telegram вводим:

Сервер/Хост: IP:1080
Пользователь: your_user
Пароль: your_pass

Как установить SOCKS5 в Docker - 6
В браузерах, Google Chrome или Firefox можете воспользоваться дополнительными плагинами для подключения данного SOCKS5.

Безопасного Вам серфинга.