Проскальзывание подкастов через фильтр
Мое рабочее место фильтрует наш интернет-трафик, заставляя нас проходить через прокси, и, к сожалению, такие сайты, как IT Conversations и Libsyn, блокируются. Однако mp3-файлы в целом не фильтруются, если они поступают с сайтов, не включенных в черный список прокси.
Так есть ли где-нибудь веб-сайт, который позволит мне дать ему URL-адрес, а затем скачать MP3 по этому URL-адресу и отправить его мне, проскальзывая через прокси?
В качестве альтернативы, есть ли какой-нибудь другой простой способ получить файлы mp3 для этих подкастов с работы?
РЕДАКТИРОВАТЬ И ОБНОВИТЬ: Так как я несколько раз получил отрицательное голосование, возможно, я должен объяснить / обосновать мою ситуацию. Я работаю в государственном учреждении, и мы используем какое-то коммерческое программное обеспечение для фильтрации, которое очень агрессивно и чрезмерно усердно. Мой начальник в порядке, когда я слушаю подкасты на работе, и прекрасно обходится без фильтрации прокси, и не хочет иметь дело со значительной бюрократией (в конце концов, это правительство), связанной с тем, чтобы ИТ-отдел сделал исключение. для разговоров в области ИТ или Java Posse и т. д. Поэтому я считаю, что это важный и актуальный вопрос для программистов.
К сожалению, все прокси-сайты для обхода веб-фильтров также были заблокированы, поэтому мне, возможно, придется заранее скачать подкасты, которые мне нравятся дома, и затем принести их на работу. Если вы можете рассказать мне о малоизвестном сервисе, который я могу попробовать, который не может быть заблокирован, я был бы признателен.
5 ответов
Я закончил тем, что написал очень тупой и простой cgi-скрипт и разместил его на своем веб-сервере со скриптом на своем рабочем компьютере, чтобы получить его. Вот скрипт 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]) )
и вот клиентский скрипт, используемый для загрузки подкастов:
#!/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()
Почему бы не подписаться дома и скопировать свои любимые подкасты на свой mp3-плеер или USB-накопитель и просто взять его с собой на работу каждый день, а вечером возвращаться домой? Тогда вы можете слушать, и вы не обходите сеть своих клиентов.
Поскольку это материалы, связанные с работой, я бы порекомендовал открыть запрос о том, чтобы эти сайты не блокировались.
Есть много других подкастов Development/Dotnet/Technology, попробуйте один из них. для заблокированных сайтов попробуйте анонимный прокси-сайт, есть много там.