SOCKS ryšys gali nepavykti vietoje, kol tarpinis serveris dar neturi galimybės išspręsti paskirties adreso. Patikrinkite, ar jūsų kodas neišsprendė tikslo, kurdamas savo lizdo adresą.

Java SOCKS lizdui išsaugokite tikslinį pagrindinį vardą su neišspręstu paskirties adresu:

Proxy proxy = new Proxy(Proxy.Type.SOCKS,
    new InetSocketAddress("203.0.113.10", 1080));
Socket socket = new Socket(proxy);
socket.connect(InetSocketAddress.createUnresolved(
    "destination.example", 443), 5000);

Galutinis taškas ir pagrindinis vardas yra pavyzdiniai; naudokite savo SOCKS5 paslaugą arba kandidatą iš SOCKS5 tarpinių serverių sąrašo leidžiamiems viešosios paskirties bandymams. Svarbus skirtumas yra tarp tarpinio serverio išsprendimo, kad galėtumėte jį pasiekti, ir paskirties vardo išsaugojimo SOCKS mainams.

Prisijungus, HTTPS klientui vis tiek reikia TLS sesijos paskirties pagrindiniam vardui. TLS apvalkalas neturėtų naudoti tarpinio serverio pagrindinio vardo kaip kito šalies tapatybės.

Taip pat patikrinkite aukštesnio lygio kodą: biblioteka gali atlikti savo paiešką prieš iškviesdama jūsų jungtį. Pagrindinio vardo išsaugojimas šiame lizdo adrese negali atšaukti paieškos, atliktos kitur programoje.

Susiję straipsniai