servidor ps4 proxys online lista gratis direccion configurar caracteristicas actualizados proxy https

ps4 - Conexiones HTTPS a través de servidores proxy



servidor proxy online (8)

Aquí está mi código completo de Java que admite solicitudes HTTP y HTTPS utilizando el proxy SOCKS.

import java.io.IOException; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.Socket; import java.nio.charset.StandardCharsets; import org.apache.http.HttpHost; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.protocol.HttpContext; import org.apache.http.ssl.SSLContexts; import org.apache.http.util.EntityUtils; import javax.net.ssl.SSLContext; /** * How to send a HTTP or HTTPS request via SOCKS proxy. */ public class ClientExecuteSOCKS { public static void main(String[] args) throws Exception { Registry<ConnectionSocketFactory> reg = RegistryBuilder.<ConnectionSocketFactory>create() .register("http", new MyHTTPConnectionSocketFactory()) .register("https", new MyHTTPSConnectionSocketFactory(SSLContexts.createSystemDefault ())) .build(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(reg); try (CloseableHttpClient httpclient = HttpClients.custom() .setConnectionManager(cm) .build()) { InetSocketAddress socksaddr = new InetSocketAddress("mysockshost", 1234); HttpClientContext context = HttpClientContext.create(); context.setAttribute("socks.address", socksaddr); HttpHost target = new HttpHost("www.example.com/", 80, "http"); HttpGet request = new HttpGet("/"); System.out.println("Executing request " + request + " to " + target + " via SOCKS " + "proxy " + socksaddr); try (CloseableHttpResponse response = httpclient.execute(target, request, context)) { System.out.println("----------------------------------------"); System.out.println(response.getStatusLine()); System.out.println(EntityUtils.toString(response.getEntity(), StandardCharsets .UTF_8)); } } } static class MyHTTPConnectionSocketFactory extends PlainConnectionSocketFactory { @Override public Socket createSocket(final HttpContext context) throws IOException { InetSocketAddress socksaddr = (InetSocketAddress) context.getAttribute("socks.address"); Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksaddr); return new Socket(proxy); } } static class MyHTTPSConnectionSocketFactory extends SSLConnectionSocketFactory { public MyHTTPSConnectionSocketFactory(final SSLContext sslContext) { super(sslContext); } @Override public Socket createSocket(final HttpContext context) throws IOException { InetSocketAddress socksaddr = (InetSocketAddress) context.getAttribute("socks.address"); Proxy proxy = new Proxy(Proxy.Type.SOCKS, socksaddr); return new Socket(proxy); } } }

¿Es posible tener conexiones HTTPS en servidores proxy? En caso afirmativo, ¿qué tipo de servidor proxy permite esto?

¿Duplicado con cómo usar el proxy de Socks 5 con Apache HTTP Client 4?


Había intentado

  • iniciar tunelización: ssh -N -D 12345 login@proxy_server
  • Configuración del proxy en la configuración de Firefox como localhost:12345
    • y marcando "usar este proxy para todos los protocolos"

pero esto dio como resultado el error "Conexión insegura" cada vez que intenté conectarme a un sitio web https.

La solución fue

  • "desmarcar" el "usar este proxy para todos los protocolos"
  • establecer el proxy "localhost: 12345" solo como un proxy SOCKS
  • y deje el proxy HTTP, el proxy SSL, el proxy FTP en blanco

Referencia de la documentación digital oceánica

Cómo enrutar el tráfico web de forma segura sin una VPN con un túnel SOCKS


La respuesta corta es: Es posible, y se puede hacer con un proxy HTTP especial o un proxy SOCKS.

En primer lugar, HTTPS utiliza SSL / TLS que, por diseño, garantiza la seguridad de extremo a extremo estableciendo un canal de comunicación seguro en lugar de uno inseguro. Si el proxy HTTP puede ver los contenidos, entonces se trata de un hombre a escondidas y esto frustra el objetivo de SSL / TLS. Entonces, debe haber algunos trucos que se juegan si queremos hacer un proxy a través de un proxy HTTP simple.

