# SOCKS5-проксі: протокол і як ним користуватися | ProxyJam

Що таке SOCKS5, чим він відрізняється від HTTP-проксі, коли важливий віддалений DNS і як перемкнути статичний ISP-проксі ProxyJam на SOCKS5 і підключитися з портом та обліковими даними, які потім покаже замовлення.

- Canonical: https://proxyjam.com/uk/socks5-proxies/
- Updated: 2026-10-23
- Language: uk

SOCKS5 є проксі-протоколом транспортного рівня: він відкриває з'єднання від вашого імені й передає байти, не читаючи й не переписуючи того, що всередині. Кожен статичний ISP-проксі, який ми продаємо, можна перемкнути між HTTP і SOCKS5 на замовленні, яке у вас уже є.

Перемикання протоколу не робить проксі іншим продуктом: ви перемикаєте проксі, який у вас уже є, у панелі керування або через API, і замовлення оновлюється новим портом та обліковими даними для підключення.


SOCKS5 є проксі-протоколом, а не видом адреси: він ретранслює TCP-з'єднання, не читаючи й не переписуючи того, що всередині. Кожен статичний резидентний (ISP) проксі, який продає ProxyJam, працює через HTTP, який переносить HTTPS, або через SOCKS5, і ви перемикаєтеся між ними на замовленні, яке у вас уже є; після перемикання підключайтеся з портом та обліковими даними, які показує замовлення.


## Що відбувається між вашим клієнтом і нашим проксі

Три короткі обміни, і в жодному з них проксі не потрібно розуміти ваш трафік.

1. **Ваш клієнт вітається з проксі й домовляється про автентифікацію.** Він пропонує методи, які підтримує; проксі називає той, що йому потрібен. На наших адресах це логін і пароль або взагалі нічого, якщо замість цього ви внесли свій IP до білого списку.
2. **Ваш клієнт запитує адресу призначення.** Хост і порт, передані або як адреса, або як ім'я. Передавання імені і є цікавим випадком: проксі сам його резолвить, тож DNS-запит іде з мережі проксі, а не з вашої.
3. **Далі проксі просто передає байти.** Він не розбирає корисне навантаження, не додає заголовків і не знає, що несе: вебсторінку, сесію бази даних чи передавання пошти. Саме через цю байдужість і варто обирати SOCKS5 замість HTTP-проксі.

## Для тих, хто вирішує, на який протокол спрямувати клієнт

### Розробники

На який протокол спрямувати клієнт і яку схему, socks5 чи socks5h, указати в ньому після перемикання проксі.

### Оператори

На який протокол спрямувати клієнт і як перемкнути наявний проксі в панелі керування або через API.


## Переведення проксі ProxyJam на SOCKS5

1. **Перемкніть сам проксі** У панелі керування або одним викликом API на замовленні; змінити лише клієнт недостатньо. Під час перемикання проксі може бути ненадовго недоступний.
2. **Скопіюйте порт, логін і пароль, які замовлення показує після перемикання** Не використовуйте повторно значення, з якими ви підключалися через HTTP.
3. **Вкажіть схему в клієнті** `socks5h://USERNAME:PASSWORD@HOST:PORT`, щоб імена хостів резолвив проксі, або `socks5://`, щоб резолвити їх на своєму боці.
4. **Перевірте з термінала, перш ніж чіпати код** `curl -x socks5h://USERNAME:PASSWORD@HOST:PORT https://example.com/`.
5. **Встановіть SOCKS-доповнення в Python** У Python бібліотеці requests потрібне її SOCKS-доповнення, `pip install requests[socks]`, перш ніж запрацює проксі-URL виду `socks5h://`.

## Спершу підключіться, потім змініть схему

Приклади нижче підключаються через HTTP, протокол, з якого починається замовлення. Щоб використовувати SOCKS5, спершу перемкніть сам проксі в панелі керування або одним викликом API; після цього замовлення показує порт та облікові дані, якими треба користуватися далі. У клієнті змініть схему на socks5 або на socks5h, якщо хочете, щоб ім'я хоста резолвив проксі, з цим портом і цими обліковими даними; для цього Python потрібен requests[socks], а Node.js SOCKS-агент замість HTTPS-агента.

### Python

Надішліть запит через ваш проксі за допомогою Python requests.

```
import requests

# HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
proxy = "http://USERNAME:PASSWORD@HOST:PORT"

proxies = {
    "http": proxy,
    "https": proxy,
}

response = requests.get(
    "https://example.com/",
    proxies=proxies,
)

print(response.status_code)
```

