¿Proxy http simple a través de https?

¿Proxy http simple a través de https?

No tengo mucha experiencia en temas relacionados con redes, pero últimamente tengo que profundizar en ello, porque el nivel de censura en mi país está creciendo rápidamente. Estoy alojando un VPS en otro país en el que configuré los servicios OpenVPN y Shadowsocks. Es una gran herramienta para sortear la censura local y tener acceso a recursos prohibidos, pero ahora necesito algo más complicado. Recientemente, mi ISP ha bloqueado algunos rastreadores de torrents en los que planto cientos de torrents. Ahora mi cliente de torrent no puede anunciar a esos rastreadores, por lo que solo puedo sembrar con DHT. Lo que quiero es usar algunas soluciones para conectarme a los rastreadores bloqueados, pero no quiero envolver todo el tráfico de torrent en VPN/Proxy, quiero poder usar algún tipo de proxy solo para hacer anuncios de rastreadores y luego semilla con mi real IP:Port. Intenté configurar mi cliente Deluge para usar Socks5-proxy (Shadowsocks) solo para conexiones de rastreadores, pero no funciona como se esperaba, porque los rastreadores obtienen la IP de mi VPS, no la real. Luego encontré un método de trabajo: configuré Nginx en modo proxy_pass en mi VPS de esta manera:

http {
    types_hash_max_size 4096;
    server {
        listen 80 default_server;
        access_log off;
        return 444;
    }
    server {
        listen 80;
        server_name <trackers_list>;
        allow <my_home_ip>;
        deny  all;
        access_log off;
        location / {
            proxy_pass http://$http_host;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            resolver 127.0.0.1;
        }
    }
}

En la configuración de mi enrutador, reenvié todas las solicitudes a los rastreadores bloqueados al puerto 80 de mi VPS remoto. Ahora funciona bien: puedo anunciar a los rastreadores a través de proxy, pero los rastreadores luego dan mi IP real a mis pares con la ayuda del X-Forwarded-Forencabezado, y DHT no se interrumpe. Pero el problema es que se parece a esto:


Me -> http -> ISP -> http -> Nginx -> http -> tracker

Debido a que los rastreadores utilizan un protocolo http simple, todas las solicitudes no están cifradas. Por lo tanto, el ISP, si así lo desea, aún puede ver el destino real de las solicitudes y bloquearlas con algo como DPI. Lo que quiero es que quede así:


Me -> https -> ISP -> https -> Nginx -> http -> tracker

Quiero que Nginx envíe solicitudes http simples a los rastreadores con la adición de X-Forwarded-Forencabezados, pero use cifrado entre mi máquina doméstica y ella misma. Intenté ingenuamente decirle a Nginx que use mi certificado SSL autofirmado en el puerto 80, pero, obviamente, aparece el error 400 de esa manera: The plain HTTP request was sent to HTTPS port.

¿Es posible lograrlo? Si no es con Nginx, tal vez, ¿con alguna otra herramienta?

Respuesta1

No sé cómo resolver esto con un proxy inverso o similar, pero podrías reenviar el puerto ssh. Entonces mantiene una conexión ssh a su vps y configura ssh para reenviar un puerto local al puerto del rastreador. Luego, configura su aplicación de torrent para usar la dirección de host local: puerto en lugar de la dirección real del rastreador.

Me gusta y luego configura el rastreador como en la aplicación torrent. O cualquier otro puerto local que desees.ssh –L 8080:the.tracker.ip:trackerport [email protected]http://localhost:8080

Dependiendo de su sistema operativo, puede utilizar herramientas como PuTTY ohttps://github.com/daradib/sidedooreste último mantiene el túnel abierto y se reconecta automáticamente en caso de interrupción. El túnel ssh cifrará todas las comunicaciones que se realicen a través de él.

Editar: eso funciona solo si la aplicación de torrent determina la dirección IP pública de alguna manera y no cuando el rastreador simplemente usa la dirección IP de donde parece provenir la conexión.

información relacionada