Walang opsyon sa SOCKS ang aplikasyon, ngunit makakonekta ito sa piniling TCP address. Ang adapter na may fixed na target ay makapagbibigay ng usapan sa SOCKS para sa isang destinasyon. Hindi nito kailangang maging isa pang pangkalahatang forward proxy.

Para sa mga build ng socat na nagbibigay ng SOCKS4A, isang halimbawang kaayusan ay:

socat TCP4-LISTEN:9443,bind=127.0.0.1,reuseaddr,fork \
  SOCKS4A:127.0.0.1:service.example.net:443,socksport=1080

Ang SOCKS endpoint ay lokal na port 1080. Nakikinig ang adapter sa lokal na port 9443 at hinihiling sa endpoint na iyon ang service.example.net:443. Halimbawang halaga ang mga ito, hindi kumpletong deployment ng serbisyo.

May isang fixed na target ang adapter

Ang bawat tinatanggap na koneksyon sa TCP ay humihiling ng parehong serbisyo. Ang aplikasyong kumokonekta sa 9443 ay nagbibigay ng karaniwang protocol bytes nito; ang socat ang nagbibigay ng SOCKS4A negotiation. Ang pagpapadala ng bagong HTTP CONNECT request sa 9443 ay hindi pipili ng ibang destinasyon—ipapadala nito ang mga byte na iyon sa fixed na serbisyo.

Nagbibigay ang SOCKS4A ng hostname sa SOCKS endpoint para sa remote resolution. Naiiba ito sa anyo ng SOCKS4 na gumagamit ng address na pinili ng client. Ang piniling upstream—kasama ang pampublikong kandidato mula sa listahan ng SOCKS4 proxy—ay dapat sumuporta sa SOCKS4A hostname handling at sa kinakailangang authentication; ang halimbawang ito ay hindi resipe ng SOCKS5 password login.

Kumonekta nang lokal, kilalanin ang tunay na serbisyo

Ang pagpapalit ng HTTPS URL sa https://127.0.0.1:9443/ ay nagbabago ng hostname na maaaring gamitin ng client para sa TLS at HTTP. Ang sertipiko para sa service.example.net ay hindi magiging wastong sertipiko para sa loopback.

Kung sinusuportahan ng client ang hiwalay na connection routing, panatilihin ang pagkakakilanlan ng orihinal na URL. Maipapakita ng Curl ang pagkakaibang iyon:

curl --noproxy '*' \
  --connect-to service.example.net:443:127.0.0.1:9443 \
  https://service.example.net/

Pupunta ang socket sa lokal na adapter habang nananatiling service.example.net ang TLS verification at HTTP destinasyon. Kailangan ng ibang aplikasyon ang sarili nilang katumbas na suportadong kontrol; hindi lahat ng client ay nagbibigay nito.

Nililimitahan ng loopback bind ang network exposure, ngunit maaari pa ring maabot ito ng iba pang karapat-dapat na lokal na proseso. Panatilihing angkop ang tagal ng serbisyo at mga gumagamit. Panatilihin ang TLS verification sa halip na sugpuin ang error sa pagkakakilanlan na dulot ng loopback URL.

Kaugnay na mga artikulo