문제

내 직장은 우리가 프록시를 통과하도록하여 인터넷 트래픽을 필터링하며 불행히도 IT 대화 및 libsyn과 같은 사이트가 차단됩니다. 그러나 MP3 파일은 프록시의 블랙리스트가 아닌 사이트에서 나오면 일반적으로 필터링되지 않습니다.

그렇다면 웹 사이트가 URL을 제공 한 다음 해당 URL에서 MP3를 다운로드하여 내 방식대로 보내서 프록시를 통해 미끄러질 수있는 웹 사이트가 있습니까?

또는 직장 에서이 팟 캐스트에 대한 MP3 파일을 얻을 수있는 다른 쉬운 방법이 있습니까?

편집 및 업데이트 : 몇 번 다운 투자를 받았기 때문에 상황을 설명/정당화해야 할 것입니다. 저는 정부 시설에서 일하는 계약자이며, 우리는 매우 공격적이고 과도한 상용 필터링 소프트웨어를 사용합니다. 내 상사는 직장에서 팟 캐스트를 듣고 괜찮고 프록시 필터링을 우회하는 데 괜찮으며, IT 부서가 예외를 수행하도록하는 것과 관련된 중요한 빨간 테이프 (결국 정부)를 다루고 싶지 않습니다. 대화 나 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()

다른 팁

당신은 ssh 아웃 할 수 있습니까? SSH 터널은 친구입니다!

집에서 구독하고 가장 좋아하는 팟 캐스트를 MP3 플레이어 나 USB 드라이브에 복사하고 저녁에 매일 집으로 돌아와야합니까? 그런 다음 듣고 고객 네트워크를 우회하지 않습니다.

다른 많은 개발/도트/기술 팟 캐스트가 있습니다. 저것들. 차단 된 사이트의 경우 익명 프록시 사이트를 사용하려면 많은 것이 있습니다.

이것은 작업 관련 자료이므로 해당 사이트를 차단하지 않는 요청을 열어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top