opened image

Jak zainstalować SOCKS5 w Dockerze

Aby obejść liczne ograniczenia, które mogą być związane z Twoją lokalizacją, można skorzystać z technologii SOCKS. Aby upewnić się, że nikt nie śledzi Twojego ruchu, można skorzystać z Wireguard VPN.

Jednak czasami VPN wymaga zainstalowania specjalnego oprogramowania klienckiego na komputerze osobistym lub smartfonie, na co możesz nie mieć wystarczających uprawnień. W takim przypadku można skorzystać z bezpłatnej alternatywy, jaką jest proxy-tunel SOCKS 5.

W tym artykule omówimy, jak go zainstalować w kontenerze Docker, używając również docker-compose.
 

Zainstalujemy Docker. 

Ale najpierw musimy zaktualizować pakiety systemu operacyjnego. 
 

apt update

Zainstalujemy niezbędne pakiety i dodamy nowe repozytorium:
 

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"


Zaktualizujemy pakiety z nowym repozytorium:

 

 

 

apt update

 

Teraz zainstalujemy sam Docker.

 

 

 

 

apt-get install docker-ce docker-ce-cli containerd.io

 

Sprawdzimy wersję:

 

 

 

 

docker --version

 


Sprawdzimy status:

 

 

 

 

systemctl status docker

 



Jeśli nie uruchomił się, uruchamiamy go:

 

 

 

 

systemctl start docker

 


I dodajemy do autostartu.

 

 

 

 

systemctl enable docker

 


 

 

 

Zainstalujemy Docker-Compose


Dla tego projektu wystarczy wersja 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

 

Ustawiamy prawa do uruchamiania. 

 

 

 

 

chmod +x /usr/local/bin/docker-compose

 

Sprawdzamy, jak zainstalował się Docker-Compose:

 

 

 

 

docker-compose --version

 



Dodajemy użytkownika Linux do grupy docker:

 

 

 

 

usermod -aG docker $USER

 


Utworzymy plik *.yaml  dla Docker-Compose.

Aby w przyszłości orientować się w tym, co mamy zainstalowane, utworzymy osobny folder dla tego projektu w katalogu /home i przejdziemy do niego.

 

 

 

 

mkdir /home/socks5 && cd /home/socks5

 


Możesz również użyć innego katalogu  do umieszczenia tego i innych projektów. 

Skorzystamy z repozytorium, aby utworzyć plik docker-compose.yaml pod tym linkiem https://hub.docker.com/r/xkuma/socks5

Tworzymy plik docker-compose.yaml lub docker-compose.yml,

 

 

 

 

vim docker-compose.yaml

 


I dodajemy do niego następujący kod:

 

 

 

 

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

 


Gdzie:

container_name: nazwa Twojego kontenera;
PROXY_USER: użytkownik;
PROXY_PASSWORD: hasło do użytkownika
1080:1080/tcp: port, na którym będzie działać SOCKS.

Uruchamiamy skrypt (w tym celu musimy znajdować się w katalogu, w którym utworzyliśmy nasz plik. W tym przypadku to /home/socks5/):

 

 

 

 

docker-compose up -d 

 


Czekamy na pobranie obrazów i wdrożenie.
Sprawdzamy:

 

 

 

 

docker-compose ps

 


lub 

 

 

 

 

docker ps

 



Można to również zrobić jednym poleceniem bez użycia 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

 


Teraz do połączenia możesz użyć loginu i hasła z portem i IP Twojego serwera. 

Aby sprawdzić i upewnić się, że wszystko jest poprawnie skonfigurowane, możemy skorzystać z poniższego polecenia na innym serwerze:

 

 

 

 

curl --socks5 your_user:[email protected]:1080 https://ifconfig.io

 


Jeśli wszystko jest poprawnie skonfigurowane, w odpowiedzi otrzymamy IP serwera, na którym znajduje się nasz SOCKS5.


Na przykład, aby połączyć się z SOCKS5 w Telegramie, wpisujemy:

Serwer/Gospodarz: IP:1080
Użytkownik: your_user
Hasło: your_pass


W przeglądarkach, Google Chrome lub Firefox możesz skorzystać z dodatkowych wtyczek do połączenia z tym SOCKS5.

Bezpiecznego surfowania.