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

Для цього проекту нам буде достатньо версії 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:your_pass@192.168.0.100:1080 https://ifconfig.io
Якщо все правильно налаштовано, то у відповідь ми отримаємо IP сервера, на якому розміщено наш SOCKS5.
Наприклад, для підключення SOCKS5 в Telegram вводимо:
Сервер/Хост: IP:1080
Користувач: your_user
Пароль: your_pass

В браузерах, Google Chrome або Firefox можете скористатися додатковими плагінами для підключення цього SOCKS5.
Безпечного Вам серфінгу.