通过过滤器过滤播客
时间:2020-03-06 14:41:17 来源:igfitidea点击:
我的工作场所通过迫使我们通过代理来过滤Internet流量,但不幸的是,诸如IT会话和Libsyn之类的网站都被阻止了。但是,如果mp3文件来自不在代理黑名单上的网站,则通常不会对其进行过滤。
那么,是否有某个网站可以让我给它提供一个URL,然后以该URL下载MP3并以我的方式发送它,从而使代理浏览?
另外,还有其他简便的方法可以让我从工作中获取这些播客的mp3文件吗?
编辑和更新:由于我已经投票数次,也许我应该解释/证明我的情况。我是在政府机构工作的承包商,我们使用一些非常激进和过分热情的商业过滤软件。我的老板很适合我听工作中的播客,也很适合我规避代理过滤,也不想处理使IT部门例外的繁琐工作(毕竟是政府)因此,我觉得这对程序员来说是一个重要且相关的问题。
不幸的是,所有绕过Web筛选器的代理网站也都被阻止,因此我可能必须提前下载自己喜欢的播客,然后将其投入工作。如果可以告诉我有关一个鲜为人知的服务,我可以尝试一下,但该服务可能不会被阻止,我将不胜感激。
解决方案
还有许多其他的Development / Dotnet / Technology播客,请尝试其中的一种。对于被阻止的站点,请尝试使用匿名代理站点,那里有很多站点。
由于这是与工作相关的材料,因此我建议我们提出一个请求,要求不要阻止有关站点。
我们可以SSH退出吗? SSH隧道是朋友!
为什么不在家订阅并将喜欢的播客复制到mp3播放器或者USB驱动器,然后每天与之一起工作并在晚上回到家呢?然后,我们可以收听,并且我们不会绕过客户网络。
最后,我编写了一个非常简单的cgi脚本,并将其托管在Web服务器上,并在工作计算机上托管了一个脚本来使用它。这是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()