Pregunta

Mi lugar de trabajo filtra el tráfico de Internet al obligarnos a pasar por un proxy y, lamentablemente, sitios como Conversaciones de TI y Libsyn están bloqueados. Sin embargo, los archivos mp3 en general no se filtran, si provienen de sitios que no están en la lista negra del proxy.

Entonces, ¿hay un sitio web en algún lugar que me permita darle una URL y luego descargar el MP3 en esa URL y enviarlo a mi manera, por lo que se desliza por el proxy?

Alternativamente, ¿hay alguna otra manera fácil de obtener los archivos mp3 para estos podcasts del trabajo?

EDITAR y ACTUALIZAR: Desde que me han votado varias veces, quizás deba explicar / justificar mi situación. Soy un contratista que trabaja en una instalación del gobierno, y usamos un software de filtrado comercial que es muy agresivo y demasiado entusiasta. Mi jefe está de acuerdo con que yo escuche los podcasts en el trabajo y está de acuerdo con que no haya podido filtrar el proxy, y no quiere lidiar con la burocracia significativa (después de todo, es el gobierno) asociada con hacer que el departamento de TI haga una excepción para conversaciones de TI o Java Posse, etc. Por lo tanto, creo que esta es una pregunta importante y relevante para los programadores.

Lamentablemente, todos los sitios web de proxy para omitir los filtros web también se han bloqueado, por lo que es posible que tenga que descargar los podcasts que me gustan en casa con antelación y luego llevarlos al trabajo. Si puedo informarme sobre un servicio menos conocido que pueda probar que no esté bloqueado, lo apreciaría.

¿Fue útil?

Solución 5

Terminé escribiendo un cgi-script extremadamente tonto y simple y lo alojé en mi servidor web, con un script en la computadora de mi trabajo para acceder a él. Aquí está el script CGI:

#!/usr/local/bin/python

import cgitb; cgitb.enable()
import cgi
from urllib2 import urlopen

def tohex(data):
    return "".join(hex(ord(char))[2:].rjust(2,"0") for char in data)

def fromhex(encoded):
    data = ""
    while encoded:
        data += chr(int(encoded[:2], 16))
        encoded = encoded[2:]
    return data

if __name__=="__main__":
    print("Content-type: text/plain")
    print("")
    url = fromhex( cgi.FieldStorage()["target"].value )
    contents = urlopen(url).read()
    for i in range(len(contents)/40+1):
        print( tohex(contents[40*i:40*i+40]) )

y aquí está la secuencia de comandos del cliente utilizada para descargar los podcasts:

#!/usr/bin/env python2.6
import os
from sys import argv
from urllib2 import build_opener, ProxyHandler

if os.fork():
   exit()

def tohex(data):
   return "".join(hex(ord(char))[2:].rjust(2,"0") for char in data)

def fromhex(encoded):
   data = ""
   while encoded:
       data += chr(int(encoded[:2], 16))
       encoded = encoded[2:]
   return data

if __name__=="__main__":
   if len(argv) < 2:
       print("usage: %s URL [FILENAME]" % argv[0])
       quit()

   os.chdir("/home/courtwright/mp3s")
   url = "http://example.com/cgi-bin/hex.py?target=%s" % tohex(argv[1])
   fname = argv[2] if len(argv)>2 else argv[1].split("/")[-1]
   with open(fname, "wb") as dest:
       for line in build_opener(ProxyHandler({"http":"proxy.example.com:8080"})).open(url):
           dest.write( fromhex(line.strip()) )
           dest.flush()

Otros consejos

¿Puedes salir de SSH? ¡Los túneles SSH son tus amigos!

¿Por qué no suscribirse en casa y hacer que se copien sus podcasts favoritos en su reproductor de mp3 o en una unidad USB y simplemente llevarlo a trabajar con usted todos los días y regresar a casa por la noche? Entonces puede escuchar y no está eludiendo la red de sus clientes.

Hay muchos otros podcasts de Desarrollo / Dotnet / Tecnología, pruebe uno de esos . para los sitios bloqueados intente un sitio proxy anónimo, hay muchos por ahí.

Dado que se trata de material relacionado con el trabajo, recomendaría abrir una solicitud para que no se bloqueen los sitios en cuestión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top