ВОЙТИ
    Для обхода многочисленных ограничений, которые могут быть связаны с Вашим местоположением, можно воспользоваться технологией SOCKS. Что бы убедиться, что никто не следит за вашим трафиком, можно воспользоваться Wireguard VPN.

    Но иногда, VPN требует установить специальное клиентское программное обеспечение на персональный компьютер или на смартфон, на что у Вас может не быть достаточно прав. В таком случае можно воспользоваться бесплатной альтернативой прокси-туннель SOCKS 5.

    В этой статье мы рассмотрим как его установить в 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

    Проверим статус:

    systemctl status docker


    Если он не запустился, то запускаем:

    systemctl start docker
    

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

    systemctl enable docker
    



    Установим 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
    


    Добавляем пользователя 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.

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