### cURL

Одна команда, щоб надіслати запит через ваш проксі.

```
# HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
curl -x http://USERNAME:PASSWORD@HOST:PORT \
     https://example.com/
```

### Node.js

Спрямуйте axios через ваш проксі в кілька рядків.

```
import axios from "axios";
import { HttpsProxyAgent } from "https-proxy-agent";

// HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
const proxy = "http://USERNAME:PASSWORD@HOST:PORT";
const agent = new HttpsProxyAgent(proxy);

const response = await axios.get(
  "https://example.com/",
  {
    httpAgent: agent,
    httpsAgent: agent,
  },
);

console.log(response.status);
```

### Go

Налаштуйте http.Transport з вашим проксі й надішліть запит.

```
package main

import (
    "fmt"
    "net/http"
    "net/url"
)

func main() {
    // HOST, PORT, USERNAME, PASSWORD come with your order (dashboard or API)
    proxy, _ := url.Parse(
        "http://USERNAME:PASSWORD@HOST:PORT")

    client := &http.Client{Transport: &http.Transport{
        Proxy: http.ProxyURL(proxy),
    }}

    res, _ := client.Get("https://example.com/")
    fmt.Println(res.Status)
}
```


## SOCKS5 і HTTP-проксі: що кожен переносить і що бачить проксі

|  | HTTP-проксі | HTTPS через CONNECT | SOCKS5 |
|---|---|---|---|
| Що може переносити | Лише HTTP-запити | TCP-тунель до названих хоста й порту | Будь-який TCP-потік |
| Чи читає проксі корисне навантаження | Так, він розбирає запит | Ні, після відкриття тунелю | Ні, на жодному етапі |
| Чи може він змінити ваші заголовки | Так, він їх пересилає і може додати свої, наприклад Via | Ні, після відкриття тунелю | Ні, він не має поняття заголовка |
| Де резолвиться ім'я хоста | На проксі | На проксі, бо CONNECT називає хост | На ваш вибір, на будь-якому з боків |
| Типова підтримка в клієнтах | Повсюдна в HTTP-інструментах | Повсюдна в HTTP-інструментах | Поширена в інструментах командного рядка; деяким бібліотекам потрібен додатковий пакет |
| Найкраще підходить для | Простих вебзапитів | Звичайного перегляду та скрейпінгу через HTTPS | Не-веб протоколів і змішаного трафіку |

Проксі ProxyJam працює через HTTP, який переносить HTTPS через CONNECT, або через SOCKS5, що перемикається на замовленні. Вибір залежить від того, що має надсилати ваш клієнт.


## Що SOCKS5 дає на наших адресах

- **Протокол:** SOCKS5 або HTTP (який переносить HTTPS), перемикається на замовленні
- **Автентифікація:** Логін і пароль або білий список IP
- **Адреса, яку бачить ціль:** Статична ISP-адреса в мережі названого оператора
- **Вибір оператора:** Названих операторів у США: 19; в інших країнах перелік коротший
- **Охоплення:** 77 країн у каталозі, у кожної названо оператора
- **Ротація:** Немає: адреса не змінюється протягом періоду
- **Одночасні сесії:** 100 на проксі, 10 після 50 ГБ на місяць
- **Облік трафіку:** За IP за період; передавання даних не обліковується в жодному протоколі

## Запитання про SOCKS5

Відповіді нижче називають умови, на яких ми продаємо, і кожна відповідь, де їх названо, посилається на документ, що нас ними зобов'язує.

### Що таке SOCKS5-проксі?

SOCKS5 є проксі-протоколом, визначеним у RFC 1928, що працює на транспортному рівні. Ваш клієнт просить проксі відкрити з'єднання з хостом і портом, проксі його відкриває і відтоді пересилає байти в обидва боки, не інтерпретуючи їх. Оскільки він ніколи не розбирає того, що несе, він не обмежений вебтрафіком: через нього може пройти все, що працює поверх TCP.

### Чим він відрізняється від HTTP-проксі?

HTTP-проксі розуміє HTTP. Він читає рядок запиту й заголовки та вільний додавати, видаляти чи переписувати їх, тому деякі проксі непомітно повідомляють про себе в заголовку, якого ви не задавали. SOCKS5 узагалі не має поняття заголовка: він бачить адресу призначення й потік байтів. Якщо ваш трафік не HTTP або ви хочете, щоб ніщо посередині не могло його правити, обирайте SOCKS5.