El truco es que convertimos un proxy HTTP en un proxy TCP con un comando especial llamado CONNECT . No todos los proxies HTTP admiten esta función, pero muchos lo hacen ahora. El proxy TCP no puede ver el contenido HTTP que se transfiere en texto claro, pero eso no afecta su capacidad de reenviar paquetes hacia adelante y hacia atrás. De esta manera, el cliente y el servidor pueden comunicarse entre sí con la ayuda del proxy. Esta es la forma segura de transmitir datos HTTPS.

También hay una manera insegura de hacerlo, en la que el proxy HTTP se convierte en un hombre en el medio. Recibe la conexión iniciada por el cliente y luego inicia otra conexión con el servidor real. En un SSL / TLS bien implementado, se notificará al cliente que el proxy no es el servidor real. Entonces, el cliente tiene que confiar en el proxy al ignorar la advertencia de que las cosas funcionen. Después de eso, el proxy simplemente descifra los datos de una conexión, los vuelve a cifrar y los envía a la otra.

Finalmente, podemos realizar un proxy HTTPS a través de un proxy SOCKS , porque el proxy SOCKS funciona en un nivel inferior. Puede pensar en un proxy SOCKS como un proxy TCP y UDP.


Puede lograr esto usando técnicas man-in-the-middle con generación SSL dinámica. Eche un vistazo a mitmproxy : es un proxy MITM basado en Python y compatible con SSL.


Si todavía le interesa, aquí hay una respuesta a una pregunta similar: Convertir HTTP Proxy a HTTPS Proxy en Twisted

Para responder la segunda parte de la pregunta:

En caso afirmativo, ¿qué tipo de servidor proxy permite esto?

De forma predeterminada, la mayoría de los servidores proxy se configurarán para permitir conexiones HTTPS solo al puerto 443, por lo que los URI de https con puertos personalizados no funcionarían. Esto es generalmente configurable, dependiendo del servidor proxy. Squid y TinyProxy apoyan esto, por ejemplo.


por lo que puedo recordar, necesitas usar una consulta HTTP CONNECT en el proxy. esto convertirá la conexión de solicitud a un túnel TCP / IP transparente.

entonces necesita saber si el servidor proxy que usa soporta este protocolo.


tunelización de HTTPS a través de SSH (versión de Linux):

1) turn off using 443 on localhost 2) start tunneling as root: ssh -N login@proxy_server -L 443:target_ip:443 3) adding 127.0.0.1 target_domain.com to /etc/hosts

todo lo que haces en localhost. entonces:

target_domain.com is accessible from localhost browser.


TLS / SSL (The S en HTTPS) garantiza que no hay intrusos entre usted y el servidor al que se está contactando, es decir, no hay proxies. Normalmente, usa CONNECT para abrir una conexión TCP a través del proxy. En este caso, el proxy no podrá almacenar en caché, leer o modificar la conexión y, por lo tanto, será inútil.

Si desea que el proxy pueda leer información, puede tomar el siguiente enfoque:

  1. El cliente inicia la sesión HTTPS
  2. Proxy intercepta de forma transparente la conexión y devuelve un certificado K a generado ad-hoc (posiblemente débil), firmado por una autoridad de certificación en la que el cliente confía incondicionalmente.
  3. Proxy inicia la sesión HTTPS al destino
  4. Proxy verifica la integridad del certificado SSL; muestra error si el certificado no es válido.
  5. Proxy transmite el contenido, lo descifra y vuelve a cifrarlo con K a
  6. El cliente muestra cosas

Un ejemplo es el bache SSL de Squid. Del mismo modo, eructo se puede configurar para hacer esto. Esto también ha sido utilizado en un contexto menos benigno por un ISP egipcio .

Tenga en cuenta que los sitios web y los navegadores modernos pueden emplear HPKP o pines de certificados incorporados que HPKP este enfoque.