Для обходу численних обмежень, які можуть бути пов'язані з Вашим місцезнаходженням, можна скористатися технологією SOCKS. Щоб впевнитися, що ніхто не стежить за вашим трафіком, можна скористатися Wireguard VPN.
Але іноді VPN вимагає встановити спеціальне клієнтське програмне забезпечення на персональний комп'ютер або на смартфон, на що у Вас може не бути достатньо прав. У такому випадку можна скористатися безкоштовною альтернативою проксі-тунелю SOCKS 5.
У цій статті ми розглянемо, як його встановити в 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:[email protected]:1080 https://ifconfig.io
Якщо все правильно налаштовано, то у відповідь ми отримаємо IP сервера, на якому розміщено наш SOCKS5.
Наприклад, для підключення SOCKS5 в Telegram вводимо:
Сервер/Хост: IP:1080
Користувач: your_user
Пароль: your_pass
В браузерах, Google Chrome або Firefox можете скористатися додатковими плагінами для підключення цього SOCKS5.
Безпечного Вам серфінгу.