### Чи шифрує SOCKS5 мій трафік?

Ні, як і HTTP-проксі. SOCKS5 автентифікує вас на проксі й потім пересилає байти. Специфікація дозволяє методу автентифікації додати власний захист, але автентифікація за логіном і паролем (RFC 1929) надсилає пароль відкритим текстом і нічого після нього не захищає. Якщо всередині йде HTTPS або SSH, трафік уже зашифрований із кінця в кінець, і проксі не може його прочитати. Якщо трафік усередині відкритий, він лишається відкритим, тож не вважайте SOCKS5 шаром шифрування.

### Що робить socks5h такого, чого не робить socks5?

Він переносить DNS-запит. Із socks5 ваш клієнт резолвить ім'я хоста локально й просить проксі підключитися до отриманої адреси. Із socks5h ваш клієнт надсилає ім'я, і його резолвить проксі. Це важливо у двох відношеннях: ваш власний резолвер ніколи не бачить, які хости ви відвідуєте, і ви отримуєте ту відповідь, яку отримує мережа проксі, а для хоста, відповідь якого залежить від географії, вона часто відрізняється від відповіді, яку ви отримали б удома.

### Чи підтримує він UDP?

UDP ASSOCIATE є в RFC 1928; чи реалізує його конкретний клієнт або сервер, буває по-різному, тож перевіряйте обидва боки, а не припускайте. Ми не публікували підтримку UDP для наших проксі, тож розраховуйте на TCP і запитайте підтримку, перш ніж будувати щось, що залежить від UDP.

### Чи потрібен інший проксі, щоб користуватися SOCKS5?

Ні. Ви перемикаєте наявний проксі між HTTP, який також переносить HTTPS, і SOCKS5 у панелі керування або одним викликом API на тому самому замовленні. Це не лише налаштування клієнта: перемикання виконується на проксі, замовлення оновлюється новим протоколом, портом та обліковими даними, а поки це відбувається, проксі може бути ненадовго недоступний. Проксі лишається вашим увесь оплачений період, його безкоштовно замінюють, якщо він перестає відповідати або заблокований на названій вами цілі, до 20 % замовлення за календарний місяць, а на перше замовлення діє повернення протягом 24 годин, що покриває до 10 IP і не скасовується перевіркою.


## HTTP чи SOCKS5?

Лишайтеся на HTTP, коли ви надсилаєте лише вебтрафік і ваші інструменти вже вміють працювати з HTTP-проксі. Перемикайтеся на SOCKS5, коли клієнту треба переносити щось, що не є HTTP, або коли ви хочете, щоб імена хостів резолвилися на проксі й ніщо посередині не могло правити ваші заголовки. У будь-якому разі це той самий продукт, який замовляють на сторінці [ISP-проксі](/uk/isp-proxies/) і який описано також як [статичні резидентні проксі](/uk/static-residential-proxies/), без окремого замовлення й без плати за перемикання. Питання з налаштування розібрано в [FAQ](/uk/faq/). Кількість операторів і країн на цій сторінці береться зі знімка каталогу, за яким збирається сайт, як описує наша [редакційна політика](/uk/editorial-policy/).



## Джерела

