ВОЙТИ
    opened image

    Для обхода многочисленных ограничений, которые могут быть связаны с Вашим местоположением, можно воспользоваться технологией 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.

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