代理服务器的正则表达式将edufilter添加到youtube请求

时间:2013-04-19 22:22:32

标签: regex firewall

我正在进行互联网过滤。这是我认为的一个有点专有的系统(Comsifter),但它基于Dan的Guardian,所以希望周围有一些人可以从我的问题的答案中受益。

我很确定我要使用的正则表达式URL修改规则应该与这些相似。格式可能与其他程序不同,但我认为它的作用是有意义的。它找到了左边,并用我相信的重定向替换了右边。

"https://www(\.google\..*)"->"https://nosslsearch\1"
"(http://[^/]*www\.google\..*\?.*)"->"\1&safe=vss"
"(http://[^/]*bing\..*\?.*)"->"\1&adlt=strict"
"(http://[^/]*yahoo\..*\?.*)"->"\1&vm=r"
"(http://[^/]*youtube\..*\?.*$)"->"\1&edufilter=wQL9mInebtaQ3b9HtRAOIA"
"(http://[^/]*youtube\.[^?]*$)"->"http://youtube.com/?edufilter=wQL9mInebtaQ3b9HtRAOIA"
"https://[^/]*youtube\..*"->"http://youtube.com/education"
然而,我不能让youtube的人工作,但我认为其余的都很好。我在youtube页面上有一个重定向循环,或者超时,或类似的东西,这取决于我尝试传入的URL。我也试过这段代码:

"(^http://[^/]*youtube\..*\?.*$)"->"\1&edufilter=wQL9mInebtaQ3b9HtRAOIA"
"(^http://[^/]*youtube\.[^?]*$)"->"\1?edufilter=wQL9mInebtaQ3b9HtRAOIA"
"^https://[^/]*youtube\..*"->"http://youtube.com"

有时似乎有效,但也不是很正确。 我敢打赌,如果我对第一行中的edufilter有所否定它可能有所帮助,但我无法弄清楚如何做到这一点。 任何有关这些规则的帮助,或更好的规则,更有效的规则等都将受到高度赞赏。 感谢。

1 个答案:

答案 0 :(得分:0)

这至少是部分答案。我现在只需要找出我的HTTPS线。

来自http://linuxcentre.net/wiki/index.php/Web_Content_Filtering

# Youtube (use our unique Youtube for schools code)
# remove any existing edufilter param
"(^http://[^/]*\.youtube\.[^?]*\?)(.+&)?(edufilter=[^&]*)"->"\1\2"
# add in our edufilter param
"(^http://[^/]*\.youtube\.[^?]*\?)"->"\1edufilter=YOUR CODE HERE&"
# or if no params add ours in
"(^http://[^/]*\.youtube\.[^?]*$)"->"\1/?edufilter=YOUR CODE HERE"

似乎可以很好地处理HTTP请求。