opened image

Як встановити SOCKS5 у Docker

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

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