2008-09-24 3 views
-1

Мое рабочее место фильтрует наш интернет-трафик, заставляя нас проходить через прокси-сервер, и, к сожалению, сайты, такие как IT-разговоры и Libsyn, блокируются. Однако mp3-файлы вообще не фильтруются, если они поступают с сайтов, не входящих в черный список прокси.Проскальзывание подкастов через фильтр

Итак, есть ли где-нибудь сайт, который позволит мне указать URL-адрес, а затем загрузить MP3 по этому URL-адресу и отправить его по-своему, таким образом проскальзывая через прокси-сервер?

В качестве альтернативы, есть ли другой простой способ получить файлы mp3 для этих подкастов на работе?

РЕДАКТИРОВАТЬ И ОБНОВЛЕНИЕ: Поскольку я несколько раз сокращался, возможно, мне следует объяснить/оправдать мою ситуацию. Я подрядчик, работающий в правительственном учреждении, и мы используем коммерческое программное обеспечение для фильтрации, которое является очень агрессивным и чрезмерно усердным. Мой босс в порядке со мной, слушая подкасты на работе, и мне хорошо обойти фильтрацию прокси-сервера, и он не хочет иметь дело со значительной бюрократией (это все-таки правительство), связанное с тем, чтобы ИТ-отдел сделал исключение для IT-разговоров или Java Posse и т. д. Поэтому я считаю, что это важный и актуальный вопрос для программистов.

К сожалению, все прокси-сайты для обхода веб-фильтров также заблокированы, поэтому мне, возможно, придется загружать подкасты, которые мне нравятся дома заранее, а затем приводить их в действие. Если я могу рассказать о менее известной службе, я могу попробовать, которая не может быть заблокирована, я был бы признателен.

ответ

0

Я закончил тем, что написал очень простой и простой 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() 
1

Есть много других подкастов Development/Dotnet/Technology, попробуйте один из those. для заблокированных сайтов попробуйте анонимный прокси-сайт, их там много.

1

Поскольку это материал, связанный с работой, я бы рекомендовал открыть запрос о том, что указанные сайты не будут заблокированы.

2

Можете ли вы SSH? Тоннели SSH - ваш друг!

+0

К сожалению нет. Единственное, что разрешено, это HTTP, HTTPS и FTP, и даже FTP фильтруется, так что мы можем загружать только файлы, но ничего не загружать. – 2008-09-25 15:57:22

2

Почему бы не подписаться у себя дома и не скопировать ваши любимые подкасты на ваш mp3-плеер или USB-накопитель и просто взять его на работу с вами каждый день и обратно домой вечером? Затем вы можете слушать и не обходить сеть своих клиентов.

Смежные вопросы