- [RFC 1928, SOCKS Protocol Version 5](https://www.rfc-editor.org/rfc/rfc1928): специфікація 1996 року, узгодження автентифікації, команди CONNECT, BIND і UDP ASSOCIATE та адреси призначення у вигляді доменних імен чи адрес IPv6
- [RFC 1929, Username/Password Authentication for SOCKS V5](https://www.rfc-editor.org/rfc/rfc1929): метод входу, який надсилає пароль відкритим текстом
- [RFC 9110, HTTP Semantics](https://www.rfc-editor.org/rfc/rfc9110): розділ 9.3.6, запит CONNECT називає хост і порт призначення, і проксі відкриває тунель до них
- [curl man page](https://curl.se/docs/manpage.html): `--socks5` резолвить ім'я хоста локально, `--socks5-hostname` дає змогу резолвити його проксі
- [Everything curl, SOCKS proxy](https://everything.curl.dev/usingcurl/proxies/socks.html): `socks5://` і `socks5h://` у проксі-URL і те, який бік резолвить ім'я хоста
- [OpenBSD manual, ssh(1)](https://man.openbsd.org/ssh): `-D` налаштовує локальне динамічне переадресування портів, за якого ssh працює як сервер SOCKS4 і SOCKS5, а `-N` переадресовує порти без виконання віддаленої команди




SOCKS5 переносить усе, для чого ваш клієнт може відкрити TCP-з'єднання, зокрема трафік, який HTTP-проксі переслати не може, і передає байти незмінними. Тому він стає природним вибором для клієнта бази даних, SSH-сесії чи будь-якого інструмента, який не розмовляє HTTP. Одного він не робить: не змінює того, чим є адреса. Проксі-протоколом розмовляють ваш клієнт і проксі; сайт на дальньому кінці бачить з'єднання з адреси проксі плюс будь-які заголовки, які вирішив додати HTTP-проксі. Тож варто питати не про те, який протокол купити, а про те, якій мережі належить адреса, і тут відповідь така: названому інтернет-провайдеру, а в США їх 19.

## Що кажуть специфікації

SOCKS версії 5 було опубліковано 1996 року як [RFC 1928](https://www.rfc-editor.org/rfc/rfc1928), протокол для проходження крізь файрволи, який розширив SOCKS версії 4 підтримкою UDP, рамками для методів автентифікації та адресами призначення у вигляді доменних імен чи адрес IPv6. Клієнт пропонує методи автентифікації, які підтримує, і сервер обирає один; потім клієнт запитує вихідне з'єднання (CONNECT), порт для прослуховування (BIND) або ретрансляцію UDP (UDP ASSOCIATE). Вхід за логіном і паролем описано у власній короткій специфікації, [RFC 1929](https://www.rfc-editor.org/rfc/rfc1929), яка надсилає пароль відкритим текстом, тож там, де це важливо, тримайте трафік усередині тунелю зашифрованим.

Саме тим, чи передається доменне ім'я, і різняться схеми socks5 і socks5h. [Посібник curl](https://curl.se/docs/manpage.html) описує `--socks5` як використання проксі, але «resolve the hostname locally» (з локальним резолвінгом імені хоста), а `--socks5-hostname` як варіант, за якого «the proxy resolve the hostname» (ім'я хоста резолвить проксі). У проксі-URL `socks5://` дає першу поведінку, а `socks5h://` другу, як показує таблиця в [Everything curl](https://everything.curl.dev/usingcurl/proxies/socks.html). HTTP-проксі, що переносить HTTPS, зазвичай отримує ім'я: запит CONNECT називає хост і порт призначення, і проксі відкриває тунель до них ([RFC 9110](https://www.rfc-editor.org/rfc/rfc9110), розділ 9.3.6). Ретрансляція UDP входить до специфікації SOCKS5, але реалізації в ній розходяться; що це означає для наших проксі, сказано в FAQ нижче.

## SOCKS5 через SSH

Якщо у вас уже є SSH-доступ до сервера, ви маєте SOCKS5-проксі без жодної покупки. `ssh -N -D 1080 user@server` налаштовує те, що [посібник OpenBSD щодо ssh](https://man.openbsd.org/ssh) називає локальним «dynamic» (динамічним) переадресуванням портів на рівні застосунків. ssh слухає порт 1080 на вашій машині й «will act as a SOCKS server» (працює як SOCKS-сервер), переносячи кожне з'єднання зашифрованим SSH-каналом і відкриваючи його з віддаленої машини. `-N` обмежує його переадресуванням, без віддаленої оболонки. Спрямуйте клієнт на `socks5h://127.0.0.1:1080`, і його трафік виходитиме із сервера.

Відмінність від купленого SOCKS5-проксі в тому, де з'єднання виходить назовні. Через SSH-тунель сайт на дальньому кінці бачить адресу SSH-сервера і мережу, якій цей сервер належить, а в орендованого сервера це зазвичай мережа хостинг-компанії. SSH шифрує ділянку між вами й сервером; від сервера до сайту трафік лишається таким, яким він уже був. Проксі ProxyJam, перемкнений на SOCKS5, виходить з адреси в мережі названого інтернет-провайдера, обраного за країною та оператором під час оформлення замовлення. Ви підключаєтеся до нього напряму з портом та обліковими даними із замовлення, без SSH посередині й без власного сервера, який треба підтримувати.

Тож вони відповідають на різні запитання. Тунель через SSH випускає трафік із машини, яку ви вже контролюєте. SOCKS5-проксі на ISP-адресі потрібен для роботи, де важлива сама вихідна адреса, тобто те, яку мережу показує її перевірка.

