УВІЙТИ
    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.

    Безпечного Вам серфінгу.